Releasing¶
Before releasing, check:
https://github.com/khaeru/genno/actions?query=workflow:pytest+branch:master to ensure that the push and scheduled builds are passing.
https://readthedocs.org/projects/genno/builds/ to ensure that the docs build is passing.
Address any failures before releasing.
Edit
doc/whatsnew.rst
. Comment the heading “Next release”, then insert another heading below it, at the same level, with the version number and date. Make a commit with a message like “Mark vX.Y.Z in whatsnew.rst”.Tag the version, e.g.:
$ git tag v1.2.3b4
Test-build and check the source and binary packages:
$ rm -rf build dist $ python setup.py bdist_wheel sdist $ twine check dist/*
Address any warnings or errors that appear. If needed, make a new commit and go back to step (2).
Upload the packages to the TEST instance of PyPI:
$ twine upload -r testpypi dist/*
Check at https://test.pypi.org/project/genno/ that:
The package can be downloaded, installed and run.
The README is rendered correctly.
Links to the documentation go to the correct version.
If not, modify the code and go back to step (2).
Upload to PyPI:
$ twine upload dist/*
Push the commits and tag to GitHub:
$ git push --tags
Visit https://github.com/khaeru/genno/releases and mark the new release using the pushed tag.