Release processΒΆ

This is the release process for agate:

  1. Verify all unit tests pass with fresh environments: tox -r.
  2. Verify 100% test coverage: nosetests --with-coverage tests.
  3. Ensure any new modules have been added to setup.py’s packages list.
  4. Make sure the example script still works: python example.py.
  5. Ensure CHANGELOG.rst is up to date.
  6. Create a release tag: git tag -a x.y.z -m "x.y.z release."
  7. Push tags upstream: git push --tags
  8. If this is a major release, merge master into stable: git checkout stable; git merge master; git push
  9. Upload to PyPI: python setup.py sdist bdist_wheel upload.
  10. Flag the release to build on RTFD.
  11. Update the “default version” on RTFD to the latest.
  12. Rev to latest version: docs/conf.py, setup.py and CHANGELOG.rst need updates.
  13. Commit revision: git commit -am "Update to version x.y.z for development.".