Release HOWTO


In the general case tests can be run via nose‘s distribute integration:

$ ./ nosetests

When preparing a release it is important to check that github2 works with all currently supported Python versions, and that the documentation is correct. To that end you can use tox to run the full testsuite:

$ tox -v

This will test github2 with Python 2.4 → 3.2, check that the reST syntax is valid and also that the sphinx documentation builds correctly. You can run a subset of these options too, see the tox documentation for more information.

Prepare release

With the tests passing, perform the following steps

  • Update the version data in github2/, and also the reference in README.rst
  • Update NEWS.rst, if there are any user visible changes
  • Commit the release notes and version changes
  • Create a signed tag for the release
  • Push the changes, including the new tag, to the GitHub repository

Update PyPI

Create and upload the new release tarballs to PyPI:

$ ./ sdist --formats=bztar,gztar register upload --sign

You should also update the hosted documentation too:

$ ./ build_sphinx && ./ upload_docs

Fetch the uploaded tarballs, and check for errors.

You should also perform test installations from PyPI, to check the experience github2 users will have.

Table Of Contents

Previous topic

In the wild

Next topic


This Page