The processs of creating a release is as follows.
Releases are made on an ad-hoc basis currently, rather than on an elapsed time basis. Typically once there are significant changes.
- Pull Requests should not change the version number in
project.clj
. - Each Pull Request (PR) should update the
CHANGELOG.md
file as appropriate. - In the normal state of this repository, the version in
project.clj
should be of the formx.y.z-SNAPSHOT
, denoting that the repo is in between versions.
- Your local repo should be clean.
- All tests pass.
Note this uses 0.1.12
as an example new release number.
- Create a release branch.
git checkout master
git pull
git checkout -b release-0.1.12
git push -u origin release-0.1.12
- Update CHANGELOG.md
- Write the release highlights in the
Unreleased
section. - Add a section for the new release just under the
Unreleased
section. - Update the links section at the end of the file to include links for the new release and update the link for the Unreleased version.
- Update the version in project.clj.
- Update any version numbers in README.md.
- Push changes to GitHub.
git add .
git commit -m "Prepare release 0.1.12"
git push origin
- Create a pull request.
- Merge the pull request into the primary repo on GitHub.
- Tag the new commit on GitHub with the new release number (e.g.,
0.1.12
). - Publish the release to Clojars.
- Update the version in project.clj to next snapshot
version (e.g.,
0.1.13-SNAPSHOT
).