Documentation for Auto Update and Publishing Artifacts need clarification
See original GitHub issue- Version: 10.6.1
- Target: Mac OS/X
Numerous aspects of the documentation on auto update and publishing artifacts omit many essential details. I’m sure it’s the case that many of these details are “implicit mental context” that is obvious to the developers of electron-builder and those who have already used it extensively, but they make it difficult or impossible for a newcomer to understand how the process works and what’s needed.
Auto Update Page
Example Project
To begin with: The Auto Update Page has a link to an Example Project.
I’ve cloned this example project and read the source for AppUpdater.ts
and looked through all of the config files. Where is the configuration that determines the location where the app updater will fetch new releases? Nothing seemed obvious. Is it perhaps just pulling release artifacts from github
directly as a default, based on the repository
of package.json
? It would be really helpful if there was a sentence or two on the Auto Update
page clarifying this. If it’s configured explicitly and I’ve overlooked it, would be helpful to have a link to the config file; if it’s all done by defaults, it would be helpful to clarify that and mention where to place config settings to override those defaults.
Configuring Alternative Provider in Quick Setup Guide
Step 4 of the Quick Setup Guide mentions that one should not explicitly call setFeedURL
, and provides a short snippet showing how one can specify an explicit “provider”:
{
provider: "bintray",
owner: "actperepo",
package: "no-versions"
}
but where, exactly, does one place this configuration snippet? In what configuration file, and under what key? It’s not clear.
Publishing Artifacts Page
This page mentions that Travis and AppVeyor are both supported. In the text that follows, are the configuration details and “CLI flags” referring to configuration and flags for these CI tools, or for electron-builder itself?
GH_TOKEN
This sentence:
electron-builder allows you to just add GH_TOKEN environment variable and that’s all.
could use some clarification. What is GH_TOKEN
, what is its format, and what is the effect of setting this? In a typical build setup (or the example project), where would it be set?
CLI Flags
Are these flags command line flags that should be passed to electron-builder
(rather than to some other utility related to the build process or use of CI server)? I assume so, but it would be helpful to clarify.
Are these CLI Flags only relevant when using a CI server, or are they also relevant when building and publishing a release manually? I suspect they are useful in both cases, but it would be good to clarify.
Worked Example
It would be tremendously helpful to have a worked example of the exact sequence of shell commands to be run after making a change to the source code to build and publish a new release.
Contribution and Thanks
I know I’m asking a lot with the above.
I am happy to contribute text or editing to help clarify any of the above if someone will answer the above questions and walk me through the process. I will also certainly make a donation to this great project to increase priority of this issue. Thanks for the great work developing electron-builder
and thanks in advance for any help answering these questions.
Issue Analytics
- State:
- Created 7 years ago
- Reactions:12
- Comments:26 (19 by maintainers)
Top GitHub Comments
@antonycourtney I have successfully implemented auto-updates using electron-updater. You can check it out here - Auto update function - https://github.com/zulip/zulip-electron/blob/master/app/main/autoupdater.js Package.json - https://github.com/zulip/zulip-electron/blob/master/package.json
Another example - https://github.com/iffy/electron-updater-example
GH Token
https://help.github.com/articles/creating-an-access-token-for-command-line-use/
How to generate it:
You can generate a GitHub access token by going to https://github.com/settings/tokens/new. The access token should have the
repo
scope/permission. Once you have the token, assign it to an environment variable (on macOS/Linux). Type this in your terminal or add it to your ~/.bashrcHope it helps 😄
CLI flags:
added:
so, should be clear now.