Skip to content

Release Process

Kyle Burnett edited this page Jan 20, 2022 · 2 revisions

Before starting the release process, use the following checklist to verify that the develop branch is ready.

  • Are all of the tests passing with 100% code coverage (using nox)?
  • Can the documentation be built without errors?
  • Has the Release History been updated?
  • Has version in setup.py been updated?

The release process can be initiated once the answer to these questions is "yes."

  1. Create a pull request from develop into master titled with the version name. For example, v1.0.0.
  2. DO NOT USE GITHUB to merge the pull request. Instead, run the following from the command line to perform a fast-forward merge.
$ git checkout develop
$ git pull
$ git checkout master
$ git pull
$ git merge develop --ff-only
$ git push
  1. Navigate to the Releases page, and draft a new release.
    • Switch the target to master
    • Use the same version number that you used in step 1 for the tag and the release title.
    • For the release description, copy the release notes from docs/changelog.rst in the repo.
  2. Execute the following command from the project root directory outside your virtual environment. Make sure you have wheel and twine installed.
rm -rf dist build */*.egg-info *.egg-info
python3 setup.py bdist_wheel --universal
python3 -m twine upload dist/*

Verify the release was performed successfully by checking the PyPi page and the Read the Docs site.

Clone this wiki locally