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 versionah 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
versionah/_version.py
Update
NEWS.rst
with any user visible changesCommit 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/versionah-${version}.tar.gz
$ gpg --detach-sign --armour dist/versionah-${version}-*.whl
$ twine upload dist/versionah-${version}*
Fetch the uploaded tarballs, and check for errors.
You should also test installation from PyPI, to check the experience versionah’s end users will have.