Project

General

Profile

Release Checklist » History » Revision 3

Revision 2 (Peter Amstutz, 06/08/2020 09:09 PM) → Revision 3/69 (Peter Amstutz, 06/08/2020 09:10 PM)

h1. Release Checklist 

 Pre-process: 

 # Create an issue for the release. 
 # Add each of the following steps (starting at step 1) as tasks with the step number in the subject 
 # Assign each task 
 # The current task goes into the "In Progress" column 
 # When the current task is finished, move it to resolved, and move the next task into "In Progress" 
 # Notify the assignee of the next task that it is ready to begin 

 |_.Step|_.Who|_.What| |_.Step|_.Who|_.Time Estimate|_.What| 
 |0|engineering|Write |0|engineering||Write lots of great code, build new features| 
 |0|engineering|Go |0|engineering||Go through https://dev.arvados.org/projects/arvados/wiki/Manual_testing_plan| 
 |1|engineering|Prepare |1|engineering||Prepare release branch ready for release candidate| 
 |2|engineering|Review |2|engineering||Review release branch, make sure all commits that need to be in the release are in the release, make sure that dependencies of Python and Ruby packages have upper version pins (to ensure that 3rd party dependencies updated post-stable-release don't break our code)| 
 |3|product mgr|Create mgr||Create a redmine release for the next point release beyond this one so that future bugfixes can be assigned to it, if there's a chance that such a release will be made.| 
 |4|engineering|Record |4|engineering||Record git commits that will be used to build the release following the instructions at https://dev.arvados.org/projects/ops/wiki/Arvados_Release_lifecycle#Cut-off-commits-Choosing-a-Version| 
 |5|release eng|Build eng|2 hours|Build release candidate packages| 
 |6|product mgr|Send mgr||Send out draft release notes| 
 |7|everyone|Review |7|everyone||Review release notes| 
 |8|ops|Deploy |8|ops|30 min|Deploy RC packages to playground ^1^| 
 |9|bfx|Run |9|bfx|27 hours|Run bam-to-vcf pipeline on playground ^1^| 
 |10|ops|Deploy |10|ops|30 min|Deploy RC packages to su92l ^1^| 
 |11|everyone|Test |11|everyone||Test playground/su92l ^1^| 
 |12|product mgr|Sign mgr||Sign off on last built RC as the release| 
 |13|release eng|Push eng|1 hour|Push packages to stable repos (https://dev.arvados.org/projects/ops/wiki/Promoting_Packages_to_Stable)| 
 |14|release eng|Publish eng|1 hour|Publish arvados/jobs docker image, Python packages and Ruby gems| 
 |15|release eng|Tag eng||Tag the commits in each repo used to build the release in git| 
 |16|product mgr|Add mgr||Add release notes to https://arvados.org/release-notes/X.Y.Z.html and Update release list at https://arvados.org| 
 |17|product mgr|Send mgr||Send release notes to arvados and arvados-dev mailing list, tweet from the Arvados account about the new release, announce on gitter, notify customers, etc| 
 |18|release eng|Duplicate the jenkins configuration for tests to versioned names so that future point releases remain testable after master moves on| 

 ^1^ If issues are discovered in these steps, get a fix developed, reviewed and merged, and then update the ops ticket from step 3 with the relevant new git commit(s), notify ops, and resume the checklist from step 4.