-
Notifications
You must be signed in to change notification settings - Fork 51
Releasing
-
Check
.github/workflows
,.travis.yml
,requirements.txt
andsetup.py
and see if anything needs updating. -
Run the full test suite one final time!
pytest
- Build the docs locally and inspect the output.
cd docs && make html
-
Complete the release notes in
CHANGELOG.md
-
Bump the version number in
_version.py
-
Commit and push to master. Wait for CI to give it the all-clear.
git commit -m 'Release v0.x.y'
git push origin master
-
Draft and issue a new release on Github. Copy the new release notes if you like. Name the release as you would label the tag
v0.x.y
. Releasing will tag the latest commit and will trigger the stable docs build and the PyPI publishing action. -
Make sure PyPI publishing worked. Be careful, you can't take it back!
-
Fetch the tag you just made.
git fetch --tags
-
Update the bioconda recipe here:
-
Create a new directory named as the previous version and copy the latest meta.yaml there.
-
Edit the meta.yaml in the top level of cooltools directory: update the version on top, ensure the dependencies are correct for the new release, ensure build number is set to 0, and update the sha256 sum using one from pypi (https://pypi.org/project/cooltools/ - Download files - View hashes).
-
Make a PR to
bioconda-recipes
and hope the tests pass (takes a very long time to run). Fix any issues that come up and push to the same PR. -
When tests pass, add a comment to the PR with text
@BiocondaBot please add label
to request a merge from one of the maintainers. (Can ask Joachim Wolff on Slack to do it to speed it up) -
Once the PR is merged, you are done, and the new release should appear on bioconda in 1-2 hours.
Note on version numbering:
We follow a rough approximation of semantic versioning. Only major releases (0.X.0) include breaking changes. Minor releases (0.X.Y) are for bug fixes and backwards compatible new features, but if a sufficient number of new features have arrived we will issue a major release even if there are no compatibility breaks.