Skip to content
Keith Beattie edited this page Sep 24, 2019 · 26 revisions

Notes on cutting a release

  1. Create a release branch (on GitHub) for each new major or minor release, i.e. 3.1_rel onto which all the 3.1.x releases will live.

  2. Clone repo and checkout release branch, unless otherwise noted all the rest of these commands will be on that branch.

  3. In setup.py change default_version to be the tag of the release you are creating. i.e. 3.1.0

  4. Similarly in docs/sources/conf.py changes version and release to the same tag.

  5. Check in those changes above.

  6. Create the git tag for that release: git tag 3.1.0.

At this point a git describe --tags --dirty should show the release tag (3.1.0) and nothing else (not 3.1.0rc0-dirty, etc.) Build, test, take notes on new issues to file...

  1. push the changes but not the tag up to github: git push

  2. Create the release using the web interface (make sure to create the release/tag on the release branch).

  3. Update readthedocs so that it builds from the new tag and uses that as the default version to display.

  4. Announce the release.