We keep a changelog, powered by GitHub Changelog Generator.
When ready to tag a release, make a new branch from the master
branch for the changelog entries:
- Generate a
repo
scope token for use with the changelog generator: https://github.com/settings/tokens/new?description=GitHub%20Changelog%20Generator%20token - Export it in your environment:
export CHANGELOG_GITHUB_TOKEN=...
- Run the following docker command to generate the changelog, replacing
<nextReleaseTag>
with the version number you wish to release:
docker run -e CHANGELOG_GITHUB_TOKEN="$CHANGELOG_GITHUB_TOKEN" -it --rm -v "$(pwd)":/usr/local/src/your-app -v "$(pwd)/github-changelog-http-cache":/tmp/github-changelog-http-cache githubchangeloggenerator/github-changelog-generator --user inviqa --project kafka-consumer-go --exclude-labels "duplicate,question,invalid,wontfix,skip-changelog" --release-branch master --future-release <nextReleaseTag>
- Examine the generated
CHANGELOG.md
, verify the changes make sense. - Commit the resulting
CHANGELOG.md
, push and raise a pull request with the labelskip-changelog
. - Once merged, continue with the release process below.
Once the CHANGELOG.md
is in the branch you wish to release:
- Tag the release version with
git tag <releaseVersion>
- Push the tag to the repository:
git push origin <releaseVersion>
- Create a new release using the tag name and the contents of the changelog for that version.