Project

General

Profile

Actions

Release Checklist » History » Revision 20

« Previous | Revision 20/75 (diff) | Next »
Peter Amstutz, 11/19/2021 03:05 PM


Release Checklist

Pre-process:

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

Meta-process:

  1. When steps are added/changed/rearranged/removed, be use to update the TASKS file used by the Arvados release tool: https://dev.arvados.org/projects/arvados/repository/arvados-dev/revisions/main/show/cmd/art
Step Who What
0 engineering Write lots of great code, build new features
1 engineering Go through https://dev.arvados.org/projects/arvados/wiki/Manual_testing_plan
2 engineering Prepare release branch ready for release candidate.
Update these files to use the release branch or version instead of main:
tools/salt-install/provision.sh
tools/arvbox/bin/arvbox
doc/install/arvbox.html.textile.liquid
3 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)
4 product mgr Create a redmine release for the next patch 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.
5 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
6 release eng Build release candidate packages
7 product mgr Send out draft release notes
8 everyone Review release notes
9 ops Test installer formula / provision scripts with RC packages - Installer development process
10 ops Deploy RC packages to playground 1
11 bfx Run bam-to-vcf pipeline on playground 1
12 product mgr Sign off on last built RC as the release
13 release eng Push packages to stable repos (https://dev.arvados.org/projects/ops/wiki/Promoting_Packages_to_Stable)
14 release eng Publish arvados/jobs docker image, Python packages and Ruby gems
15 release eng Publish formula / installer for the release
16 release eng Publish arvados/arvbox-demo docker image with https://ci.arvados.org/view/Release%20Pipeline/job/build-and-release-arvbox-image/
17 release eng Tag the commits in each repo used to build the release in git. Please create an annotated tag, with this message: "Release X.Y.Z, release notes at https://arvados.org/release-notes/X.Y.Z/". That will make https://github.com/arvados/arvados/releases look really good.
18 release eng (major releases only, unless there is a change worthy in the point release) Update the "Upgrading Arvados and Release notes" doc page with the title and date of the release
19 release eng Ensure new release is published on https://doc.arvados.org ; ensure that release notes & any other materials are pointing to correct version of the docs.
20 product mgr Add release notes to https://arvados.org/release-notes/X.Y.Z.html and Update release list at https://arvados.org
21 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
22 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.

Updated by Peter Amstutz about 3 years ago · 75 revisions