Release process
Preparation
Version number and release branch
Determine the appropriate version number for this release, according to Release versioning.
Update the
version.txt
file to contain the new version number.
Tickets
Update ticket status for this release, where relevant: https://github.com/dictation-toolbox/dragonfly/issues
Release files
Verify that
CHANGELOG.rst
includes the change log for this release.Verify that
AUTHORS.txt
is up to date with recent contributors.Verify that
setup.py
specifies all required dependencies, including their versions, e.g. with theinstall_requires
andtest_requires
parameters.Verify that
documentation/requirements.txt
specifies all required dependencies for building the documentation.Verify that
MANIFEST.in
includes all necessary data files.
Draft announcement
Write a draft announcement text to send to the mailing list after the release process has been completed.
Build and test
Test building of documentation
Build distributions
Test installation of distributions
Test on PyPI test server (test.pypi.org)
Upload distributions to PyPI test server
Test installation from PyPI test server
Verify package is displayed correctly on PyPI test server
Tag release
Tag git revision as
X.Y.Z
Push to GitHub
Release
Upload to GitHub
Upload distributions to GitHub: https://github.com/dictation-toolbox/dragonfly/releases
Trigger building of documentation on Read the Docs
Check whether documentation was built automatically, and if not trigger it: https://readthedocs.org/builds/dragonfly/
Upload to PyPI server
Upload distributions to PyPI server
Test installation from PyPI server
Verify package is displayed correctly on PyPI server
Post-release
Announce release
Website
Mailing list
Gitter channel