Skip to content

Commit b05134e

Browse files
authored
Update release doc about BCR Bazel compatibility test (#2104)
1 parent 3613470 commit b05134e

File tree

1 file changed

+21
-29
lines changed

1 file changed

+21
-29
lines changed

docs/release-playbook.md

Lines changed: 21 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ While the release is active, you should make sure to do the following:
6868
* If a Bazel team member has proposed the fixes, then proceed with the cherry-pick and merge it.
6969
* If a Bazel team member authors a commit and a community member asks to cherry-pick, then confirm with the author before cherry-picking the PR to make sure this change is safe to merge.
7070
* If a community member author a commit and asks to cherry-pick, then confirm with the reviewer before cherry-picking the PR to make sure that the change is safe to merge.
71-
* **Notes:**
71+
* **Notes:**
7272
* All cherry-pick PRs sent to a release branch should be reviewed and approved by a Bazel team member (usually the reviewer of the original PR)
7373
* Before merging a change into the release branch, confirm that the original change is already merged at Bazel@HEAD. One simple way to do this is to make sure all cherry-picked commits contain `PiperOrigin-RevId: <CL number>` in the commit message. For some exceptions, if it's really specific to the release branch, include a good reason in the PR description and make sure it's signed-off by a Bazel team member.
7474
* If a requested cherry-pick has merge conflicts that cannot be resolved without cherry-picking additional commits, ask the author of the original commit to submit a PR directly against the release branch.
@@ -99,7 +99,7 @@ While the release is active, you should make sure to do the following:
9999
* Message: Release-4.2.3rc1 (Or any message you like)
100100
* Commit: HEAD
101101
* Branch: release-4.2.3rc1
102-
* Option: USE_BAZEL_VERSION=4.2.2
102+
* Option: USE_BAZEL_VERSION=4.2.2
103103
* If the previous version requires changes to the pipeline, create a new branch in the continuous-integration repository with the required changes (see release-4.2.4 [example](https://github.com/bazelbuild/continuous-integration/tree/release-4.2.4)) and explicitly set the buildkite script path. Refer to [this example](https://buildkite.com/bazel-trusted/bazel-release/builds/1076#01879e91-7694-420d-bc1a-4be9f84c0c51).
104104
1. Check the postsubmit test run for the release branch to ensure that all
105105
tests on all platforms pass with the version you're about to release.
@@ -115,7 +115,7 @@ While the release is active, you should make sure to do the following:
115115
* This will upload the release candidate binaries to GitHub and our
116116
apt-get repository. The link is probably of the form:
117117
https://releases.bazel.build/3.6.0/rc1/index.html
118-
118+
119119
1. If that worked, click on the "Generate release notes" step to unblock it. If this is the first release candidate, copy and paste the generated text into the release announcements doc. For rcX where X>2, compare the generated notes with the release announcements working doc and add only the new/missing notes. Refer to the "Release announcement" section below for more details.
120120

121121
1. Confirm that the RC published to GitHub looks good. If it's the first RC, add a note stating that the release notes are still being reviewed.
@@ -129,7 +129,7 @@ While the release is active, you should make sure to do the following:
129129
You can download it from here: https://github.com/bazelbuild/bazel/releases/tag/7.0.1rc1
130130
131131
If you're using Bazelisk, you can point to this RC by setting USE_BAZEL_VERSION=7.0.1rc1.
132-
132+
133133
Please test it out and report any issues [here](https://github.com/bazelbuild/bazel/issues) as soon as possible.
134134
A draft of the release notes can be found [here](https://docs.google.com/document/d/1pu2ARPweOCTxPsRR8snoDtkC9R51XWRyBXeiC6Ql5so/edit?usp=sharing).
135135
```
@@ -138,16 +138,16 @@ While the release is active, you should make sure to do the following:
138138
139139
1. Post on the #general channel on the [Bazel Slack](https://bazelbuild.slack.com/) announcing that a new RC is out. See [example](https://bazelbuild.slack.com/archives/CA31HN1T3/p1705095377557259).
140140
141-
1. Post a comment on all internal chats announcing that a new RC is out.
141+
1. Post a comment on all internal chats announcing that a new RC is out.
142142
143143
1. Post a comment on all issues / PRs addressed in this RC to ask users to test (this is a manual step for now but will eventually be automated).
144144
145-
Issues:
145+
Issues:
146146
```
147147
A fix for this issue has been included in [Bazel 7.0.2 RC1](https://github.com/bazelbuild/bazel/releases/tag/7.0.2rc1). Please test out the release candidate and report any issues as soon as possible.
148148
If you're using Bazelisk, you can point to the latest RC by setting USE_BAZEL_VERSION=7.0.2rc1. Thanks!
149149
```
150-
PRs:
150+
PRs:
151151
```
152152
The changes in this PR have been included in [Bazel 6.5.0 RC2](https://github.com/bazelbuild/bazel/releases/tag/6.5.0rc2). Please test out the release candidate and report any issues as soon as possible.
153153
If you're using Bazelisk, you can point to the latest RC by setting USE_BAZEL_VERSION=6.5.0rc2. Thanks!
@@ -161,25 +161,17 @@ While the release is active, you should make sure to do the following:
161161
* Branch: release-3.0.0rc2
162162
* **Note:** Make sure that downstream builds for the release candidate don't have any extra breakages compared to Bazel@HEAD so that Bazel postsubmits won’t be broken after the release.
163163
164-
1. Look for failing projects in red.
165-
* Compare the results with the latest Bazel release:
166-
* Jobs built with the latest Bazel:
167-
https://buildkite.com/bazel?team=bazel
168-
* Jobs built with release candidate: e.g.
169-
https://buildkite.com/bazel/bazel-with-downstream-projects-bazel/builds/287
170-
171-
If a project is failing with release candidate but not with the latest
172-
Bazel release, then there's probably a regression in the candidate. Ask
173-
the Bazel sheriff if the problem is already noticed. If not, find out
174-
the culprit, file an issue at
175-
https://github.com/bazelbuild/bazel/issues and mark it as release
176-
blocker.
177-
178-
If a project is failing with both release candidate and the latest Bazel
179-
release, it could be a breakage from the project itself. Go through the
180-
build history (eg.
181-
[TensorFlow_serving](https://buildkite.com/bazel/tensorflow-serving/builds?page=2))
182-
to confirm this, then file an issue to their owners.
164+
1. Trigger a new pipeline in BuildKite to test the release candidate with top BCR modules.
165+
* Go to https://buildkite.com/bazel/bcr-bazel-compatibility-test
166+
* Click "New Build", then fill in the fields like this:
167+
* Message: Test Bazel 8.0.0rc2 with top BCR modules (Or any message you like)
168+
* Environment Variables:
169+
- USE_BAZEL_VERSION=8.0.0rc2
170+
- SELECT_TOP_BCR_MODULES=100
171+
- SKIP_WAIT_FOR_APPROVAL=1
172+
* For a major release, BCR modules might be broken due to incompatible changes. In this case, file or update an issue in the BCR repository to report those breakages.
173+
For example, [#3056](https://github.com/bazelbuild/bazel-central-registry/issues/3056).
174+
* For a minor release, BCR modules should be passing if there is no previous known breakages reported during the major release test. If there are new breakages, that means there is probably a regression in the release candidate. In this case, file an issue in the Bazel repo and ask the Bazel team to investigate.
183175
184176
1. Once issues are fixed, create a new candidate with the relevant cherry-picks.
185177
@@ -194,11 +186,11 @@ Once the first candidate is available:
194186
the GitHub issue. Note that there should be a new Bazel Release Announcement document for every major release. For minor and patch releases, use the latest open doc.
195187
1. Copy & paste the generated text from the "Generate release notes" step.
196188
1. Reorganize the notes per category (C++, Java, etc.).
197-
1. Assign a comment to "+[[email protected]](mailto:[email protected])" and "+[[email protected]](mailto:[email protected])" for initial review.
189+
1. Assign a comment to "+[[email protected]](mailto:[email protected])" and "+[[email protected]](mailto:[email protected])" for initial review.
198190
1. Once approved, for each category, add a comment and assign it to the corresponding
199191
[team contact](https://bazel.build/contribute/maintainers-guide?hl=en#team-labels):
200192
"+person for review (see guidelines at the top of the doc)".
201-
193+
202194
For each subsequent release candidate:
203195
204196
1. Ensure that new commits are documented in the release announcement doc.
@@ -249,7 +241,7 @@ Note: the above policies are for final releases only. RCs can be created without
249241
click "Edit", see if there's a red warning sign next to any binary. You
250242
need to manually upload those; get them from
251243
`https://storage.googleapis.com/bazel/$RELEASE_NUMBER/release/index.html`.
252-
* Once the binaries are uploaded and the GitHub release page looks correct, click on "Build and Publish" to unblock this step.
244+
* Once the binaries are uploaded and the GitHub release page looks correct, click on "Build and Publish" to unblock this step.
253245
* Verify that the Chocolatey package has been successfully uploaded here: `https://community.chocolatey.org/packages/bazel/<version>`, e.g. [6.2.0](https://community.chocolatey.org/packages/bazel/6.2.0), [6.2.0-rc2](https://community.chocolatey.org/packages/bazel/6.2.0-rc2).
254246
* Verify that the docker container has been successfully build, pushed, and tagged as `latest` if needed, by checking the container registry. If there are any issues, follow the [instructions](../bazel/oci/README.md) to manually perform these steps. Ping [@meteorcloudy](https://github.com/meteorcloudy) for help.
255247

0 commit comments

Comments
 (0)