We have three channels to which we can release: production
, beta
, and test
.
-
production
is the channel from which the general public downloads and receives updates. It should be stable and polished. -
beta
is released more often thanproduction
. It may be buggy and unpolished. -
test
is unlike the other two. It does not receive updates. Each test release is locked in time. It's used entirely for providing test releases.
- Ensure the release notes for
$version
inchangelog.json
are up-to-date. - Bump
version
inapp/package.json
to$version
. - Commit & push the changes.
- Run
.release! desktop/YOUR_BRANCH to {production|beta|test}
.
- We're using
.release
with a bang so that we don't have to wait for any current CI on the branch to finish. This might feel a little wrong, but it's OK since making the release itself will also run CI.
- If you're releasing a production update, release a beta update for the next version too, so that beta users are on the latest release.
If an error occurs during the release process, a needle will be reported to Central's haystack.