-
Notifications
You must be signed in to change notification settings - Fork 4.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bump module required go version #5102
Conversation
The README mentions it should be used with `any one of the three latest major releases.` ([link](https://github.com/grpc/grpc-go#prerequisites)) This change bumps the minimum go version to 1.15 as currently 1.17 is the latest major release. Signed-off-by: Sunjay Bhatia <sunjayb@vmware.com>
I'm not sure there's much value in this change by itself. If the code still compiles on 1.14, I don't see a strong reason to artificially restrict ourselves to 1.15+ yet. What is the underlying motivation for this? |
|
Is there any specific thing triggering the desire to change it now? If you take this policy in go-control-plane, then gRPC-Go will need to always be using an older release -- which means any updates to the protos in the main envoy repo will not be accessible to gRPC-Go for at least 6 months. |
I think just a due diligence thing, but @jpeach would have to answer that one if theres something more specific |
Yeh, it's about not being to far (we were on Go 1.11, which has different modules defaults IIUC), and being on a supported Go release. If it's going to cause unnecessary churn across the ecosystem, we ought to accommodate that, but I do think that being on a supported stack is desirable. |
FWIW, I think that there is general support in the community for separating the proto definitions out from the go-control-plane implementation. Needs some bazel and CI expertise to make that happen. |
This would be great to do before such a change. Providing those protos should be done with as old a Go language version as feasible, since they are very basic and fundamental definitions. This is envoyproxy/go-control-plane#391. We could afford to import an older version of the rest of the repo if needed. Also note that there is a difference between "not supported" and "explicitly made to prevent". With our current |
noticed that the testing workflows explicitly check this code compiles on the latest 3 Go releases, so CI should catch a bump to go-control-plane that breaks grpc-go, thats maybe a better check than this change tbh, willing to close given that exists grpc-go/.github/workflows/testing.yml Lines 45 to 67 in afded72
|
Because of modules, no change in go-control-plane will break us until we update our version of gcp that we use. |
Yeah, if there were a change that broke compilation on say go 1.15, the PR to bump go-control-plane would go red and we could address it then |
OK, I will close this PR then. My recommendation would be to bump the version in your |
The README mentions it should be used with
any one of the three latest major releases.
(link)This change bumps the minimum go version to 1.15 as currently 1.17 is
the latest major release.
RELEASE NOTES: