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.
- Verify that
- 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
- Tag git revision as
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