Release process¶
This is the release process for leather:
- Verify all unit tests pass with fresh environments:
tox -r
. - Check test coverage:
nosetests --with-coverage tests
. - Ensure any new modules have been added to setup.py’s
packages
list. - Ensure any new public interfaces have been added to the documentation.
- Make sure the example scripts still work:
./examples.sh
. - Ensure
CHANGELOG.rst
is up to date. Add the release date and summary. - Create a release tag:
git tag -a x.y.z -m "x.y.z release."
- Push tags upstream:
git push --tags
- If this is a major release, merge
master
intostable
:git checkout stable; git merge master; git push
- Upload to PyPI:
python setup.py sdist bdist_wheel upload
. - Flag the release to build on RTFD.
- Update the “default version” on RTFD to the latest.
- Rev to latest version:
docs/conf.py
,setup.py
andCHANGELOG.rst
need updates. - Commit revision:
git commit -am "Update to version x.y.z for development."
.