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

Major Release Process Checklist for 21.2 #70751

Closed
19 tasks done
celiala opened this issue Sep 27, 2021 · 3 comments
Closed
19 tasks done

Major Release Process Checklist for 21.2 #70751

celiala opened this issue Sep 27, 2021 · 3 comments
Labels
A-release branch-master Failures and bugs on the master branch. C-cleanup Tech debt, refactors, loose ends, etc. Solution not expected to significantly change behavior.

Comments

@celiala
Copy link
Collaborator

celiala commented Sep 27, 2021

Tracking issue instructions:

  • Create this tracking issue + add the 'GA-blocker' label, as well as the applicable branch-release-xx.x label.
  • Once the mint ${vBRANCH_CUT} version cluster version backport gets merged, the 'GA-blocker' label can be removed.

Creating a release branch tracking issue

As part of Creating a release branch for release-21.2, we'll want to perform the checklist on that page, as well as the checklist on the New major version checklist.

This is a tracking issue for all the steps relevant to creating a release branch for ${vBRANCH_CUT} and preparing master for the ${vNEXT} major version.

Must be done before cutting the next release branch

1-3 Weeks Before creating the branch

[celia] It's okay if this is done post branch cut and then backported

Create the branch

  • Create the release branch and push it to GitHub

[Immediately] after the branch is created

[Sometime relatively soon] after the branch is created

  • In licenses/BSL.txt, update the "licensed work" and "change date" licenses: Update BSL change date for master/22.1 #71613
    • If the release date for ${vNEXT} is in the next year, don't forget to update the copyright year for "Licensed Work" (line 7). See [6]
    • Change Date should flip between "04-01" and "10-01" for consistency (doesn't need to be strictly tied to the exact release date). See [7]

Update roachtest for next version

Tagging the master branch (after rc.x [See note 1])

Soon after Step 1a

To this before 22.1 release[9]

Notes:

See also: 21.2 release process, running list retro

  • [1] When exactly to tag the master branch? Who to ask about exactly when to tag it?

    • "waiting to backport until there's an RC tagged sounds about right to me. once we backport and release a 21.2 beta/rc with this change, that'll close the door on any future version gates or migrations being backported to 21.1, so we tend to wait until we get to an RC aka zero known release or GA blockers, just in case the resolution for any of those blockers ends up needing a gate." (from PR)
    • "Add cluster versions indicating the end of one release and the beginning of the next. This happens when we’re pretty sure we won’t need any more cluster versions for vBRANCH_CUT" (from New major version checklist))
    • "We need to hold off on minting 21.2 much longer than just the branch cut, and instead until {{TODO - figure out exactly when}}. Once we mint the version, we cannot add new migrations/version gates under it without requiring a wipe of any clusters that ran a build including the mint."
    • "It is generally recommended to delay tagging the master branch as vNEXT until a suitable RC exists" (from Release Process)
  • [2] For this PR, Internal can be (say) 100, we just want to leave a gap in case we need it later. These values are never compared against internal values from a different Major/Minor.

  • [3] For make roachtest recognize 21.2, here's the full approach we should use:

    • if the v21.2 blocklist is empty, then the new v22.1 blocklist should be empty too
    • if the v21.2 is not empty, then set var toolBlocklist22_1 = toolBlocklist21_2
  • [4] Specifically, this PR adds block/ignore lists for the vNEXT major version for these files: ls pkg/cmd/roachtest/tests/*_blocklist.go

  • [5] TODO(celia) -- verify if this + this should be the steps moving forward, specifically for a new major release.

  • [6] In the past we've updated the copyright year here to reflect the eventual release date (as in 186a625#diff-d20ea444c3b8b7b72100cc0990127b6e7785c6103e57d4c6e6eb25c96d525539). If we don't do it now we need to make sure it's on a checklist for the start of the new year.

  • [7] This doesn't need to be strictly tied to the release (i.e. there's no commitment anywhere that the change is three years from the release date. There is a commitment in the text of the BSL that the change date is no more than four years in the future). I'd be inclined to just keep flipping back and forth between 04-01 and 10-01 change dates for consistency, but it would also be fine to make a better guess at the final release date if we wanted to (and it's fine if that guess is off in either direction).

  • [8] While it may feel a little weird to set the minimum supported version to a version we just created, this is indeed correct. The idea is 21.1 is only compatible with 20.2, and thus 21.1 work only needs to consider 20.2 when handling mixed version, not whatever mid-cycle development versions came before 20.2.0 (which could be as old as basically being 20.1).

  • [9] Since REA team may not have the context to drive this, it might be better for REA to just create the tracking issue, then ask someone(s) from specific teams to do the actual PR.

    • Open question: who are the engineers that can do this? Maybe refer to DT's PR as a reference for individuals / teams that have the necessary context to do this.
@celiala celiala added branch-master Failures and bugs on the master branch. GA-blocker branch-release-21.2 labels Sep 27, 2021
@blathers-crl
Copy link

blathers-crl bot commented Sep 27, 2021

Hi @celiala, I've guessed the C-ategory of your issue and suitably labeled it. Please re-label if inaccurate.

While you're here, please consider adding an A- label to help keep our repository tidy.

🦉 Hoot! I am a Blathers, a bot for CockroachDB. My owner is otan.

@blathers-crl blathers-crl bot added the C-enhancement Solution expected to add code/behavior + preserve backward-compat (pg compat issues are exception) label Sep 27, 2021
@celiala celiala added C-cleanup Tech debt, refactors, loose ends, etc. Solution not expected to significantly change behavior. A-release and removed C-enhancement Solution expected to add code/behavior + preserve backward-compat (pg compat issues are exception) labels Sep 27, 2021
craig bot pushed a commit that referenced this issue Oct 1, 2021
69827: roachtest: update version map and test fixtures for 22.1 r=celiala a=celiala

Shortly after [Creating a release branch](https://cockroachlabs.atlassian.net/wiki/spaces/ENG/pages/187859111/Creating+a+release+branch) for release-21.2, we'll want to merge PRs as instructed by the [New major version checklist](https://cockroachlabs.atlassian.net/wiki/spaces/ENG/pages/1522270228/New+major+version+checklist).

This PR is for Step 2a + Step 2b of the [New major version checklist](https://cockroachlabs.atlassian.net/wiki/spaces/ENG/pages/1522270228/New+major+version+checklist), where we update the `PredecessorVersion` map in the `roachtest` package to add an entry for the `${vNEXT}` major release, as well as 
generate the fixtures for acceptance/mixed-version for `${vBRANCH_CUT}` so that the test can run on `${vNEXT}`. 

This PR is one of the tasks detailed in #70751, which tracks all the steps relevant to creating a release branch for `${vBRANCH_CUT}` and preparing master for the `${vNEXT}` major version.


Release justification: Non-production code change.
Release note: None

71005: bazel: bump the sizes of some tests r=jlinder a=rickystewart

These have all recently timed out in CI.

Release note: None

Co-authored-by: Celia La <celiala456@gmail.com>
Co-authored-by: Ricky Stewart <ricky@cockroachlabs.com>
craig bot pushed a commit that referenced this issue Oct 1, 2021
69829: roachtest: make roachtest recognize 21.2 r=celiala a=celiala

Shortly after [Creating a release branch](https://cockroachlabs.atlassian.net/wiki/spaces/ENG/pages/187859111/Creating+a+release+branch) for release-21.2, we'll want to merge PRs as instructed by the [New major version checklist](https://cockroachlabs.atlassian.net/wiki/spaces/ENG/pages/1522270228/New+major+version+checklist).

This PR is for Step 2c of the [New major version checklist](https://cockroachlabs.atlassian.net/wiki/spaces/ENG/pages/1522270228/New+major+version+checklist), where we update the ORM tests. Specifically, adding block/ignore lists for the `vNEXT` major version for these files:
```
ls pkg/cmd/roachtest/tests/*_blocklist.go
```

This PR is one of the tasks detailed in #70751, which tracks all the steps relevant to creating a release branch for `${vBRANCH_CUT}` and preparing master for the `${vNEXT}` major version.

Release justification: Non-production code change.
Release note: None

71006: sqlliveness/slstorage: fix bug due to not using a transaction r=ajwerner a=ajwerner

We had a bug where updating a session was not using the transaction. This
exposed it to a problem whereby a concurrent removal of the session would
not be detected and the session could be resurrected.

Fortunately this code moved to using KV from SQL in the 21.2 cycle and
thus no released major release should experience this issue.

Fixes #71008.

Release note: None

Co-authored-by: Celia La <celiala456@gmail.com>
Co-authored-by: Andrew Werner <awerner32@gmail.com>
craig bot pushed a commit that referenced this issue Oct 1, 2021
69904: licenses: updating licenses r=celiala a=celiala

As part of [Creating a release branch](https://cockroachlabs.atlassian.net/wiki/spaces/ENG/pages/187859111/Creating+a+release+branch) for release-21.2, this PR:
- Adds the following new licenses:
	- BSL-1.0 (Boost Software License)
	- CC-BY-3.0
	- CC0-1.0
	- JSON
	- MPL-2.0
	- The Unlicense
- Updates the BSL change date for 21.2 (we missed updating this last Spring; a separate PR will update this for master/22.1 after branch cut).

This PR is one of the tasks detailed in #70751, which tracks all the steps relevant to creating a release branch for `${vBRANCH_CUT}` and preparing master for the `${vNEXT}` major version.

Release justification: Non-production code change
Release note: None

70850: util/tracing: fix an edge case for active span registration r=andreimatei a=andreimatei

Before this patch, a span with a no-op parent (as opposed to a span
with no parent), would not be present in the active spans registry. The
code was confused: the span didn't qualify as a "local root" because it
had a local parent, but of course it also wasn't really recorded by the
local parent cause a no-op span can't record anything. As such, the span
in question was missing from the registry.
This patch makes a span with a no-op parent behave like a root span.

Release note: None

70999: cluster-ui: derive app name from route parameter in cluster-ui r=maryliag a=xinhaoz

Fixes: #70998

Release justification: category 2

Previously, we were deriving the selected app name from the
query string parameter in for the statements page in the
cluster-ui package. The selected app name should be derived from
the route parameter for the statements page.

Release note (bug fix): the selected app name in the statements page
is now derived from the route parameters.

Co-authored-by: Celia La <celiala456@gmail.com>
Co-authored-by: Andrei Matei <andrei@cockroachlabs.com>
Co-authored-by: Xin Hao Zhang <xzhang@cockroachlabs.com>
@celiala
Copy link
Collaborator Author

celiala commented Oct 13, 2021

Once these backports are merged, the GA-blocker label can be removed:

craig bot pushed a commit that referenced this issue Oct 19, 2021
69828: clusterversion: introduce 22.1 development versions r=celiala a=celiala

Shortly after [Creating a release branch](https://cockroachlabs.atlassian.net/wiki/spaces/ENG/pages/187859111/Creating+a+release+branch) for release-21.2, we'll want to merge PRs as instructed by the [New major version checklist](https://cockroachlabs.atlassian.net/wiki/spaces/ENG/pages/1522270228/New+major+version+checklist).

This PR is for Step 1b of the [New major version checklist](https://cockroachlabs.atlassian.net/wiki/spaces/ENG/pages/1522270228/New+major+version+checklist), where we add a cluster version `VersionStart${vNEXT}`.

This is part of #70751, which tracks all the steps relevant to creating a release branch for `${vBRANCH_CUT}` and preparing master for the `${vNEXT}` major version.

Release justification: Non-production code change.
Release note: None


Co-authored-by: Celia La <celiala456@gmail.com>
@celiala
Copy link
Collaborator Author

celiala commented Jan 4, 2022

All steps for 21.2 branch cut are complete! 🎉

@celiala celiala closed this as completed Jan 4, 2022
@celiala celiala changed the title Perform all steps relevant to creating a release branch 21.2 Release Checklist Sep 1, 2022
@celiala celiala changed the title 21.2 Release Checklist Major Release Process Checklist for 21.2 Sep 1, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-release branch-master Failures and bugs on the master branch. C-cleanup Tech debt, refactors, loose ends, etc. Solution not expected to significantly change behavior.
Projects
None yet
Development

No branches or pull requests

1 participant