Difference between revisions of "ReleaseTeam/How To Release"
(Create signed tags.) |
|||
Line 3: | Line 3: | ||
Raw notes for release managers, or release monkeys if need be. | Raw notes for release managers, or release monkeys if need be. | ||
− | <<[[TableOfContents]]()>> | + | <<[[TableOfContents]](3)>> |
− | + | Conventions: | |
+ | Current release under development is "M" (2014.1), next release is "N" (2014.2) | ||
− | + | = Milestone release = | |
+ | ... | ||
− | + | = Final release = | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | = | ||
− | |||
− | |||
+ | == Pre-flight checks == | ||
+ | ==== Missing files check ==== | ||
<pre><nowiki> | <pre><nowiki> | ||
− | + | cd project | |
+ | tarball-repo-diff | ||
</nowiki></pre> | </nowiki></pre> | ||
+ | ==== Tarball/version status ==== | ||
+ | ==== Check bugs ==== | ||
− | + | == MP cut (switch master to next version) == | |
− | + | ==== Get PTL signoff ==== | |
− | + | ==== 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 ! | |
− | + | ==== Create MP branch from previous commit ==== | |
− | + | ==== Process [[FixCommitted]] bugs ==== | |
− | + | == RC1 cut == | |
+ | ==== Get PTL signoff ==== | ||
+ | ==== Push FINAL=True commit to MP ==== | ||
+ | ==== Wait for Final tarball ==== | ||
+ | ==== 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 ==== | ||
<pre><nowiki> | <pre><nowiki> | ||
− | + | git checkout milestone-proposed | |
− | + | git pull | |
− | + | git tag -s folsom-rc1 | |
− | + | git push --tags gerrit | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
</nowiki></pre> | </nowiki></pre> | ||
− | + | ==== Upload release ==== | |
− | |||
− | |||
<pre><nowiki> | <pre><nowiki> | ||
− | + | upload_release.py nova 2012.2 20120912.r15981 folsom-rc1 | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
</nowiki></pre> | </nowiki></pre> | ||
+ | ==== Announce RC1 ==== | ||
− | + | == Further RC-X windows == | |
+ | ==== Decision to open next RC window ==== | ||
+ | ==== Create RC-X milestone page ==== | ||
+ | ==== Refine/fix bugs ==== | ||
+ | ==== Get candidate tarball ==== | ||
+ | ==== Get PTL signoff ==== | ||
+ | ==== 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 ==== | ||
<pre><nowiki> | <pre><nowiki> | ||
− | + | git checkout milestone-proposed | |
− | |||
− | |||
− | git checkout | ||
git pull | git pull | ||
− | git tag -s | + | git tag -s folsom-rc2 |
git push --tags gerrit | git push --tags gerrit | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
</nowiki></pre> | </nowiki></pre> | ||
− | + | ==== Upload release ==== | |
− | == | ||
− | |||
− | |||
− | |||
<pre><nowiki> | <pre><nowiki> | ||
− | + | upload_release.py nova 2012.2 20120926.r16267 folsom-rc3 | |
</nowiki></pre> | </nowiki></pre> | ||
+ | ==== Announce RC-X ==== | ||
− | + | == Final release == | |
− | + | ==== Create final release milestone page ==== | |
+ | ==== Push all bugs and blueprints to final page ==== | ||
<pre><nowiki> | <pre><nowiki> | ||
− | + | consolidate_release_page.py nova folsom 2012.2 | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
</nowiki></pre> | </nowiki></pre> | ||
+ | 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 ==== | |
+ | ==== Promote last RC to release ==== | ||
<pre><nowiki> | <pre><nowiki> | ||
− | + | promote_rc.py PROJECT 2014.1 rc2 | |
− | |||
− | |||
− | |||
− | |||
</nowiki></pre> | </nowiki></pre> | ||
+ | ==== Add release notes link to release page ==== | ||
+ | ==== Announce 2014.1 release ==== | ||
− | + | == Post-release == | |
+ | ==== Update "Releases" wiki page ==== | ||
+ | ==== Switch dev focus to N ==== | ||
+ | ==== Clean M-rc-potential tags ==== | ||
+ | ==== 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 ==== | ||
<pre><nowiki> | <pre><nowiki> | ||
− | + | git checkout -t -b devnull origin/devnull | |
− | + | vi nova/version.py | |
− | + | git commit -a | |
− | + | git review devnull | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
</nowiki></pre> | </nowiki></pre> | ||
− | + | ==== 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" | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | == | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | == | ||
− | * Go to | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | * | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | == | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | * In | ||
− | |||
− | == | ||
− | |||
− | |||
− | * | ||
− | |||
− | |||
− | |||
− | |||
− | * | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Revision as of 15:24, 1 October 2012
Raw notes for release managers, or release monkeys if need be.
<<TableOfContents(3)>>
Conventions: Current release under development is "M" (2014.1), next release is "N" (2014.2)
Milestone release
...
Final release
Pre-flight checks
Missing files check
cd project tarball-repo-diff
Tarball/version status
Check bugs
MP cut (switch master to next version)
Get PTL signoff
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 !
Create MP branch from previous commit
Process FixCommitted bugs
RC1 cut
Get PTL signoff
Push FINAL=True commit to MP
Wait for Final tarball
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
Further RC-X windows
Decision to open next RC window
Create RC-X milestone page
Refine/fix bugs
Get candidate tarball
Get PTL signoff
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
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
Promote last RC to release
promote_rc.py PROJECT 2014.1 rc2
Add release notes link to release page
Announce 2014.1 release
Post-release
Update "Releases" wiki page
Switch dev focus to N
Clean M-rc-potential tags
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"