- Get master to the appropriate code release state.
GitHub Actions should be running
cleanly for all merges to master.
- Start from a freshly cloned repo:
cd /tmp
rm -rf humanize
git clone https://github.com/jmoiron/humanize
cd humanize
- Generate translation binaries:
scripts/generate-translation-binaries.sh
- (Optional) Create a distribution and release on TestPyPI:
pip install -U pip setuptools wheel twine keyring
rm -rf build dist
python3 setup.py sdist --format=gztar bdist_wheel
twine check dist/*
twine upload --repository-url https://test.pypi.org/legacy/ dist/*
- (Optional) Check test installation:
pip3 uninstall -y humanize
pip3 install -U -i https://test.pypi.org/simple/ humanize
python3 -c "import humanize; print(humanize.__version__)"
- Tag with the version number:
git tag -a 2.1.0 -m "Release 2.1.0"
- Create a distribution and release on live PyPI:
pip install -U pip setuptools wheel twine keyring
rm -rf build dist
python3 setup.py sdist --format=gztar bdist_wheel
twine check dist/*
twine upload -r pypi dist/*
- Check installation:
pip uninstall -y humanize
pip install -U humanize
python3 -c "import humanize; print(humanize.__version__)"
- Push tag:
git push --tags
-
Edit release draft, adjust text if needed: https://github.com/jmoiron/humanize/releases
-
Check next tag is correct, amend if needed
-
Publish release