- Update RELEASE_NOTES.md.
- Make sure that the Git working copy is not dirty, ie. that
git diff --stat
does not output anything. - Tag the release with
git tag -a -s VERSION
, whereVERSION
is of the formvX.X.X
. In the tag commit message, include the release notes for that version. - Push the tag to GitHub with
git push --tags
. - Build the standalone archives for macOS and Linux with
./bin/package-standalone.sh
. - Create a new release on GitHub, add the release notes for that version and attach the two archives. Make sure to not rename the archives.
- Release the Docker image with
./bin/docker-release.sh VERSION
, whereVERSION
is of the formX.X.X
(without a leadingv
).
sbt-git
is used to automatically create a unique version.
In short, if the current commit is tagged, then the tag will be used.
Otherwise, the git hash of the last commit is appended to the set project's version.
If the working copy is "dirty", then -SNAPSHOT
will be added to the version string.
The advantage of doing this is that you have a stable version number for each commit, making it trivial for people to correlate a release with a commit in the project.