- 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