Releasing¶
Releases are driven entirely by git tags. Pushing a v* tag kicks off a workflow that
builds installers on Windows, macOS and Linux runners and attaches them to the GitHub
release for that tag.
Cut a release¶
That's it. The release workflow then:
- Builds installers on each platform's runner.
- Creates the GitHub release for the tag if it doesn't exist yet.
- Attaches the
.exe,.dmg,.AppImageand.debartifacts to it. - Triggers a docs deploy, which republishes
latest.jsonon GitHub Pages from the latest release. This powers the in-app update check.
Releasing from the GitHub UI
Creating a GitHub release with a new v* tag also pushes that tag — which triggers
the same workflow. Either path works.
Versioning¶
The version in the root package.json should match the tag you're cutting. Bump it in a
commit before tagging so the in-app version and the release line up.
See also¶
- Building from source — the build commands the workflow runs
- Desktop app — what users download