Skip to content

chore: Upgrade go to 1.25.3#104

Merged
wandb-kc merged 2 commits intomainfrom
kc/upgrade-go-1.25.3
Nov 20, 2025
Merged

chore: Upgrade go to 1.25.3#104
wandb-kc merged 2 commits intomainfrom
kc/upgrade-go-1.25.3

Conversation

@wandb-kc
Copy link
Copy Markdown
Contributor

@wandb-kc wandb-kc commented Nov 3, 2025

Go upgrade addresses a handful of stdlib vulns:

Helm upgrade addresses:

go get helm.sh/helm/v3@v3.19.0
go mod tidy

Summary by CodeRabbit

  • Chores
    • Updated Go toolchain from 1.24 to 1.25 across CI workflows, build pipelines, and container images.
    • Modernized and upgraded core dependencies (Kubernetes, Helm, gRPC, OpenTelemetry, protobuf/grpc-gateway, and many transitive packages) to align with newer ecosystem versions and improve compatibility and security.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Nov 3, 2025

Walkthrough

Upgraded Go toolchain from 1.24 → 1.25 across CI, Docker build, and module files; bumped go.mod toolchain and many dependencies (Kubernetes client libs to v0.34.x, Helm to v3.19.0, and numerous indirect libraries).

Changes

Cohort / File(s) Change Summary
GitHub Actions Workflows
/.github/workflows/release.yaml, /.github/workflows/run-tests.yaml
Bumped Setup Go version from 1.24 to 1.25 in CI steps (Test, Build, Dependency Check).
Build Configuration
Dockerfile
Updated manager-builder base image from golang:1.24 to golang:1.25.
Go Module Dependencies
go.mod
Toolchain set to go 1.25.3; go:godebug moved to go1.25; upgraded Kubernetes modules to v0.34.x, Helm to v3.19.0, cel.dev/expr to v0.24.0, and many indirect dependencies (protobuf, gRPC, OpenTelemetry, golang.org/x/*, fsnotify, etc.).

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

  • Pay attention to Kubernetes client-go/API compatibility and any deprecated APIs.
  • Verify dependency resolution around protobuf/gRPC and OpenTelemetry to avoid incompatibilities.

Possibly related PRs

Suggested reviewers

  • danielpanzella
  • j7m4

Poem

🐰 I hopped from one-two-four to one-two-five,
Packages twitched and build paths came alive.
Helm and k8s stretched toward the sun,
Modules danced — the upgrades done.
A little rabbit cheers: "New Go, here we thrive!"

Pre-merge checks and finishing touches

✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'chore: Upgrade go to 1.25.3' directly and accurately summarizes the main change in the pull request: upgrading Go from 1.24 to 1.25.3 across all configuration files and dependencies.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch kc/upgrade-go-1.25.3

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 63093c3 and e7af493.

⛔ Files ignored due to path filters (1)
  • go.sum is excluded by !**/*.sum
📒 Files selected for processing (1)
  • go.mod (5 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (4)
  • GitHub Check: build-and-scan
  • GitHub Check: Socket Security: Pull Request Alerts
  • GitHub Check: Build
  • GitHub Check: Test
🔇 Additional comments (4)
go.mod (4)

3-5: Go toolchain and godebug directive updated appropriately.

The godebug default=go1.25 setting means "set everything the way Go 1.25 was", providing backwards compatibility control when upgrading the toolchain. This is a best practice for managing compatibility while addressing security vulnerabilities.


134-134: golang.org/x modules successfully updated to latest stable versions.

The golang.org/x packages have been updated from outdated versions:

  • golang.org/x/crypto v0.43.0 ✓
  • golang.org/x/net v0.46.0 ✓
  • golang.org/x/text v0.30.0 ✓

This addresses the previous review feedback and ensures security patches and ecosystem improvements from recent releases are included.

Also applies to: 137-137, 142-142


14-17: I'll verify the claims about dependency compatibility and security vulnerabilities.

No breaking changes detected; dependency upgrades are compatible and address security vulnerability.

Kubernetes v1.34 will not include any removal or deprecation, and controller-runtime v0.20 is tested with Kubernetes v0.34. The codebase uses standard, stable Kubernetes APIs (corev1, metav1, client-go) that have no compatibility issues. CVE-2025-53547 affects Helm versions prior to 3.18.4 and has been patched in Helm version 3.18.4, so Helm v3.19.0 successfully addresses this vulnerability.


22-169: Dependency updates verified at module and build level; test infrastructure limitations prevent full validation.

The module verification and build stage passed successfully:

  • go mod verify confirmed consistency
  • go build ./... compiled without errors

Test failures result from sandbox environment limitations (missing kubebuilder, etcd, Docker, and make), not dependency incompatibilities. Confirm this in your local development environment before merging.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@wandb-kc wandb-kc changed the base branch from kc/upgrade-helm-3.19 to main November 3, 2025 19:11
@wandb-kc wandb-kc marked this pull request as ready for review November 3, 2025 19:12
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 2d0f015 and 63093c3.

⛔ Files ignored due to path filters (1)
  • go.sum is excluded by !**/*.sum
📒 Files selected for processing (4)
  • .github/workflows/release.yaml (1 hunks)
  • .github/workflows/run-tests.yaml (3 hunks)
  • Dockerfile (1 hunks)
  • go.mod (5 hunks)
🔇 Additional comments (11)
.github/workflows/release.yaml (1)

52-54: Version bump is consistent across the PR.

The Go version update from 1.24 to 1.25 aligns with the broader upgrade across workflows, Docker build, and dependencies. No issues identified.

.github/workflows/run-tests.yaml (3)

16-18: CI workflows consistently updated.

Go version bumps to 1.25 across Test, Build, and Dependency Check jobs are consistent with the PR objective and other files.


31-34: Build job version updated.

Consistent with Test job changes.


43-46: Dependency Check job version updated.

Consistent with other CI jobs.

Dockerfile (1)

2-2: Docker build base image aligned with new Go version.

The update to golang:1.25 is consistent with CI and module configuration changes.

go.mod (6)

3-3: Verify godebug directive semantics and impact.

The go directive bumped to 1.25.3 and godebug set to go1.25. Confirm that activating Go 1.25 compatibility semantics does not introduce unexpected behavioral changes in the operator. Document any known behavioral differences if applicable.

Also applies to: 5-5


14-14: Helm upgraded to v3.19.0 for security fix.

The upgrade from v3.17.4 to v3.19.0 addresses CVE-2025-53547 as noted in PR objectives. This is a minor version bump and should maintain API compatibility.

Please verify that Helm v3.19.0 has no breaking changes affecting the operator's Helm integration.


15-18: Kubernetes client libraries bumped to v0.34.0.

The upgrade to k8s.io/{api,apimachinery,client-go} v0.34.0 is a significant version change. Verify that the operator's code is compatible with any API deprecations, field removals, or behavioral changes in K8s v0.34.0. Also confirm that controller-runtime v0.20.0 is compatible with this K8s version.


121-129: OpenTelemetry dependencies updated coherently.

The OTEL components (v1.35.0 and v1.34.0) are updated consistently. No version conflicts or compatibility issues apparent.


148-149: gRPC and Protobuf versions are current.

gRPC v1.72.1 and Protobuf v1.36.5 are recent and compatible with Go 1.25.3.


1-169: Overall go.mod update appears sound for Go 1.25.3 upgrade.

The module upgrades are comprehensive and address the stated CVE fixes. The changes maintain internal consistency (go mod tidy was run). Key recommendations before merge:

  1. Verify K8s v0.34.0 compatibility with operator code (API deprecations, field removals).
  2. Confirm godebug=go1.25 does not introduce unexpected behavioral changes.
  3. Verify golang.org/x/* package versions are current and include latest security patches.

Consider running full integration tests targeting the new dependency versions to validate operator functionality.

Comment thread go.mod Outdated
@socket-security
Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updatedhelm.sh/​helm/​v3@​v3.17.4 ⏵ v3.19.073 +1100 +610010080
Updatedk8s.io/​apimachinery@​v0.32.2 ⏵ v0.34.074 +1100100100100
Updatedk8s.io/​client-go@​v0.32.2 ⏵ v0.34.075 +1100100100100
Updatedk8s.io/​api@​v0.32.2 ⏵ v0.34.076 +1100100100100

View full report

@wandb-kc wandb-kc merged commit 6007156 into main Nov 20, 2025
10 checks passed
@wandb-kc wandb-kc deleted the kc/upgrade-go-1.25.3 branch November 20, 2025 19:24
@jsbroks
Copy link
Copy Markdown
Member

jsbroks commented Dec 4, 2025

This PR is included in version 1.21.3 🎉

danielpanzella added a commit that referenced this pull request Dec 10, 2025
* chore: Upgrade go to 1.25.3 (#104)

* chore: Upgrade go to 1.25.3

* chore: Upgrade go to 1.25.3

* chore: Upgrade helm to 3.19.2 (#105)

* chore: initial scaffolding for application type

* fix: Refactor webhooks to match the kubebuilder standard structure

* fix: WIP on conversion webhooks

* fix: Get existing tests to pass with v1 and v2 reconcile paths enabled

* fix: Revert tiltfile changes and fix conversion webhooks to ensure v1 deploys still work, default v2 to enabled.

* fix: reworked all the operator installs

* chore: re-generate

* chore: remove erroneous import

* feat: additional application reconcile logic and validating webhooks actually fireing

* fix: address some minor issues and merge from main

* fix: address some minor issues and merge from main

---------

Co-authored-by: Kevin Chen <140976422+wandb-kc@users.noreply.github.com>
j7m4 added a commit that referenced this pull request Mar 24, 2026
* chore: Upgrade go to 1.25.3 (#104)

* chore: Upgrade go to 1.25.3

* chore: Upgrade go to 1.25.3

* chore: Upgrade helm to 3.19.2 (#105)

* fix: Upgrade helm to 3.19.2 (#106)

* chore(release): version 1.21.3 [skip ci]

### [1.21.3](v1.21.2...v1.21.3) (2025-12-04)

### Bug Fixes

* Upgrade helm to 3.19.2 ([#106](#106)) ([aa4ca21](aa4ca21))

* chore: Need to create the workflow in main so it can be updated and run in v2 branch (#127)

* chore: Need to create the workflow in main so it can be updated and run in v2 branch

* chore: Add newline

* chore: Add empty workflow so it can be run in a branch (#131)

* fix to clickhouse enum we vendored (but is unused)

* work in progress on retention

* work in progress

* ONPREM-111 rentention/purge works for wandb delete

* ONPREM-111 more consistent label handling for retention

* ONPREM-111 more consistent label handling for retention

* initial retention e2e tests

* WIP: fix Redis PVC labeling for retention e2e tests

- Remove ensurePodLabels (operator SA lacks RBAC to patch pods, caused rapid requeue loop)
- Fix Redis PVC prefix: use crName-crName- pattern matching actual opstree PVC names
- Bypass cache for PVC reads in client (PVCs not watched, caused ErrCacheNotStarted)
- Add USE_EXISTING_CLUSTER=true to test-e2e-retention Makefile target
- Improve retention_test.go: namespace isolation, verifyComponentResourcesExist checks

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* ONPREM-111 complete impl of retention DETACH/PURGE policies

---------

Co-authored-by: Kevin Chen <140976422+wandb-kc@users.noreply.github.com>
Co-authored-by: semantic-release-bot <semantic-release-bot@martynus.net>
Co-authored-by: Daniel Panzella <daniel.panzella@wandb.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants