- Update RELEASE_NOTES.md.
- Make sure that the Git working copy is not dirty, ie. that
git diff --statdoes not output anything. - Tag the release with
git tag -a -s VERSION, whereVERSIONis 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, whereVERSIONis 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.