Skip to content
Luca Wehrstedt edited this page Aug 7, 2014 · 28 revisions

Some developer notes on how to do a release. These instuctions are intended for a new major or minor version. For a micro version some instructions must be ignored or adapted. Replace vX.Y.Z with the appropriate version number.

  1. Checkout the master branch:

    git checkout master
    
  2. Update the version number in the source files (there's one occurrence in setup.py and one in docs/conf.py) and commit these changes with a message like:

    Version X.Y.Z
    
    https://github.com/cms-dev/cms/releases/tag/vX.Y.Z
    
  3. Create a branch for the new version (without the micro):

    git branch vX.Y
    
  4. Push both the master and the vX.Y branches:

    git push origin master vX.Y
    
  5. Open https://github.com/cms-dev/cms/releases, click on "Draft a new release", insert vX.Y.Z as tag name and select the vX.Y branch as target. Write some release notes (with some sensible content!). Manually create a .tar.gz archive with the sources and attach it (this is needed because the archive autogenerated by GitHub will not include isolate since it's a git submodule, thus be sure to make the archive with a clean and complete checkout). Publish the release.

  6. Wait for the new branch (the branch, not the tag!) to pop up in the ReadTheDocs control panel (it takes a bit for RTD to realize that a new branch has been pushed; I did not find any way to force it). Then activate it and make it default.

  7. Check that relevant automatic links have been created by GitHub, so that there are no 404 errors around (in wiki and in docs). Also check that documentation have been compiled correctly.

  8. Push the new version numbers for the stable and the development versions on the website (for the stable version, update also the URLs of the links).

  9. Send the release notes to the mailing list (for reference: http://www.freelists.org/post/contestms/CMS-100-RELEASE-NOTES).

  10. Set the version numbers in the source files to the next version (there's one occurrence in setup.py and two in docs/conf.py, and remember to append a pre!)

  11. Close the milestone on GitHub.