Automated Releases
- Goal
-
Every Git tag produces trustworthy artifacts without a maintainer laptop build.
- Why
Minimal GitHub Actions shape
-
Workflow triggers on
pushtagsv* -
Job matrix builds each OS/arch you support
-
Inject version from the tag into the build
-
Run tests before upload
-
Sign when secrets are present (skip signing on forks)
-
Upload artifacts to the GitHub Release for that tag
-
Optionally dispatch winget/Homebrew/registry publish jobs
Stamp build info
Pass GITHUB_SHA, tag name, and channel into the compiler or a generated file so About/--version match the release.
Attachments
-
Installers / archives
-
SHA256SUMS -
SBOM if you generate one
-
Release notes body from changelog