Release checklist
PyPI Release Checklist¶
Before Your First Release¶
You better visit PyPI to make sure your package name is unused.
For Every Release¶
-
Make some pull requests, merge all changes from feature branch to master/main.
-
Update CHANGELOG.md manually. Make sure it follows the Keep a Changelog standard. Be noticed that GitHub workflow will read changelog and extract release notes automatically.
-
Commit the changelog changes:
1 2 |
|
- Update version number and automatically create a commit, tag(can also be patch or major).
1 |
|
- Run the tests locally for insurance:
1 |
|
- Push these commits to master/main:
1 |
|
Before proceeding to the next step, please check workflows triggered by this push have passed.
- Push the tags(created by bump2version) to master/main, creating the new release on both GitHub and PyPI:
1 |
|
Only tag name started with 'v'(lower case) will leverage GitHub release workflow.
- If there is a need to manually create tag or re-push under the same tag:
This is delete and re-create the tag locally.
1 2 |
|
Then follow by deleting and re-creating the tag remotely.
1 2 |
|
Finally update local repository with the updated tag
1 |
|
- Check the PyPI listing page to make sure that the README, release notes, and roadmap display properly. If tox test passed, this should be ok, since we have already run twine check during tox test.
About This Checklist¶
This checklist is adapted from https://cookiecutter-pypackage.readthedocs.io/en/latest/pypi_release_checklist.html.
It assumes that you are using all features of Cookiecutter PyPackage.