-
-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support channels for Github provider #1722
Comments
Ok so it seems that as of now, Does this mean channels are simply not supported for the Github provider at this point? Is this an oversight or intentional? Seems like it would be trivial to implement this? The whole channel implementation seems kind of broken imo. Why do we need separate channel files in the first place? Or why separate files for all platforms for that matter? Wouldn't it be easier to simply have one alpha:
version: 2.0.0-alpha.1
releaseDate: '2017-06-21T20:25:04.622Z'
win:
githubArtifactName: padlock-setup-2.0.0-alpha.1.exe
path: Padlock Setup 2.0.0-alpha.1.exe
sha512: ...
sha2: ...
mac:
githubArtifactName: padlock-2.0.0-alpha.1-mac.zip
path: Padlock-2.0.0-alpha.1-mac.zip
sha512: ...
beta: ...
stable: ... |
Another problem is that for the generic provider, information about previous releases is lost when - version: 2.0.0-alpha.1
releaseDate: ...
win:
githubArtifactName: padlock-setup-2.0.0-alpha.1.exe
path: Padlock Setup 2.0.0-alpha.1.exe
sha512: ...
sha2: ...
mac: ...
- version: 1.5.0
releaseDate: ...
win:
githubArtifactName: padlock-setup-1.5.0.exe
path: Padlock Setup 1.5.0.exe
sha512: ...
sha2: ...
mac: ... It is then trivial for the client to download the
I like option 2, because we could use the same logic to extract all necessary release information directly from a github repo. That would mean that no |
GitHub doesn't support channels because GitHub releases has concept prerelease. You can set allowPrerelease (https://github.com/electron-userland/electron-builder/wiki/Auto-Update#AppUpdater-allowPrerelease) and it will act as a beta channel. We don't use monolithic releases file, because it simplifies building on different CI and machines. |
You should build on CI servers because of security reasons. And CI server cannot commit files. |
Github doesn't report checksums for files, so, explicit meta info file is required. |
But I think we can agree that github prereleases don't offer all the functionality that channels do? What if I want to have an alpha channel in addition to a beta channel? Is there any reason we can't enable proper channel support for github as well? Seems like it would require changing only a couple of lines of code...
Can you elaborate on that? Not sure how building on a CI server is more secure that building locally.
Like I said, git notes could be used for that.
Ok, lets forget about a 'monolithic' releases file, although I do think it would be the cleaner solution. Can we at least add proper channel support for the github provider, please? I'd be happy to tackle it myself if you're willing to accept a PR for this. |
In general, yes, can be supported. Do you mean that you release alpha version release on Github?
VM is clean and guaranteed to be not infected. No side effects because of local machine configuration.
👍 PR will be accepted (that's why this issue was not closed). |
Moved to backlog to keep issue list clear. |
@develar Got it. Might be a little while before I can tackle this. |
When using the github provider, electron builder always generates
latest.yml
andlatest-mac.yml
, even for alpha/beta releases.I dug into the source code and the problem seems to be this part: https://github.com/electron-userland/electron-builder/blob/master/packages/electron-builder/src/publish/PublishManager.ts#L476
The channel is correctly extracted from the file name but not assigned to the options object for any provider other than
generic
. However, looking at the source code ofelectron-updater
it looks like the Github provider should support channels as well?The text was updated successfully, but these errors were encountered: