Skip to content

Conversation

@JiangJiaWei1103
Copy link
Contributor

@JiangJiaWei1103 JiangJiaWei1103 commented Dec 14, 2025

Why are these changes needed?

Go v1.25 has been released since Aug while KubeRay still uses v1.24.

Changes

  • Upgrade Go to v1.25 for Go module files, Dockerfiles, CI/CD configurations, pre-commit, and docs
  • Run go mod tidy to add missing modules and remove unused ones
  • Bump crd-ref-docs to v0.2.0 (please refer to the review comments below)
  • Bump golangci-cli to v2.7.2
    • Got invalid version err, need to investigate

Note that Go v1.25 images use newer Debian base variants like Bookworm, so we choose golang:1.25.0-bookworm as the builder.

Related issue number

Closes #4263.

Checks

  • I've made sure the tests are passing.
  • Testing Strategy
    • Unit tests
    • Manual tests
    • This PR is not tested :(

.PHONY: crd-ref-docs
crd-ref-docs: $(CRD_REF_DOCS) ## Download crd-ref-docs locally if necessary.
test -s $(CRD_REF_DOCS) || GOBIN=$(LOCALBIN) go install github.com/elastic/crd-ref-docs@v0.0.12
test -s $(CRD_REF_DOCS) || GOBIN=$(LOCALBIN) go install github.com/elastic/crd-ref-docs@v0.2.0
Copy link
Contributor Author

Choose a reason for hiding this comment

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

We also bump crd-ref-docs to v0.2.0 to resolve build failures resulted from dependency on golang.org/x/tools v0.19.0.

Related PRs

@JiangJiaWei1103
Copy link
Contributor Author

Hi @Future-Outlier,

For now, KubeRay depends on [email protected], which is incompatible with Go v1.25. The change log of golangci-lint shows that v2.4.0 is the earliest version to support Go v1.25. As v2.7.2 is shown to be the latest stable version in golangcli-lint CI configuration. Would it make sense to just bump this tool to v2.7.2?

cc @rueian, @dentiny

Thanks!!

@dentiny
Copy link
Contributor

dentiny commented Dec 14, 2025

Would it make sense to just bump this tool to v2.7.2?

make sense to me, I personally prefer to keep all dependencies and toolchain to the most latest stable version (maybe apart from rust toolchain)

@win5923
Copy link
Collaborator

win5923 commented Dec 14, 2025

For now, KubeRay depends on [email protected], which is incompatible with Go v1.25. The change log of golangci-lint shows that v2.4.0 is the earliest version to support Go v1.25. As v2.7.2 is shown to be the latest stable version in golangcli-lint CI configuration. Would it make sense to just bump this tool to v2.7.2?

There is already a PR addressing this: #4007, we can wait for this PR to be merged before proceeding with the Go version upgrade.
cc @seanlaii

@JiangJiaWei1103
Copy link
Contributor Author

Thanks @dentiny and @win5923 for the review. Let's wait for #4007 merged first.

Copy link
Contributor

@seanlaii seanlaii left a comment

Choose a reason for hiding this comment

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

Thanks!

Copy link
Member

@Future-Outlier Future-Outlier left a comment

Choose a reason for hiding this comment

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

cc @win5923 @machichima to review this

@@ -1,5 +1,5 @@
# Build security proxy
FROM golang:1.24.0-bullseye AS builder
FROM golang:1.25.0-bookworm AS builder
Copy link
Collaborator

Choose a reason for hiding this comment

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

The same as above

@@ -1,5 +1,5 @@
# Build the manager binary
FROM golang:1.24.0-bullseye AS builder
FROM golang:1.25.0-bookworm AS builder
Copy link
Collaborator

Choose a reason for hiding this comment

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

The same as above

Copy link
Collaborator

@win5923 win5923 left a comment

Choose a reason for hiding this comment

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

Hi @JiangJiaWei1103, could you help resolve the conflicts? The golang-lint-ci upgrade have already been merged.

@JiangJiaWei1103
Copy link
Contributor Author

Hi @JiangJiaWei1103, could you help resolve the conflicts? The golang-lint-ci upgrade have already been merged.

Hi @win5923, I've rebase with the master branch, thanks!

Copy link
Collaborator

@win5923 win5923 left a comment

Choose a reason for hiding this comment

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

LGTM! I checked the CI error, and it is unrelated to this PR.

    rayservice_ha_test.go:168: [2025-12-20T07:45:53Z] Waiting several seconds before updating RayService
    rayservice_ha_test.go:171: [2025-12-20T07:46:23Z] Updating RayService
    support.go:188: [2025-12-20T07:46:23Z] Waiting for RayService test-ns-r9tpp/test-rayservice UpgradeInProgress condition to be true
    support.go:192: [2025-12-20T07:46:24Z] Waiting for RayService test-ns-r9tpp/test-rayservice to switch to a new cluster
    support.go:193: 
        Timed out after 60.000s.
        Expected
            <string>: test-rayservice-nrlmm
        not to equal
            <string>: test-rayservice-nrlmm

@win5923
Copy link
Collaborator

win5923 commented Dec 22, 2025

Hi @JiangJiaWei1103, I think the conflicts may need to be resolved again. Thanks!

@JiangJiaWei1103
Copy link
Contributor Author

JiangJiaWei1103 commented Dec 22, 2025

Hi @win5923,

The conflicts are resolved! Regarding go.work and go.work.sum, @Future-Outlier has opened another PR #4301 to remove them. Thanks!

(Update)
go.work issue is now resolved.

Copy link
Contributor

@seanlaii seanlaii left a comment

Choose a reason for hiding this comment

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

LGTM

Copy link
Member

@Future-Outlier Future-Outlier left a comment

Choose a reason for hiding this comment

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

LGTM, I tried to build historyserver's collector (it's not in CI now, and it works for me!)

image

cc @rueian to merge, thank you!

@Future-Outlier Future-Outlier moved this from In Progress to can be merged in @Future-Outlier's kuberay project Dec 24, 2025
@JiangJiaWei1103 JiangJiaWei1103 moved this to In review in My Kuberay & Ray Dec 24, 2025
Copy link
Collaborator

@machichima machichima left a comment

Choose a reason for hiding this comment

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

LGTM!

@rueian rueian merged commit fe3aaf7 into ray-project:master Dec 26, 2025
27 checks passed
@github-project-automation github-project-automation bot moved this from In review to Done in My Kuberay & Ray Dec 26, 2025
@github-project-automation github-project-automation bot moved this from can be merged to Done in @Future-Outlier's kuberay project Dec 26, 2025
@JiangJiaWei1103 JiangJiaWei1103 deleted the upgrade-golang-ver branch December 26, 2025 12:32
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.

[Feature] Upgrade golang version to v1.25

8 participants