-
Notifications
You must be signed in to change notification settings - Fork 3.5k
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
Revert "Update to setup-go@v4 action" #8372
Conversation
This reverts commit aee3587. Signed-off-by: Samuel Karp <[email protected]>
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
I see no reason to revert, given that
|
That's fair, though if there's a known issue related to mixing up cache artifacts I'd want to avoid risking it with our release workflow (which this isn't), |
The release workflow uses a different Ubuntu distro, a different golang version, a different way of building binaries, and it does not use 'actions/setup-go` at all. With all that, I am unsure this PR serves the stated purpose. |
Yes, perhaps it doesn't affect containerd in the same way as runc, and perhaps a revert is not needed at this point. I am still interested to understand though "how shared" those caches are (if someone knows). Flakiness on pull requests is "one", but binaries released using potential old (or invalid) cache state is definitely something we should be concerned about (at least have an understanding what's used). Probably also have a look at the Go binaries themselves (e.g., from a recent conversation with someone, it seemed like it may be downloading Go binaries without checksum validation) TL;DR; we can probably stay at v4 (for now), but perhaps someone with a better understanding of the setup-go-action code should verify what it all does. |
Thanks @kolyshkin! I still think the issue in actions/setup-go#368 is a pretty big footgun that it's better to avoid, even if v4 has better performance. |
If we're talking about
So, it's the same cache for all jobs for a specific platform. The cache, if exists, is restored when setting up golang, and is saved after the job is done (at the "Post run" step at the very end). I have no idea how this works with parallel jobs. 💡 Hah! I just looked at the ci job runs and found out that since there's no
From what I see, the release process (in |
Also, if there's a need to disable actions/setup-go caching, a way to do it is to add |
actions/setup-go#368 and opencontainers/runc#3820 (comment) discuss issues with the cache key for actions/setup-go@v4. Rather than reverting the upgrade to v4 (per discussion in containerd#8372), disable caching explicitly. Signed-off-by: Samuel Karp <[email protected]>
Thanks @kolyshkin. Closing in favor of #8487. |
actions/setup-go#368 and opencontainers/runc#3820 (comment) discuss issues with the cache key for actions/setup-go@v4. Rather than reverting the upgrade to v4 (per discussion in containerd#8372), disable caching explicitly. Signed-off-by: Samuel Karp <[email protected]>
actions/setup-go#368 and opencontainers/runc#3820 (comment) discuss issues with the cache key for actions/setup-go@v4. Rather than reverting the upgrade to v4 (per discussion in containerd#8372), disable caching explicitly. Signed-off-by: Samuel Karp <[email protected]>
Revert #8365 per issues described in opencontainers/runc#3820 (comment) and actions/setup-go#368