Skip to content
This repository has been archived by the owner on Sep 30, 2024. It is now read-only.

3.8 Release #5365

Closed
68 of 71 tasks
lguychard opened this issue Aug 26, 2019 · 0 comments
Closed
68 of 71 tasks

3.8 Release #5365

lguychard opened this issue Aug 26, 2019 · 0 comments
Assignees
Milestone

Comments

@lguychard
Copy link
Contributor

lguychard commented Aug 26, 2019

3.8 Release (2019-09-20)

At the start of the month (2019-09-01)

  • Choose dates/times for the steps in this release process and update this issue template accordingly. Note that this template references working days, which do not include weekends or holidays observed by Sourcegraph.
  • Add events to the shared Release Schedule calendar in Google and invite [email protected].
    • Creating the release branch.
    • Tagging the final release.
    • Publishing the blog post.
  • Send message to #dev-announce with a link to this tracking issue to notify the team of the release schedule.
  • Create the retrospective document and schedule the retrospective meeting within a few days after the release (send calendar invites to [email protected]).
  • Create reminders for yourself to preform the remaining sections in this checklist at appropriate times.

5 working days before release (2019-09-13)

  • Private message each teammate who has open issues in the milestone and ask them to remove any issues that won't be done by the time that the release branch is scheduled to be created.
  • Verify that there is a draft of the blog post and that it will be ready to be merged on time.
  • Create a new test grid for 3.8 by cloning the previous release testing grid on Monday.com and renaming it to "3.8 Release test grid". https://sourcegraph-team.monday.com/boards/322741303

4 working days before release (2019-09-16)

  • 01:00 AM PT Add a new section header for this version to the CHANGELOG immediately under the ## Unreleased changes heading and add new empty sections under ## Unreleased changes (example).
  • Create the 3.8 branch for this release off of the changelog commit that you created in the previous step.
  • Tag the first release candidate v3.8.0-rc.1:
    VERSION='v3.8.0-rc.1' bash -c 'git tag -a "$VERSION" -m "$VERSION" && git push origin "$VERSION"'
    
  • Send a message to #dev-announce to announce the release candidate.
  • Run Sourcegraph Docker image with no previous data.
  • Upgrade Sourcegraph Docker image from previous released version.
    • Run the previous version of Sourcegraph.
      CLEAN=true IMAGE=sourcegraph/server:$OLDVERSION ./dev/run-server-image.sh
      
    • Initialize the site by creating an admin account.
    • Add a public repository (i.e. https://github.com/sourcegraph/sourcegraph).
    • Add a private repository (i.e. https://github.com/sourcegraph/infrastructure).
    • Stop the previous version of Sourcegraph and run the new version of Sourcegraph with the same data.
      CLEAN=false IMAGE=sourcegraph/server:3.8.0-rc.1 ./dev/run-server-image.sh
      
    • Verify that code search returns results as you expect (depending on the repositories that you added).
    • Verify that basic code intelligence works on Go or TypeScript.
  • Run the new version of Sourcegraph on a clean Kubernetes cluster with no previous data.
  • Delete entries from section 15 (CHANGELOG) of the testing grid, or move them into permanent sections above. Add new CHANGELOG items for this release into section 15. Assign the feature owner as the tester for each row.
  • Send a message to #dev-announce to kick off testing day.
    • Include a link to the testing grid.
    • Include the command to run the latest release candidate:
      IMAGE=sourcegraph/server:3.8.0-rc.1 ./dev/run-server-image.sh
      
    • Mention that testing is the top priority, it is expected to take the whole day, and that known or suspected regressions should be tagged as release blockers.

3 working days before release (2019-09-17)

  • Send a message to #dev-announce to report whether any release blocking issues were found.
  • Add any release blocking issues as checklist items here and start working to resolve them.
  • Review all open issues in the release milestone that aren't blocking and ask assignees to triage them to a different milestone (backlog preferred).

As necessary

  • git cherry-pick bugfix (not feature!) commits from master into the release branch.
  • Re-test any flows that might have been impacted by commits that have been cherry picked into the release branch.
  • Tag additional release candidates.

1 working day before release (2019-09-19)

By 10am PT on the 20th

  • Merge the docs PRs created in the previous step.
  • Merge the blog post (example).
  • Close this issue.
  • Close the milestone.
  • Notify the next release captain that they are on duty for the next release. Include a link to this release issue template.
  • Remind the team that they should submit retrospective feedback 24 hours before the scheduled retrospective meeting.
@lguychard lguychard added this to the 3.8 milestone Aug 26, 2019
@lguychard lguychard self-assigned this Aug 26, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant