Skip to content

Commit 62c6f5e

Browse files
craig[bot]srosenberg
andcommitted
149507: build: cherry-pick golang#62086 onto cockroach-go1.23.7 r=srosenberg a=srosenberg Bump go1.23.7 toolchain to include cherry-pick of golang#62086. * [ ] Adjust the Pebble tests to run in new version. * [x] Update [our `go` fork](https://github.com/cockroachdb/go) with a new branch containing our patches. Create a new branch `cockroach-go$GO_VERSION` and take note of the commit ID. * [x] Update `build/teamcity/internal/release/build-and-publish-patched-go/commit.txt` with the commit ID in the `go` fork. * [ ] Update `build/teamcity/internal/release/build-and-publish-patched-go/impl.sh` with the new `GOVERS` and adjust SHA256 sums as necessary. * [ ] Adjust `GO_FIPS_COMMIT` for the FIPS Go toolchain ([source](./teamcity/internal/release/build-and-publish-patched-go/impl-fips.sh)). * [x] Run the `Internal / Cockroach / Build / Toolchains / Publish Patched Go for Mac` build configuration in TeamCity with your latest version of the script above. Note the job depends on another job `Build and Publish Patched Go`. That job prints out the SHA256 of all tarballs, which you will need to copy-paste into `WORKSPACE` (see below). `Publish Patched Go for Mac` is an extra step that publishes the *signed* `go` binaries for macOS. That job also prints out the SHA256 of the Mac tarballs in particular. * [x] Adjust `--`@io_bazel_rules_go//go/toolchain:sdk_version`` in [.bazelrc](../.bazelrc). * [x] Bump the version in `WORKSPACE` under `go_download_sdk`. You may need to bump [rules_go](https://github.com/bazelbuild/rules_go/releases). Also edit the filenames listed in `sdks` and update all the hashes to match what you built in the step above. * [x] Bump the version in `WORKSPACE` under `go_download_sdk` for the FIPS version of Go (`go_sdk_fips`). * [ ] Upgrade golang.org/x packages; these are maintained by the Go project and it's reasonable to upgrade them when doing our Go upgrade. Run `grep -e '^\tgolang.org/x' go.mod | grep -v vcs | grep -v image | grep -v typeparams | cut -w -f2 | sed 's/$/`@latest/'` | xargs go get`. (Note: we don't upgrade certain libraries that are not linked into CRDB, hence the `grep -v`.) * [x] Run `./dev generate bazel --mirror`, then `bazel fetch `@distdir//:archives`` to ensure you've updated all hashes to the correct value. * [ ] Bump the go version in `go.mod`. * [ ] Bump the default installed version of Go in `bootstrap-debian.sh` ([source](./bootstrap/bootstrap-debian.sh)). * [ ] Replace other mentions of the older version of go (grep for `golang:<old_version>` and `go<old_version>`). Fixes: #148993 Release note: None 150158: roachtest: add PostValidationAll r=darrylwong a=srosenberg Minor refactoring to simplify the expression of "exclude all post-validation" checks. Epic: none Release note: None Co-authored-by: Stan Rosenberg <[email protected]> Co-authored-by: Stan Rosenberg <[email protected]>
3 parents d3b81e1 + e1e2f39 + ccc533d commit 62c6f5e

File tree

6 files changed

+49
-40
lines changed

6 files changed

+49
-40
lines changed

WORKSPACE

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -167,14 +167,14 @@ load(
167167
go_download_sdk(
168168
name = "go_sdk",
169169
sdks = {
170-
"darwin_amd64": ("go1.23.7.darwin-amd64.tar.gz", "76497c55ad59457091c6dd04ae33977254d38283e53ee2d6bc0b7d777239d34e"),
171-
"darwin_arm64": ("go1.23.7.darwin-arm64.tar.gz", "f661c23425d7667f566590e9ac77939b3b63e30d1a10675ca81ac5e4b3414987"),
172-
"linux_amd64": ("go1.23.7.linux-amd64.tar.gz", "f9baea5264009b0b07613964cee8bc861301eb730726f1022a81f299505d3f40"),
173-
"linux_arm64": ("go1.23.7.linux-arm64.tar.gz", "bcbcee8da9f3b47637f05b097ea3901b47800d49d91c451f2fa815156b43ad50"),
174-
"linux_s390x": ("go1.23.7.linux-s390x.tar.gz", "26d2ae0a1df1f378d189943d4a916ac1999beb49703996145fd7392fc0afadbe"),
175-
"windows_amd64": ("go1.23.7.windows-amd64.tar.gz", "9f1a6efca4717d426675065d92471afa1a3e5dc707f0a1f659dac29207f3b01c"),
170+
"darwin_amd64": ("go1.23.7.darwin-amd64.tar.gz", "d26ec0c7ce5975a334b1c343de8eb7aa8777fac278440cc2204b76eab867b3ef"),
171+
"darwin_arm64": ("go1.23.7.darwin-arm64.tar.gz", "3c1ab410d0828951cddde4959b72ef33aedbce8e3c8aa9c76cc4a094043fef43"),
172+
"linux_amd64": ("go1.23.7.linux-amd64.tar.gz", "b69a06004491883f176b0ec600a7efbb3ec9450561653d8f509fc10d43176492"),
173+
"linux_arm64": ("go1.23.7.linux-arm64.tar.gz", "4b0922c371650ec1fda259f41abc98412abf149b8d358daa5e5bc7c553bc6e52"),
174+
"linux_s390x": ("go1.23.7.linux-s390x.tar.gz", "25f0cb7d7683cd9df1e194852a1856ac905be5c001759bab7862dad7aedc626d"),
175+
"windows_amd64": ("go1.23.7.windows-amd64.tar.gz", "265efcbe685b3737f317c52e13eaa444bc205ad6a5e676f59d229ec4dc5821d1"),
176176
},
177-
urls = ["https://storage.googleapis.com/public-bazel-artifacts/go/20250312-000108/{}"],
177+
urls = ["https://storage.googleapis.com/public-bazel-artifacts/go/20250714-192942/{}"],
178178
version = "1.23.7",
179179
)
180180

@@ -659,8 +659,8 @@ go_download_sdk(
659659
# able to provide additional diagnostic information such as the expected version of OpenSSL.
660660
experiments = ["boringcrypto"],
661661
sdks = {
662-
"linux_amd64": ("go1.23.7fips.linux-amd64.tar.gz", "b8e942eb06ec19db5e2ee8fa276b0df8a9a9bd97b081d349f331c8f06f27cb55"),
662+
"linux_amd64": ("go1.23.7fips.linux-amd64.tar.gz", "f7bb32b36090ba9e632a7ee9fa414214c79a2d1b0be609ac12975b448d973961"),
663663
},
664-
urls = ["https://storage.googleapis.com/public-bazel-artifacts/go/20250312-000108/{}"],
664+
urls = ["https://storage.googleapis.com/public-bazel-artifacts/go/20250714-192942/{}"],
665665
version = "1.23.7fips",
666666
)

build/bazelutil/distdir_files.bzl

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1208,13 +1208,13 @@ DISTDIR_FILES = {
12081208
"https://storage.googleapis.com/public-bazel-artifacts/c-deps/20241202-211651/libproj_foreign.macos.20241202-211651.tar.gz": "b0a672f24748c24c941884c04413fd8e20afd6bca95e0451f3cfb15dd2cc1eb9",
12091209
"https://storage.googleapis.com/public-bazel-artifacts/c-deps/20241202-211651/libproj_foreign.macosarm.20241202-211651.tar.gz": "a35706bf0112e9652d6e41501113ee0f0f392b67e495979c867f71f17cf6ce7e",
12101210
"https://storage.googleapis.com/public-bazel-artifacts/c-deps/20241202-211651/libproj_foreign.windows.20241202-211651.tar.gz": "a33b64a784e856dbb3c84a52075227c48f0ff52a858639c3737a8911201d0c65",
1211-
"https://storage.googleapis.com/public-bazel-artifacts/go/20250312-000108/go1.23.7.darwin-amd64.tar.gz": "76497c55ad59457091c6dd04ae33977254d38283e53ee2d6bc0b7d777239d34e",
1212-
"https://storage.googleapis.com/public-bazel-artifacts/go/20250312-000108/go1.23.7.darwin-arm64.tar.gz": "f661c23425d7667f566590e9ac77939b3b63e30d1a10675ca81ac5e4b3414987",
1213-
"https://storage.googleapis.com/public-bazel-artifacts/go/20250312-000108/go1.23.7.linux-amd64.tar.gz": "f9baea5264009b0b07613964cee8bc861301eb730726f1022a81f299505d3f40",
1214-
"https://storage.googleapis.com/public-bazel-artifacts/go/20250312-000108/go1.23.7.linux-arm64.tar.gz": "bcbcee8da9f3b47637f05b097ea3901b47800d49d91c451f2fa815156b43ad50",
1215-
"https://storage.googleapis.com/public-bazel-artifacts/go/20250312-000108/go1.23.7.linux-s390x.tar.gz": "26d2ae0a1df1f378d189943d4a916ac1999beb49703996145fd7392fc0afadbe",
1216-
"https://storage.googleapis.com/public-bazel-artifacts/go/20250312-000108/go1.23.7.windows-amd64.tar.gz": "9f1a6efca4717d426675065d92471afa1a3e5dc707f0a1f659dac29207f3b01c",
1217-
"https://storage.googleapis.com/public-bazel-artifacts/go/20250312-000108/go1.23.7fips.linux-amd64.tar.gz": "b8e942eb06ec19db5e2ee8fa276b0df8a9a9bd97b081d349f331c8f06f27cb55",
1211+
"https://storage.googleapis.com/public-bazel-artifacts/go/20250714-192942/go1.23.7.darwin-amd64.tar.gz": "d26ec0c7ce5975a334b1c343de8eb7aa8777fac278440cc2204b76eab867b3ef",
1212+
"https://storage.googleapis.com/public-bazel-artifacts/go/20250714-192942/go1.23.7.darwin-arm64.tar.gz": "3c1ab410d0828951cddde4959b72ef33aedbce8e3c8aa9c76cc4a094043fef43",
1213+
"https://storage.googleapis.com/public-bazel-artifacts/go/20250714-192942/go1.23.7.linux-amd64.tar.gz": "b69a06004491883f176b0ec600a7efbb3ec9450561653d8f509fc10d43176492",
1214+
"https://storage.googleapis.com/public-bazel-artifacts/go/20250714-192942/go1.23.7.linux-arm64.tar.gz": "4b0922c371650ec1fda259f41abc98412abf149b8d358daa5e5bc7c553bc6e52",
1215+
"https://storage.googleapis.com/public-bazel-artifacts/go/20250714-192942/go1.23.7.linux-s390x.tar.gz": "25f0cb7d7683cd9df1e194852a1856ac905be5c001759bab7862dad7aedc626d",
1216+
"https://storage.googleapis.com/public-bazel-artifacts/go/20250714-192942/go1.23.7.windows-amd64.tar.gz": "265efcbe685b3737f317c52e13eaa444bc205ad6a5e676f59d229ec4dc5821d1",
1217+
"https://storage.googleapis.com/public-bazel-artifacts/go/20250714-192942/go1.23.7fips.linux-amd64.tar.gz": "f7bb32b36090ba9e632a7ee9fa414214c79a2d1b0be609ac12975b448d973961",
12181218
"https://storage.googleapis.com/public-bazel-artifacts/java/railroad/rr-1.63-java8.zip": "d2791cd7a44ea5be862f33f5a9b3d40aaad9858455828ebade7007ad7113fb41",
12191219
"https://storage.googleapis.com/public-bazel-artifacts/js/rules_jest-v0.18.4.tar.gz": "d3bb833f74b8ad054e6bff5e41606ff10a62880cc99e4d480f4bdfa70add1ba7",
12201220
"https://storage.googleapis.com/public-bazel-artifacts/js/rules_js-v1.42.3.tar.gz": "2cfb3875e1231cefd3fada6774f2c0c5a99db0070e0e48ea398acbff7c6c765b",
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
873d6bf8a684b29c8ab932bd6e1b7e6cdcf6f99b
1+
4eca4292cae8f25b834db7001ff25284b1f9ccfa

pkg/cmd/roachtest/registry/test_spec.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -226,6 +226,12 @@ func (ts *TestSpec) GetPostProcessWorkloadMetricsFunction() func(string, *roacht
226226
}
227227

228228
// PostValidation is a type of post-validation that runs after a test completes.
229+
// By default, all validations are run unless TestSpec.SkipPostValidations is set to a bitwise OR
230+
// of the validations to skip.
231+
//
232+
// E.g., SkipPostValidations : PostValidationReplicaDivergence | PostValidationInvalidDescriptors
233+
// would skip the replica divergence and invalid descriptors validations and run the rest.
234+
// SkipPostValidations: PostValidationAll would skip _all_ validations.
229235
type PostValidation int
230236

231237
const (
@@ -241,6 +247,8 @@ const (
241247
// In its current state it is no longer functional.
242248
// See: https://github.com/cockroachdb/cockroach/issues/137329 for details.
243249
PostValidationNoDeadNodes
250+
// PostValidationAll is a bitwise OR of all post-validations to skip.
251+
PostValidationAll = PostValidationReplicaDivergence | PostValidationInvalidDescriptors | PostValidationNoDeadNodes
244252
)
245253

246254
// PromSub replaces all non prometheus friendly chars with "_". Note,

pkg/cmd/roachtest/test_runner.go

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1475,10 +1475,13 @@ func (r *testRunner) runTest(
14751475
// We still want to run the post-test assertions even if the test timed out as it
14761476
// might provide useful information about the health of the nodes. Any assertion failures
14771477
// will be recorded against, and eventually fail, the test.
1478-
if err := r.postTestAssertions(ctx, t, c, 10*time.Minute); err != nil {
1479-
l.Printf("error during post test assertions: %v; see test-post-assertions.log for details", err)
1478+
if t.spec.SkipPostValidations != registry.PostValidationAll {
1479+
if err := r.postTestAssertions(ctx, t, c, 10*time.Minute); err != nil {
1480+
l.Printf("error during post test assertions: %v; see test-post-assertions.log for details", err)
1481+
}
1482+
} else {
1483+
l.Printf("skipping all post test assertions due to `PostValidationAll`")
14801484
}
1481-
14821485
} else {
14831486
l.Printf("skipping post test assertions as test failed")
14841487
}

pkg/cmd/roachtest/tests/loss_of_quorum_recovery.go

Lines changed: 18 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -66,31 +66,29 @@ func registerLOQRecovery(r registry.Registry) {
6666
} {
6767
testSpec := s
6868
r.Add(registry.TestSpec{
69-
Name: s.testName(""),
70-
Owner: registry.OwnerKV,
71-
Benchmark: true,
72-
CompatibleClouds: registry.AllExceptAWS,
73-
Suites: registry.Suites(registry.Nightly),
74-
Cluster: spec,
75-
Leases: registry.MetamorphicLeases,
76-
SkipPostValidations: registry.PostValidationReplicaDivergence |
77-
registry.PostValidationInvalidDescriptors | registry.PostValidationNoDeadNodes,
78-
NonReleaseBlocker: true,
69+
Name: s.testName(""),
70+
Owner: registry.OwnerKV,
71+
Benchmark: true,
72+
CompatibleClouds: registry.AllExceptAWS,
73+
Suites: registry.Suites(registry.Nightly),
74+
Cluster: spec,
75+
Leases: registry.MetamorphicLeases,
76+
SkipPostValidations: registry.PostValidationAll,
77+
NonReleaseBlocker: true,
7978
Run: func(ctx context.Context, t test.Test, c cluster.Cluster) {
8079
runRecoverLossOfQuorum(ctx, t, c, testSpec)
8180
},
8281
})
8382
r.Add(registry.TestSpec{
84-
Name: s.testName("half-online"),
85-
Owner: registry.OwnerKV,
86-
Benchmark: true,
87-
CompatibleClouds: registry.AllExceptAWS,
88-
Suites: registry.Suites(registry.Nightly),
89-
Cluster: spec,
90-
Leases: registry.MetamorphicLeases,
91-
SkipPostValidations: registry.PostValidationReplicaDivergence |
92-
registry.PostValidationInvalidDescriptors | registry.PostValidationNoDeadNodes,
93-
NonReleaseBlocker: true,
83+
Name: s.testName("half-online"),
84+
Owner: registry.OwnerKV,
85+
Benchmark: true,
86+
CompatibleClouds: registry.AllExceptAWS,
87+
Suites: registry.Suites(registry.Nightly),
88+
Cluster: spec,
89+
Leases: registry.MetamorphicLeases,
90+
SkipPostValidations: registry.PostValidationAll,
91+
NonReleaseBlocker: true,
9492
Run: func(ctx context.Context, t test.Test, c cluster.Cluster) {
9593
runHalfOnlineRecoverLossOfQuorum(ctx, t, c, testSpec)
9694
},

0 commit comments

Comments
 (0)