-
Notifications
You must be signed in to change notification settings - Fork 3.3k
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
Update cri-api to v0.29.1 #9378
Conversation
Skipping CI for Draft Pull Request. |
/test all |
b766baa
to
26cd615
Compare
Hi @dmcgowan @mikebrow , the v1.29 alpha3 tag of upstream k8s requires 1.21.3 golang version. But it looks like we don't allow 1.21.x version in containerd golang? Is there a way I could work around this? |
We default to 1.21.3 in our CI GH Actions script, but we verify that containerd still builds with Go 1.20.x as that release is still supported (see here). I guess if upstream Kubernetes 1.29 is going to require Go 1.21 we will have to discuss how to handle that requirement in our project. |
26cd615
to
1f7298f
Compare
@kiashok: The
Use In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
/test all |
ba941b8
to
170dc8a
Compare
2dffeba
to
6b7a84c
Compare
kubernetes/cri-api@5a34c2b this commit was made to fix this kubernetes/kubernetes#121338 . Started a thread for this discussion on sig-release. Not sure if its a hard requirement for cri-api v1.29 to stay on golang 1.21 |
@kiashok i don't think the error means that... it just objects that the format is A.B.C and not just A.B. If you see latest https://github.com/kubernetes/cri-api/blob/master/go.mod#L5 we fixed it already, if you wait for rc2 you should be all set i think. you can check this theory by editing the file in your PR by hand |
Currently, the error is about the SemVer format (which is not supported by go1.20), but unfortunately, the version in go mod is now a required version as well, no longer an "indicative" / "recommended" version; Here's a quick example using a "mymodule" module, which uses tree
.
├── go.mod
├── main.go
└── mymodule
├── foo.go
└── go.mod
cat mymodule/go.mod
module example.com/mymodule
go 1.22 Trying to use such a module in a project; means it cannot be used on go1.20 or go1.21. at go.mod
module myproject
require "example.com/mymodule" v0.0.0
replace "example.com/mymodule" => ./mymodule This worked until go1.20.7 and go1.19.12; docker run --rm -v $(pwd):/myproject -w /myproject golang:1.20.7 sh -c 'go run main.go'
hello:hello
docker run --rm -v $(pwd):/myproject -w /myproject golang:1.19.12 sh -c 'go run main.go'
hello:hello But no longer works in go1.20.8 and go1.19.13; docker run --rm -v $(pwd):/myproject -w /myproject golang:1.20.8 sh -c 'go run main.go'
example.com/mymodule: cannot compile Go 1.22 code
docker run --rm -v $(pwd):/myproject -w /myproject golang:1.19.13 sh -c 'go run main.go'
example.com/mymodule: cannot compile Go 1.22 code Same for go1.21, but with a slightly different error-message; go run main.go
go: example.com/mymodule@v0.0.0: module ./mymodule requires go >= 1.22 (running go 1.21.4) |
0856c90
to
5933404
Compare
fef8c51
to
50ae54c
Compare
50ae54c
to
8c4e812
Compare
@thaJeztah @dmcgowan @estesp @dcantah all the tests are passing. Could you please take a look when you have some time please? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
.github/workflows/release.yml
The go version in release.yaml should be updated as well
Signed-off-by: kiashok <kiashok@microsoft.com>
ff9ee21
to
25ab902
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM noting we should tag, to this PR, the open issues/pr(s) handling the following cri changes for v028.2 -> v0.29.1:
- ImageSpec struct now contains RuntimeHandler string ... and a GetRuntimeHandler()
- ImageFsInfoResponse now contains ContainerFilesystems []*FilesystemUsage ... and a GetContainerFilesystems()
Update k8s.io/cri-api to v0.29.1