Release are triggered by creating a tag trigger-x.y.z
and pushing it to the master
branch on GitHub (TravisCI). The release process removes this tag and replaces it with a version tag x.y.z
. (zest.releaser). While release the news/*
files are turned automatically into a nicely formatted CHANGES.rst
(towncrier). The documentation will be built and pushed to GH-pages (Sphinx).
The steps for generating an automated release are:
- Edit
setup.cfg
and check or modify the the version number as required: - The micro version will have been automatically incremented by the last release, and
.dev0
appended. - Keep the
.dev0
postfix, the release process will take care of it. - Check
news/
directory for feature and/or breaking changes and increase minor or major version number if needed (and not already done). - There must be at least one committed entry in
news/
for a release to succeed. - If updating the version, follow PEP440 and Semantic Versioning 2
- There must be at least one committed entry in
- Check
- The micro version will have been automatically incremented by the last release, and
- Edit
git tag trigger-x.y.z
the release (withx.y.z
the release number).- Technically the tag name postfix is irrelevant for the release, but we mirror the version number to make our intention clear.
- Push the code and tags to the
master
branch git push
git push --tags
- Push the code and tags to the
- Once Travis completes, check the deployments were successful
- PyPI (as
bdist_wheel
andsdist
(egg)). - Authomatic documentation
- PyPI (as