Release Checklist » History » Version 3

Peter Amstutz, 06/08/2020 09:10 PM

1 1 Peter Amstutz
h1. Release Checklist
2 1 Peter Amstutz
3 1 Peter Amstutz
Pre-process:
4 1 Peter Amstutz
5 1 Peter Amstutz
# Create an issue for the release.
6 1 Peter Amstutz
# Add each of the following steps (starting at step 1) as tasks with the step number in the subject
7 1 Peter Amstutz
# Assign each task
8 1 Peter Amstutz
# The current task goes into the "In Progress" column
9 1 Peter Amstutz
# When the current task is finished, move it to resolved, and move the next task into "In Progress"
10 1 Peter Amstutz
# Notify the assignee of the next task that it is ready to begin
11 1 Peter Amstutz
12 3 Peter Amstutz
|_.Step|_.Who|_.What|
13 3 Peter Amstutz
|0|engineering|Write lots of great code, build new features|
14 3 Peter Amstutz
|0|engineering|Go through https://dev.arvados.org/projects/arvados/wiki/Manual_testing_plan|
15 3 Peter Amstutz
|1|engineering|Prepare release branch ready for release candidate|
16 3 Peter Amstutz
|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)|
17 3 Peter Amstutz
|3|product 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.|
18 3 Peter Amstutz
|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|
19 3 Peter Amstutz
|5|release eng|Build release candidate packages|
20 3 Peter Amstutz
|6|product mgr|Send out draft release notes|
21 3 Peter Amstutz
|7|everyone|Review release notes|
22 3 Peter Amstutz
|8|ops|Deploy RC packages to playground ^1^|
23 3 Peter Amstutz
|9|bfx|Run bam-to-vcf pipeline on playground ^1^|
24 3 Peter Amstutz
|10|ops|Deploy RC packages to su92l ^1^|
25 3 Peter Amstutz
|11|everyone|Test playground/su92l ^1^|
26 3 Peter Amstutz
|12|product mgr|Sign off on last built RC as the release|
27 3 Peter Amstutz
|13|release eng|Push packages to stable repos (https://dev.arvados.org/projects/ops/wiki/Promoting_Packages_to_Stable)|
28 3 Peter Amstutz
|14|release eng|Publish arvados/jobs docker image, Python packages and Ruby gems|
29 3 Peter Amstutz
|15|release eng|Tag the commits in each repo used to build the release in git|
30 3 Peter Amstutz
|16|product mgr|Add release notes to https://arvados.org/release-notes/X.Y.Z.html and Update release list at https://arvados.org|
31 3 Peter Amstutz
|17|product 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|
32 2 Peter Amstutz
|18|release eng|Duplicate the jenkins configuration for tests to versioned names so that future point releases remain testable after master moves on|
33 1 Peter Amstutz
34 1 Peter Amstutz
^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.