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.cfgand check or modify the the version number as required: - The micro version will have been automatically incremented by the last release, and
.dev0appended. - Keep the
.dev0postfix, 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.zthe release (withx.y.zthe 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
masterbranch git pushgit push --tags
- Push the code and tags to the
- Once Travis completes, check the deployments were successful
- PyPI (as
bdist_wheelandsdist(egg)). - Authomatic documentation
- PyPI (as