-
Notifications
You must be signed in to change notification settings - Fork 372
HowToRelease
Some developer notes on how to do the release (magic numbers are for version 1.1):
-
Create a Release Notes page on the wiki (with some sensible content in it!) and modify History to link it.
-
Commit new version number (one change in
setup.py
, one indocs/conf.py
):git commit -a
with commit message like:
Version 1.1.0 https://github.com/cms-dev/cms/wiki/CMS-1.1.0-RELEASE-NOTES
-
Tag the commit:
git tag v1.1.0
-
Create a branch for the version number:
git checkout -b v1.1
-
Push branches and tag to the repository. Push also changes to the wiki.
-
Wait for the new branch (the branch, not the tag!) to pop up in 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.
-
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.
-
Push the new version number for the stable and development version in the website (for the stable version update also the URLs of the links).
-
Send Release Notes to the mailing list (for reference: http://www.freelists.org/post/contestms/CMS-100-RELEASE-NOTES).
-
Go back to
master
and commit new version numbers (one change insetup.py
, two changes indocs/conf.py
). -
Close the milestone on GitHub.
-
Add the release on GitHub (here: https://github.com/cms-dev/cms/releases), by adding metadata to the tag. Use the release notes as the description (but remove "Release date:" and "Link to the package:", GitHub already knows about them). If necessary (e.g. isolate wouldn't be included in the autogenerated .tar.gz because it's a submodule) create the .tar.gz manually and add it as an attachment. (Note: make GitHub use the vX.Y branch as "target" instead of master, so it doesn't think there are unreleased commits; the trick to change target is to temporarily modify the tag name and then change it back.)