ReleaseTeam/How To Release
Revision as of 14:48, 9 October 2012 by ThierryCarrez (talk)
Raw notes for release monkeys in case I end up under a bus.
<<TableOfContents(3)>>
Conventions: Current release under development is "M" (2014.1), next release is "N" (2014.2)
Milestone release
...
Final release
Pre-flight checks
Create N series
- Create N series in Launchpad
- Set status to Future, Set release manager
Missing files check
cd project tarball-repo-diff
Tarball/version status
- Check that the *-tarball jenkins jobs work properly and that they produce the right version numbers
Check bugs
- Look at the list of FixCommitted bugs, sanity-check that they were fixed during the period
MP cut (switch master to next version)
Get PTL signoff
- This should be done close to the RC1 cut
- Note down MP cut commit id
Bump master milestone code to n1
- Use common-bump-milestone Jenkins job
- Select project, "master" and type "n1"
Push new version to master as first n1 commit
- /!\ This needs to be done as the very first commit after the n1 milestone bump !
- Prepare change which sets next version on master branch
- Get it approved by core and make sure it's merged
Create MP branch from previous commit
- Use review.openstack.org admin panel to create branch
- Branch name is "milestone-proposed", initial revision is the MP cut commit id
Process FixCommitted bugs
./process-fixcommitted-bugs.py nova --milestone m-rc1 --settarget m-rc1 --fixrelease
RC1 cut
Get PTL signoff
- Check that the branch contents are ready to go from PTL perspective
Push FINAL=True commit to MP (some projects only)
- Prepare change which sets FINAL=True on milestone-proposed branch
- Approve and make sure it's merged
Wait for Final tarball
- Wait for the *-tarball job run
- Note down tarball version
Bump MP milestone code to rc2
- Use common-bump-milestone Jenkins job
- Select project, "milestone-proposed" and type "rc2"
Push M-rc1 tag to MP
git checkout milestone-proposed git pull git tag -s folsom-rc1 git push --tags gerrit
Upload release
upload_release.py nova 2012.2 20120912.r15981 folsom-rc1
Announce RC1
- Email to openstack general ML
Further RC-X windows
Decision to open next RC window
- Consider m-rc-potential bugs and discuss with PTL if they warrant a respin
Create RC-X milestone page
- Create the RC-X milestone page on Launchpad
- Target relevant bugs
Refine/fix bugs
- Track bug fixes
- Facilitate backports
Get candidate tarball
- Wait for the *-tarball job run
- Note down tarball version
Get PTL signoff
- Get confirmation that RC is releasable from PTL
Bump MP milestone code to next rcX+1
- Use common-bump-milestone Jenkins job
- Select project, "milestone-proposed" and type "rcX+1"
Push M-rcX tag to MP
git checkout milestone-proposed git pull git tag -s folsom-rc2 git push --tags gerrit
Upload release
upload_release.py nova 2012.2 20120926.r16267 folsom-rc3
Announce RC-X
Final release
Create final release milestone page
- Create the 2014.1 final milestone page on Launchpad
Push all bugs and blueprints to final page
consolidate_release_page.py nova folsom 2012.2
This can take a very long time. For large bugs you will have to run it multiple times. Verify all intermediary milestone pages are now empty.
Push 2014.1 tag to MP
git checkout milestone-proposed git pull git tag -s 2014.1 git push --tags gerrit
Promote last RC to release
promote_rc.py PROJECT 2014.1 rc2
Add release notes link to release page
- Add the "See http://wiki.openstack.org/ReleaseNotes/Folsom" note to the Release note on the download page.
Announce 2014.1 release
- openstack-announce, openstack general ML
- Twitter etc.
Post-release
Update "Releases" wiki page
Switch dev focus to N
- Switch dev focus to N ad N status to under active development
- Switch M to current stable release, set release manager = openstack-stable-maint
- Switch M-1 to Obsolete
Clean M-rc-potential tags
- Search for https://bugs.launchpad.net/openstack/+bugs?field.tag=m-rc-potential
- Remove tag where found
Create devnull branch (from MP)
- Go to review.openstack.org project branch admin panel
- New branch: "devnull", Initial revision: "milestone-proposed"
Push 2014.1.1 version to devnull branch
git checkout -t -b devnull origin/devnull vi nova/version.py git commit -a git review devnull
Create stable/folsom branch from devnull branch
- Go to review.openstack.org project branch admin panel
- New branch: "stable/folsom", Initial revision: "devnull"
Remove devnull and milestone-proposed branches
- In review.openstack.org project branch admin panel
Bump MP milestone code to n1
- Use common-bump-milestone Jenkins job
- Select project, "milestone-proposed" and type "n1"