Skip to content

*: upgrade to Go 1.25.3#156000

Merged
craig[bot] merged 1 commit intocockroachdb:masterfrom
rickystewart:ricky/yrromnxxxtpr
Oct 28, 2025
Merged

*: upgrade to Go 1.25.3#156000
craig[bot] merged 1 commit intocockroachdb:masterfrom
rickystewart:ricky/yrromnxxxtpr

Conversation

@rickystewart
Copy link
Copy Markdown
Collaborator

@rickystewart rickystewart commented Oct 23, 2025

To keep the FIPS build working, some changes were necessary; as of the
latest version, due to upstream changes to support FIPS in the standard
Go distribution, Go refuses to use the X25519 curve. We opt into the
P256 curve instead explicitly only in FIPS mode. I also removed
now-unnecessary functions in fipsccl and replace them with the upstream
fips140.Enabled() function.

Some other minor changes mostly in test code were also necessary to keep
tests running.

  • Adjust the Pebble tests to run in new version.
  • Update our go fork with a new branch containing our patches. Create a new branch cockroach-go$GO_VERSION and take note of the commit ID.
  • 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.
  • 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.
  • Bump the version in WORKSPACE under go_download_sdk. You may need to bump rules_go. Also edit the filenames listed in sdks and update all the hashes to match what you built in the step above.
  • 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.)
  • 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).
  • Replace other mentions of the older version of go (grep for golang:<old_version> and go<old_version>).

Epic: DEVINF-1477
Release note (build change): Upgrade to Go 1.25.3

@rickystewart rickystewart requested review from a team as code owners October 23, 2025 18:52
@rickystewart rickystewart requested review from herkolategan and shailendra-patel and removed request for a team October 23, 2025 18:52
@blathers-crl
Copy link
Copy Markdown

blathers-crl bot commented Oct 23, 2025

Your pull request contains more than 1000 changes. It is strongly encouraged to split big PRs into smaller chunks.

🦉 Hoot! I am a Blathers, a bot for CockroachDB. My owner is dev-inf.

@rickystewart rickystewart requested review from Abhinav1299, RaduBerinde, aa-joshi, aerfrei, angles-n-daemons, arjunmahishi and kev-cao and removed request for a team October 23, 2025 18:52
@rickystewart rickystewart requested a review from michae2 October 23, 2025 18:52
@cockroach-teamcity
Copy link
Copy Markdown
Member

This change is Reviewable

@rickystewart rickystewart force-pushed the ricky/yrromnxxxtpr branch 2 times, most recently from 5de850a to 96cc5fc Compare October 23, 2025 19:54
@cockroach-teamcity cockroach-teamcity added the X-perf-gain Microbenchmarks CI: Added if a performance gain is detected label Oct 23, 2025
To keep the FIPS build working, some changes were necessary; as of the
latest version, due to upstream changes to support FIPS in the standard
Go distribution, Go refuses to use the X25519 curve. We opt into the
`P256` curve instead explicitly only in FIPS mode. I also removed
now-unnecessary functions in `fipsccl` and replace them with the upstream
`fips140.Enabled()` function.

Some other minor changes mostly in test code were also necessary to keep
tests running.

* [ ] Adjust the Pebble tests to run in new version.
* [ ] 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.
* [ ] 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.
* [ ] 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.
* [ ] 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.
* [ ] 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`.)
* [ ] 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>`).

Epic: DEVINF-1477
Release note (build change): Upgrade to Go 1.25.3
@rickystewart
Copy link
Copy Markdown
Collaborator Author

bors r=rail

@craig
Copy link
Copy Markdown
Contributor

craig bot commented Oct 28, 2025

@craig craig bot merged commit c6539d4 into cockroachdb:master Oct 28, 2025
32 of 35 checks passed
@github-actions
Copy link
Copy Markdown
Contributor

Potential Bug(s) Detected

The three-stage Claude Code analysis has identified potential bug(s) in this PR that may warrant investigation.

Next Steps:
Please review the detailed findings in the workflow run.

After you review the findings, please tag the issue as follows:

  • If the detected issue is real or was helpful in any way, please tag the issue with O-AI-Review-Real-Issue-Found
  • If the detected issue was not helpful in any way, please tag the issue with O-AI-Review-Not-Helpful

@github-actions github-actions bot added the o-AI-Review-Potential-Issue-Detected AI reviewer found potential issue. Never assign manually—auto-applied by GH action only. label Oct 28, 2025
@rickystewart rickystewart added the O-AI-Review-Real-Issue-Found AI reviewer found real issue label Oct 28, 2025
@github-actions
Copy link
Copy Markdown
Contributor

Potential Bug(s) Detected

The three-stage Claude Code analysis has identified potential bug(s) in this PR that may warrant investigation.

Next Steps:
Please review the detailed findings in the workflow run.

After you review the findings, please tag the issue as follows:

  • If the detected issue is real or was helpful in any way, please tag the issue with O-AI-Review-Real-Issue-Found
  • If the detected issue was not helpful in any way, please tag the issue with O-AI-Review-Not-Helpful

rickystewart added a commit to rickystewart/cockroach that referenced this pull request Nov 5, 2025
Since the `rules_go` upgrade from cockroachdb#156000, we have accidentally included
the test name in the package path. This PR fixes that and fixes the
associated test case.

Release note: none
Epic: none
craig bot pushed a commit that referenced this pull request Nov 6, 2025
155564: *: remove remaining references of the meta issue for secondary test tenants r=yuzefovich a=yuzefovich

**logictest: reference separate issue for disabling test tenant**

**base: remove TODOTestTenantDisabled**

All test tenant skips now have specific issues.

***: remove remaining references of the meta issue**

Going forward, #76378 will be the meta issue tracking all remaining work
for investigating and enabling test tenants across our tests. This
commit removes the last explicit mentions of the issue by replacing with
specific ones or enabling test tenants on some packages that happened to
just work.

Epic: CRDB-48945
Release note: None

156593: roachtest/pg_regress: accept recent diff and disable jobs notice r=yuzefovich a=yuzefovich

Fixes: #155302.
Release note: None

156967: bazci/githubpost: fix `pkg` calculation from `test.xml` r=rail a=rickystewart

Since the `rules_go` upgrade from #156000, we have accidentally included the test name in the package path. This PR fixes that and fixes the associated test case.

Release note: none
Epic: none

Co-authored-by: Yahor Yuzefovich <yahor@cockroachlabs.com>
Co-authored-by: Ricky Stewart <ricky@cockroachlabs.com>
craig bot pushed a commit that referenced this pull request Nov 6, 2025
155564: *: remove remaining references of the meta issue for secondary test tenants r=yuzefovich a=yuzefovich

**logictest: reference separate issue for disabling test tenant**

**base: remove TODOTestTenantDisabled**

All test tenant skips now have specific issues.

***: remove remaining references of the meta issue**

Going forward, #76378 will be the meta issue tracking all remaining work
for investigating and enabling test tenants across our tests. This
commit removes the last explicit mentions of the issue by replacing with
specific ones or enabling test tenants on some packages that happened to
just work.

Epic: CRDB-48945
Release note: None

156593: roachtest/pg_regress: accept recent diff and disable jobs notice r=yuzefovich a=yuzefovich

Fixes: #155302.
Release note: None

156952: go.mod: bump Pebble to 5c1580d5c101 r=RaduBerinde a=RaduBerinde

Changes:

 * [`5c1580d5`](cockroachdb/pebble@5c1580d5) metrics: add compression counters
 * [`1bddddf4`](cockroachdb/pebble@1bddddf4) base: move cache.Level to base
 * [`97df4e11`](cockroachdb/pebble@97df4e11) db: compactions: calculate eventual output level
 * [`437775ad`](cockroachdb/pebble@437775ad) db: minor compaction cleanup
 * [`97bcce61`](cockroachdb/pebble@97bcce61) db: move replayIngestedFlushable into recovery.go
 * [`01889434`](cockroachdb/pebble@01889434) db: move replayWAL into recovery.go
 * [`d928a2e6`](cockroachdb/pebble@d928a2e6) db: pull more recovery logic into recoverState
 * [`eda4c4a4`](cockroachdb/pebble@eda4c4a4) sstable: in props, remove ValueSeparationKind, add ValueSeparationBySuffixDisabled
 * [`a3b6a96e`](cockroachdb/pebble@a3b6a96e) github: enable claude code review bot as an opt-in GH action
 * [`df7e1fc0`](cockroachdb/pebble@df7e1fc0) db, valsep: do not separate mvcc values if DisableSeparationBySuffix is true
 * [`1c9b3f39`](cockroachdb/pebble@1c9b3f39) db, valsep: make span ValueStoragePolicy a struct defining the min size
 * [`1df7d4aa`](cockroachdb/pebble@1df7d4aa) add CLAUDE.md
 * [`1113a6a2`](cockroachdb/pebble@1113a6a2) db: narrow down versionSet.metrics
 * [`8a7840b8`](cockroachdb/pebble@8a7840b8) deletepacer: don't use fifo.Queue
 * [`41b4919e`](cockroachdb/pebble@41b4919e) go.mod: require Go 1.25

Release note: none.
Epic: none.

156967: bazci/githubpost: fix `pkg` calculation from `test.xml` r=rail a=rickystewart

Since the `rules_go` upgrade from #156000, we have accidentally included the test name in the package path. This PR fixes that and fixes the associated test case.

Release note: none
Epic: none

Co-authored-by: Yahor Yuzefovich <yahor@cockroachlabs.com>
Co-authored-by: Radu Berinde <radu@cockroachlabs.com>
Co-authored-by: Ricky Stewart <ricky@cockroachlabs.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

o-AI-Review-Potential-Issue-Detected AI reviewer found potential issue. Never assign manually—auto-applied by GH action only. O-AI-Review-Real-Issue-Found AI reviewer found real issue v26.1.0-prerelease X-perf-gain Microbenchmarks CI: Added if a performance gain is detected

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants