We use goreleaser for automating releases. To cut a new release, create a commit that:
- Copy the entries in CHANGELOG_PENDING into CHANGELOG. CHANGELOG_PENDING is used to generate the release notes. After releasing, the following commit can clear the changes from pending.
- Bumps the version in the .version file, which is used to stamp the version into the binary.
- Tag the commit with a version tag in the format vX.X.X, to trigger the release automation.