Releases are automated via GoReleaser and GitHub Actions.
To cut a release:
- Ensure
mainis clean and all tests pass (make test). - Push a version tag:
git tag v1.2.3 git push origin v1.2.3 - The release workflow triggers automatically, builds
binaries for all platforms, and publishes a GitHub Release with archives and
checksums.txt.
Prerelease tags (e.g. v1.2.3-rc.1, v1.2.3-beta) are detected automatically
and marked as pre-releases on GitHub.
To build all release artifacts locally without pushing a tag:
make snapshot
Output is written to dist/. Snapshot builds are not published anywhere.
The changelog groups commits by prefix:
| Prefix | Section |
|---|---|
feat |
Features |
fix |
Bug Fixes |
| other | Other |