2.0.0
tomitm opened this issue Β· comments
Todo:
- Figure out how the GitHub auto release upload works
- Test automatic updates between beta.1 to beta.2
- Verify code signing
- Update the changelog
Issues blocking release:
Couple of notes on the GitHub release mechanism:
- It'll create a
draft
release when it detects a new version change- The draft release is private to maintainers until we publish it
- The publish logging is confusing, it says it's going to upload a release, then says it didn't because the release type mismatched (
prerelease
already exists but this is adraft
) - when really, it wouldn't have uploaded anyway because it's not set toalways
, meaning it only actually uploads when a commit is tagged.- Things also get a bit confusing under the releases tab, as GitHub shows our tag but it also shows a separate draft release that the build created. This draft release is private to maintainers until we hit publish.
npm version
is awesome, as it'll updatepackage[-lock].json
, create a commit and tag all in one go.
- If someone downloads a alpha/beta release, they'll automatically update to prereleases. Otherwise, by default, auto updates are only to stable updates (
v2.0.0
), until we expose a prerelease opt-in setting
Couple of issues with update to beta 2:
- Found the change for beta.2 (the version number in the footer) in beta.1 somehow.
- Build logs don't show that change was uploaded to beta.2 (draft/prerelease mismatch) and GitHub's API timestamps don't show it would've been updated. Weird.
- Was able to reproduce on a clean machine, so it's nothing to do with the dev env.
- Draft release gets built on tag, but autoupdate detects the tag as a release, and it fails because latest.yml isn't found. The draft release is still private at this point, which includes latest.yml.
- Need to change the release to publish immediately, or change how the draft release gets created.
- Update results:
- Linux: Partial success.
- There was an error in Sentry about
app-update.yml
not being found, not sure if it's related, but @mitchhentges reported that the update was applied. - Clicking "restart to update" just quits the app but doesn't relaunch afterwards. Manually launching uses the new version of James, fortunately
- There was an error in Sentry about
- macOS: Partial success.
- Errors with "Could not get code signature for running application" but restarting does successfully update. #357
- Windows: Partial success.
Shows an update is available, butdownload-progress
event never emits, even though the main process logs "Downloading update from [filename]". No error or anything. Restarts to same version.- After downgrading
electron-updater
, updates almost work as expected. - Like Linux, just have a problem with restart to update - it quits but doesn't relaunch afterwards, but it does upgrade to the new version at least.
- Linux: Partial success.
Everything for 2.0.0
looks pretty good, and there's a 2.1 milestone set up for rounding off the edges of the new auto-update system, though it is fully functional in its current state today.
I think it's time to pull the trigger for the release.
@tomitm and @nerdbeere, and I get your guys π? At that point, I'll update the changelog and perform the release
Yeah, we've been holding off on releasing this long enough. π
We've confirmed auto-update does work, even though it's a bit rough around the corners, it's close enough that we can release and iterate on. Just needs minor fixes, not much to worry about.
π
Do it π
Awesome, I'll do the release tomorrow evening :)
Thanks guys! π― π