Skip to content

BuildingA Release

Joe Gregorio edited this page Feb 6, 2014 · 2 revisions

Steps to release a new version of the library.

Overview

Releasing a new download requires a few steps to be performed. For each release, the changes are listed in the release notes, pydocs are updated to reflect changes in the code, and the library source code, tests, etc. are packaged up in tar.gz files and .zip archives. The archives are then added to the Downloads section of this project. See detailed step by step instructions below.

Steps

  1. Create a new release tracking bug to track this release.
  2. Once the issue is submitted, and you're ready to cut the release, add a comment to the issue giving the exact commit hash at which you're cutting the release. This ensures people know exactly what is and is not in the release.
  3. Write release notes for the new release.
  4. Update the version number in setup.py.
  5. Update the version number in version in __init__.py for both Python 2.x and 3.x.
  6. Regenerate the pydoc documentation pages.
  7. Add new packages and files to the indexes so that they will be included in the archives and installed.
  8. Edit the list of packages in setup.py. This list determines which packages will be compiled and installed on the user's system.
  9. Run the unit tests.
  10. Tag the version in git: `$ git tag -a 0.x.yy -m 'Release of 0.x.yy'
  11. Commit everything that's changed in your local copy. Push your changes.
  12. Generate the archives, upload the packages, and update PyPi.
  13. $ make release
  14. Update the release bug you created at the beginning of this, noting the tag of the commit containing all of the updated release files.
  15. Update the release bug, marking it as fixed.
  16. Send an email to the list announcing the release.
Clone this wiki locally