4 Publishing a Release
Joshua Bronson edited this page 2022-03-24 10:50:31 -04:00

Publishing a Release

  1. Set __version__ in metadata.py to X.Y.Z.rc1 (from e.g. X.Y.Z.dev0), commit, and push to a topic branch.

  2. Create and push a corresponding tag, as explained in release-to-test-pypi.yml. Note the lack of a "v" prefix for this "rc" tag.

    A corresponding workflow run should appear here. Confirm it succeeds, then confirm that the new release candidate appears on Test PyPI.

    Next confirm that pip install --pre -i https://test.pypi.org/simple bidict installs the new release candidate, e.g. via python -c 'import bidict; print(bidict.__version__)', and that the new version otherwise behaves as expected.

    Finally, remove the rc tag and topic branch, along with associated automatically-published artifacts like https://bidict.readthedocs.io/en/X.Y.Z.rc1/ (log into readthedocs and go to https://readthedocs.org/projects/bidict/ to edit versions).

  3. Set __version__ in metadata.py to X.Y.Z, update the corresponding entry in CHANGELOG.rst to show today's date, amend-commit, and push to main.

  4. Create and push a corresponding vX.Y.Z tag. Note the initial "v" (as distinct from the "rc" tags).

    A corresponding workflow run should appear here. Confirm it succeeds, then confirm that the new release candidate appears on PyPI.

    Next confirm that pip install -U bidict installs the new release, e.g. via python -c 'import bidict; print(bidict.__version__)', and that the new version otherwise behaves as expected.

    Also confirm that https://bidict.readthedocs.io/en/X.Y.Z/ shows the documentation for the new release (log into readthedocs and go to https://readthedocs.org/projects/bidict/ to edit versions if necessary).

  5. Create a corresponding release on GitHub from the https://github.com/jab/bidict/releases/tag/vX.Y.Z tag. Check the previous releases to follow the same format.

  6. Set __version__ in metadata.py to e.g. X.Y.<Z+1>.dev0, commit, and push to main.

  7. Log into TideLift and update the Security maintenance plan to account for the new release. Note: TideLift may not pick up the new version right away.