3.26 release tracking issue
Created by: davejrt
3.26 release
This release is scheduled for Mar 20, 2021, 6:00 PM (UTC).
Setup
-
Ensure release configuration in dev/release/release-config.jsonconmainis up to date with the parameters for the current release. -
Ensure you have the latest version of the release tooling and configuration by checking out and updating sourcegraph@main.
Prepare release
-
Post a release status update to Slack - review all release-blocking issues, and ensure someone is resolving each. yarn release release:status
Do the branch cut for the release:
-
Update the changelog and merge the generated pull request: yarn release changelog:cut -
Create the 3.26branch off the CHANGELOG commit in the previous step:git branch 3.26 && git push origin 3.26
Upon branch cut, create and test release candidates:
-
Tag the first release candidate: N=1 yarn release release:create-candidate $N -
Wait for the Sourcegraph pipeline, QA pipeline, and E2E pipeline in Buildkite to complete. -
File any failures and regressions in the pipelines as release-blockerissues and assign the appropriate teams.
Revert or disable features that may cause delays. As necessary, git cherry-pick bugfix (not feature!) commits from main into the release branch. Continue to create new release candidates as necessary, until no more release-blocker issues remain.
-
Post a release status update to Slack: yarn release release:status
Stage release
Once there are no more release-blocking issues (as reported by the release:status command) proceed with creating the final release:
-
Verify the CHANGELOG on mainand3.26are accurate. -
Tag the final release: yarn release release:create-candidate final -
Ensure the Sourcegraph pipeline, QA pipeline, and E2E pipeline in Buildkite passes, and for the release Docker images to be available in Docker Hub. -
Open PRs that publish the new release and address any action items required to finalize draft PRs (track PR status via the generated release campaign): yarn release release:stage
Finalize release
-
From the release campaign, merge the release-publishing PRs created previously. - For deploy-sourcegraph, also:
-
Tag the v3.26.0release at the most recent commit on thev3.26branch.VERSION='v3.26.0' bash -c 'git tag -a "$VERSION" -m "$VERSION" && git push origin "$VERSION"'
-
- For sourcegraph, also:
-
Cherry pick the release-publishing PR from sourcegraph/sourcegraph@maininto the release branch.
-
- For deploy-sourcegraph, also:
-
Ask the product team ( #product) to merge the blog post. Add the pull request to the release campaign:yarn release release:add-to-campaign sourcegraph/about <pr-number> -
Finalize and announce that the release is live: yarn release release:close
Post-release
Notify the next release captain that they are on duty for the next release. They should complete the steps in this section.
-
Open a PR to update dev/release/release-config.jsoncwith the parameters for the current release. -
Ensure you have the latest version of the release tooling and configuration by checking out and updating sourcegraph@main. -
Create release calendar events, tracking issue, and announcement for next release: yarn run release tracking:issues yarn run release tracking:timeline -
Close this issue.
Note: If a patch release is requested after the release, ask that a patch request issue be filled out and approved first.