Release process
Preparation
Version number and release branch
Determine the appropriate version number for this release, according to Release versioning.
Update the
version.txtfile 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.rstincludes the change log for this release.Verify that
AUTHORS.txtis up to date with recent contributors.Verify that
setup.pyspecifies all required dependencies, including their versions, e.g. with theinstall_requiresandtest_requiresparameters.Verify that
documentation/requirements.txtspecifies all required dependencies for building the documentation.Verify that
MANIFEST.inincludes 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.ZPush 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