Skip to content

Latest commit

 

History

History
23 lines (22 loc) · 1.67 KB

RELEASING.md

File metadata and controls

23 lines (22 loc) · 1.67 KB

Releasing

  1. Determine the next version. We follow semantic versioning.
  2. Create a release branch named release/vX.Y.Z, where X.Y.Z is the next version.
  3. Update version.py with the new version.
  4. Update all cassettes: pytest --record-mode rewrite
  5. Update CHANGELOG.md.
    1. Add a new header under "Unreleased" with the new version and the date, e.g. ## [vX.Y.Z] - YYYY-MM-DD.
    2. Audit the changelog section to ensure all changes are captured.
    3. Add a link reference for the new version after the Unreleased link reference at the bottom of the file. Follow the format from the previous version links.
  6. If necessary, update the versions table in the documentation
  7. (optional) Build the package locally and inspect its contents: pip install build && python -m build
  8. Open a pull request for your release/vX.Y.Z branch against the appropriate branch (either main or a version branch, e.g. v0.3). Include a section in the pull request description with the CHANGELOG contents for this version.
  9. After pull request merge, create an annotated tag for your version, e.g. git tag -a vX.Y.Z. The contents of the annotated tag should be the contents of the changelog for this version. Make sure to remove any leading # characters, as they will be considered comments in the git tag body.
  10. Push the tag. This will trigger the Github release workflow and publish to PyPI.
  11. Create a new release on Github pointing to the new tag. Include the CHANGELOG notes from this version.