These instructions can also be used as a starting point for packages that use miniver.
- Verify that all issues/pull requests pertinent for this release are closed/merged
- Verify that all changes are recorded in the changelog
- Verify that any attribution files (e.g AUTHORS) are up to date
- Verify that copyright notices are up to date
- Verify that the builds are passing on
master
- Restore the git repository to a pristine state:
git checkout master && git reset --hard HEAD && git clean -xd -f
- Create a signed, annotated release tag:
git tag -as vX.Y.Z -m 'version X.Y.Z'
- Create source and binary distributions:
python setup.py sdist bdist_wheel
- Create an empty commit to start development towards the next release:
git commit --allow-empty -m 'start development towards A.B.C'
- Create a signed, annotated pre-release tag:
git tag -as vA.B.C-dev -m 'work towards A.B.C'
- Push the new version and development tags:
git push upstream vX.Y.Z vA.B.C-dev
- Upload the distributions to PyPI:
twine upload dist/*