-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Continuous deployment for desktop app #3199
Conversation
Note that this is currently broken on GitHub, ref electron-userland/electron-builder#2890
|
Thank you so much for digging in here! Small favor: could you add these instructions to the docs? |
|
@mxstbr afaik this is not working: The CI pipeline never runs |
|
I'm not sure if we want to disable that 'only build pull requests' option though, otherwise our ci queue will blow up - right? |
|
I am going to try and run that job manually |
|
Ahhh damn fuck. Why does the CD for alpha work then? |
|
Not sure :/ Anyways, I am going to do a manual release to at least test the auto updater! |
|
Just needed to set |
|
Release published: https://github.com/withspectrum/spectrum/releases/tag/v1.0.0-beta.2 - we'll see if the autoupdater works! |
|
That release is published - I closed and re-started the Spectrum app and it did not trigger an autoupdate (or at least it didn't detect one from the releases) |
|
|
|
Hmm I haven't gotten an auto update notification either 😕 |
|
Aha! This is what I found in the CircleCI docs, which is why the alpha CD works:
You know what we should do? This is a pretty simple fix: just do the desktop CD from the |
As @brianlovin noticed in #3199, the CD for the desktop app wasn't working because CircleCI only runs builds for commits that are associated with a PR. While we could set CircleCI to run builds for all branches, that's a very suboptimal solution as it would run a ton of unnecessary builds. I came to wondering, why does the CD for alpha work if it doesn't build branches? Hidden in the CircleCI docs I found this snippet: > Note: For your default branch, we will always build all commits. Which explains why alpha CD works, but production CD doesn't. This patch is a very simple solution to this problem: we run desktop CD on the alpha branch. That is fine because the desktop CD only creates a draft GitHub release and we have to manually publish that release for anybody to get the update, so it doesn't matter if we CD from alpha or production!


Status
This sets up continuous deployment for the desktop app. The way this works is as follows:
alphatoproductionThis is what it'll look like once published: https://github.com/withspectrum/spectrum/releases/tag/v1.0.0-beta.1 As soon as it's published, the app will prompt existing users to upgrade to the newest version and download and install it for them.