Release HOWTO

Test

Tests can be run via pytest:

$ pip install -r extra/requirements-test.txt
$ pytest -v tests

When preparing a release it is important to check that jnrbase works with all supported Python versions, and that the documentation for executing them is correct.

Prepare release

With the tests passing, do the following steps:

  • Update the version data in jnrbase/_version.py

  • Update NEWS.rst with any user visible changes

  • Commit the release notes and version changes

  • Create a signed tag for the release

  • Push the changes — including the new tag — to the GitHub repository

  • Create a new release on GitHub

Update PyPI

Create and upload the new release tarballs to PyPI using twine:

$ ./setup.py sdist bdist_wheel
$ gpg --detach-sign --armour dist/jnrbase-${version}.tar.gz
$ gpg --detach-sign --armour dist/jnrbase-${version}-*.whl
$ twine upload dist/jnrbase-${version}*

Fetch the uploaded tarballs, and check for errors.

You should also test installation from PyPI, to check the experience jnrbase’s end users will have.