Skip to content
Back to top
View this page

# 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."`.