Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

3.43.0 release tracking issue #39333

Closed
26 of 35 tasks
mohammadualam opened this issue Jul 22, 2022 · 4 comments
Closed
26 of 35 tasks

3.43.0 release tracking issue #39333

mohammadualam opened this issue Jul 22, 2022 · 4 comments
Assignees
Labels
release-tracking Release tracking issue: https://about.sourcegraph.com/handbook/engineering/releases

Comments

@mohammadualam
Copy link
Contributor

mohammadualam commented Jul 22, 2022

3.43 release

This release is scheduled for Aug 22, 2022, 6:00 PM (UTC).


Setup

  • Ensure release configuration in dev/release/release-config.jsonc on main is 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.

Cut Release (three days before release - Aug 17, 2022, 6:00 PM (UTC))

Perform these steps three days before the release date to generate a stable release candidate.

Prepare release

Do the branch cut for the release:

  • Update the changelog and create pull requests:

    yarn release changelog:cut
  • Manually review the pull requests created in the previous step and merge.

  • Create the 3.43 branch off the CHANGELOG commit in the previous step:

    yarn release release:branch-cut

Upon branch cut, create and test release candidates:

  • Tag the first release candidate:

    N=1; yarn release release:create-candidate $N
  • Ensure that the following Buildkite pipelines all pass for the v3.43.0-rc.1 tag:

  • File any failures and regressions in the pipelines as release-blocker issues 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.

Note: You will need to re-check the above pipelines for any subsequent release candidates. You can see the Buildkite logs by tweaking the "branch" query parameter in the URLs to point to the desired release candidate. In general, the URL scheme looks like the following (replacing N in the URL):

  • Sourcegraph: https://buildkite.com/sourcegraph/sourcegraph/builds?branch=v3.43.0-rc.N

  • Post a release status update to Slack:

    yarn release release:status
  • Post the following message to the #cloud channel asking for the release candidate to be deployed to a test managed instance. You're good to go once the instance is up and running:

    Hey team, I'm the release captain for the 3.43 release, posting here for asking for a release candidate (v3.43.0-rc.1) to be deployed to a test managed instance. Could someone help here? :ty:
    

Release Day (Aug 22, 2022, 6:00 PM (UTC))

Stage release

On the day of the release, confirm there are no more release-blocking issues (as reported by the release:status command), then proceed with creating the final release:

  • Make sure CHANGELOG entries have been moved from Unreleased to 3.43.0, but exluding the ones that merged to main after the branch cut (whose changes are not in the 3.43 branch).
  • Make sure deploy-sourcegraph-helm CHANGELOG entries have been moved from Unreleased to 3.43.0, but exluding the ones that merged to main after the branch cut (whose changes are not in the 3.43 branch).
  • Tag the final release:
    yarn release release:create-candidate final
  • Ensure that the following pipelines all pass for the v3.43.0 tag:
  • Wait for the v3.43.0 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 batch change):
    yarn release release:stage

Finalize release

Post-release

  • Notify the next release captain that they are on duty for the next release.
  • Open a PR to update dev/release/release-config.jsonc with the parameters for the next release.
    • Change upcomingRelease to the current patch release
    • Change previousRelease to the previous patch release version
    • Change releaseDate to the current date (time is optional) along with oneWorkingDayAfterRelease and threeWorkingDaysBeforeRelease
    • Change captainSlackUsername and captainGitHubUsername accordingly
  • 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 the release.
    yarn run release release:close

Note: If a patch release is requested after the release, ask that a patch request issue be filled out and approved first.

@mohammadualam mohammadualam added release release-tracking Release tracking issue: https://about.sourcegraph.com/handbook/engineering/releases labels Jul 22, 2022
@github-actions
Copy link
Contributor

Hey, @sourcegraph/batchers (@eseliger @LawnGnome @courier-new @adeola-ak @BolajiOlajide @Piszmog @malomarrec @chrispine @danielmarquespt) - we have been mentioned. Let's take a look.

@coury-clark
Copy link
Contributor

Sourcegraph 3.43.0 has been published

@coury-clark: Please complete the post-release steps before closing this issue.

@coury-clark
Copy link
Contributor

Waiting to update the release-config until I confirm when the September release is going to be.

@eseliger
Copy link
Member

Issue closed by release tool. #39333

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
release-tracking Release tracking issue: https://about.sourcegraph.com/handbook/engineering/releases
Projects
None yet
Development

No branches or pull requests

3 participants