Release process#

This is the release process for leather:

  1. Verify all tests pass.

  2. Check test coverage: pytest --cov leather.

  3. Ensure any new modules have been added to setup.py’s packages list.

  4. Ensure any new public interfaces have been added to the documentation.

  5. Make sure the example scripts still work: ./examples.sh.

  6. Ensure CHANGELOG.rst is up to date. Add the release date and summary.

  7. Create a release tag: git tag -a x.y.z -m "x.y.z release."

  8. Push tags upstream: git push --tags

  9. If this is a major release, merge master into stable: git checkout stable; git merge master; git push

  10. Upload to PyPI: python setup.py sdist bdist_wheel upload.

  11. Flag the release to build on RTFD.

  12. Update the “default version” on RTFD to the latest.

  13. Rev to latest version: docs/conf.py, setup.py and CHANGELOG.rst need updates.

  14. Commit revision: git commit -am "Update to version x.y.z for development.".