The Exercism CLI uses GoReleaser to automate the release process.
- Install GoReleaser
- Setup GitHub token
- Have a gpg key installed on your machine - it is used for signing the artifacts
- Create a branch for the new version
- Bump the
Version
constant incmd/version.go
- Update the
CHANGELOG.md
file to include a section for the new version and its changes. Hint: you can view changes using the compare view: https://github.com/exercism/cli/compare/$PREVIOUS_RELEASE...main. - Commit the updated files
- Create a PR
Note: It's useful to add the version to the commit message when you bump it: e.g. Bump version to v2.3.4
.
Once the version bump PR has been merged, run the following command to cut a release:
GPG_FINGERPRINT="<THE_GPG_FINGERPRINT>" ./bin/release.sh
Once the ./bin/release.sh
command finishes, the release workflow will automatically run.
This workflow will create a draft release at https://github.com/exercism/cli/releases/tag/vX.Y.Z.
Once created, go that page to update the release description to:
To install, follow the interactive installation instructions at https://exercism.org/cli-walkthrough
---
[modify the generated release-notes to describe changes in this release]
Lastly, test and then publish the draft.
Homebrew will automatically bump the version, no manual action is required.
If there are any significant changes, we should describe them on exercism.org/cli.
The codebase lives at exercism/website-copy in pages/cli.md
.