Releasing Janis¶
Releasing janis is straight forward. Decide on a logical set of changes to include, this will
Versioning¶
Janis follows the SemVer
versioning system:
- MAJOR version when you make incompatible API changes,
- MINOR version when you add functionality in a backwards-compatible manner, and
- PATCH version when you make backwards-compatible bug fixes.
Before a new release, you should update the version tag in janis/__init__.py
so the produced python package is
Tagging and Building¶
Before you tag, make sure you’ve incremented the__version__
flag per the previous section.
You can tag your commit for release by running the following bash command:
git commit -m "Tag for v0.x.x release"
git tag -a "v0.x.x" -m "Tag message"
git push origin v0.x.x
The final statement will push the tag to Github, where Travis will automatically pick up commit, build and deploy.
You can check the build status and history ontravisci/janis
. You can also checkPyPi
to confirm the build has been released.
Failing builds for tags¶
If your tag fails to build, you’ll need to:
- Delete the tag from Github: https://github.com/PMCC-BioinformaticsCore/janis/releases/tag/vX.X.X
- Delete the tag from your local:
git tag -d 'vX.X.X'
- Retag and push per Tagging and Building
Github release notes¶
You should update the release notes in the CHANGELOG.md
where you’ll need to create a ##
section with three bits of information:
- Release commit hash (eg:
bc7f8ad
) - Github link to commits comparison:
https://github.com/PMCC-BioinformaticsCore/janis/compare/$prev...$new
- Where
$prev
and$new
is your old, and release commit hash respectively.
- Where
- Release notes: a summary of changes since the last release