Skip to content

Update Go version to 1.25.10 and upgrade dependencies#1319

Merged
google-oss-prow[bot] merged 9 commits into
GoogleCloudPlatform:mainfrom
chizhg:update-go-1.25.10
Jun 5, 2026
Merged

Update Go version to 1.25.10 and upgrade dependencies#1319
google-oss-prow[bot] merged 9 commits into
GoogleCloudPlatform:mainfrom
chizhg:update-go-1.25.10

Conversation

@chizhg

@chizhg chizhg commented Jun 5, 2026

Copy link
Copy Markdown
Member

This pull request updates the repository to build and test using Go 1.25.10.

Summary of Changes

  • Go SDK: Set Go compiler toolchain to 1.25.10 via go_register_toolchains(version = "1.25.10") in WORKSPACE.
  • Module Version: Set language directive in go.mod to 1.25 to ensure smooth Gazelle module parsing.
  • Dependencies: Upgraded Bazel (6.5.0) and Protobuf (v29.0) toolchains with -c opt compilation.
  • Source Sync: Updated _virtual_imports runfile lookup paths and hermetically regenerated all committed protocol buffer go sources (.pb.go).
  • Verification: Verified all 29 application and test packages compile and pass perfectly.

This change updates the repository to build and test using Go 1.25.10.
It synchronizes module dependencies, upgrades Bazel (6.5.0) and Protobuf
(v29.0) toolchains with -c opt execution, and regenerates all protocol
buffer sources to ensure complete compilation and passing test verification.

TAG=agy
CONV=6162dc21-b30e-48ec-befc-4f832a75a471
chizhg added 8 commits June 5, 2026 02:58
This commit introduces a robust tools/bazel execution wrapper. When
invoked in CI containers (such as Prow's gcloud-bazel) where Bazel 6.5.0
is not pre-installed, it automatically executes or fetches Bazelisk to
hermetically resolve and execute against the required Bazel toolchain.

TAG=agy
CONV=6162dc21-b30e-48ec-befc-4f832a75a471
In Bazel 6, constraints from @bazel_tools//platforms have been removed.
This change migrates all remaining legacy platform references in custom
RBE execution toolchains (//platform:with_network, config:platform) to
embedded @platforms//os:linux and @platforms//cpu:x86_64 constraints,
resolving remote execution toolchain resolution failures in Prow CI.

TAG=agy
CONV=6162dc21-b30e-48ec-befc-4f832a75a471
This change upgrades legacy rules_docker to v0.25.0 (and removes
incorrect archive prefixes) to resolve 403 Forbidden storage bucket
download failures when pulling container architecture puller binaries
under Bazel 6 remote execution in Prow presubmits.

TAG=agy
CONV=6162dc21-b30e-48ec-befc-4f832a75a471
…lers

Legacy rules_docker hardcodes https://storage.googleapis.com/rules_docker
URLs for architecture standalone container puller binaries (go_puller_darwin,
go_puller_linux_arm64, etc.). Because the archived bucket returns 403 Forbidden
to unauthenticated external workers, this change pre-declares explicit
fallback overrides pointing to accessible public GitHub release artifacts,
ensuring perfect unauthenticated evaluation during Prow CI presubmits.

TAG=agy
CONV=6162dc21-b30e-48ec-befc-4f832a75a471
This change corrects the WORKSPACE overrides for the legacy
go_puller_* repositories. Rather than pointing to the GitHub source
release tarball, it properly downloads the precompiled executable puller
binaries from mirror.bazel.build with executable = True, matching the
exact format expected by the container_pull rules.

TAG=agy
CONV=6162dc21-b30e-48ec-befc-4f832a75a471
Newer versions of the Abseil-CPP library (e.g. 20240722.0) explicitly
throw a compilation error if compiling under C++ versions less than
C++14. This change configures --cxxopt=-std=c++17 and
--host_cxxopt=-std=c++17 in .bazelrc to force C++17 compilation
across all host and target C++ targets, resolving Prow CI compilation
failures.

TAG=agy
CONV=6162dc21-b30e-48ec-befc-4f832a75a471
The external target @io_k8s_repo_infra//hack:verify-deps is based on
a legacy wrapper script that fails in Go 1.21+ sandboxes because it
does not configure GOROOT for the trimmed Go compiler wrapper.

This change overrides the verification test with a local wrapper
script (hack/verify-deps.sh) that dynamically resolves the path to
the hermetic Go SDK and propagates GOROOT and PATH correctly. It also
excludes the sandboxed external/ directory from recursive scans to
avoid build target generation noise.

TAG=agy
CONV=6162dc21-b30e-48ec-befc-4f832a75a471
The external target @io_k8s_repo_infra//hack:verify-bazel runs Gazelle
inside the sandboxed runfiles folder which contains symlinks. Newer
Gazelle versions (e.g. v0.33.0) do not follow directory symlinks, causing
it to assume there are no Go source files and delete all Go targets.

This change overrides the verification test with a local wrapper
script (hack/verify-bazel.sh) that copies the workspace and resolves
symlinks to actual files before running Gazelle, Kazel, and Buildifier.
It also alphabetizes the target dependency data arrays.

TAG=agy
CONV=6162dc21-b30e-48ec-befc-4f832a75a471

@chases2 chases2 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for this! I'll need a little time to review the bash scripts, but overall LGTM

@google-oss-prow

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: chases2, chizhg

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@chases2 chases2 mentioned this pull request Jun 5, 2026
@google-oss-prow google-oss-prow Bot merged commit 4713188 into GoogleCloudPlatform:main Jun 5, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants