In the general case tests can be run via :pypi:`nose`'s :pypi:`distribute` integration:
$ ./setup.py nosetestsWhen preparing a release it is important to check that :mod:`github2` works with all currently supported Python versions, and that the documentation is correct. To that end you can use :pypi:`tox` to run the full testsuite:
$ tox -vThis will test :mod:`github2` with Python 2.4 → 3.2, check that the reST
syntax is valid and also that the :pypi:`sphinx` documentation builds correctly.
You can run a subset of these options too, see the tox documentation for
more information.
With the tests passing, perform the following steps
- Update the version data in :file:`github2/_version.py`, and also the reference in :file:`README.rst`
- Update :file:`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
Create and upload the new release tarballs to PyPI:
$ ./setup.py sdist --formats=bztar,gztar register upload --signYou should also update the hosted documentation too:
$ ./setup.py build_sphinx && ./setup.py upload_docsFetch the uploaded tarballs, and check for errors.
You should also perform test installations from PyPI, to check the experience :mod:`github2` users will have.