-
Notifications
You must be signed in to change notification settings - Fork 17.7k
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
std,cmd: add test to ensure that go.mod and vendor are in sync #36852
Comments
Oh, I misread, this is about divergence between go.mod and vendor. That issue was about divergence between two different go.mods. |
That said, the test in CL 217218 seems to check for this issue too, does it not? Edit: It only checks for missing vendored packages, not that the vendored packages are identical. |
Correct. The new test only checks that |
@bcmills I have some questions about this, since you have more context and might be able to answer more easily. Do you think this can be implemented by adding a test that does |
I've confirmed there isn't an existing test (on master) that catches this issue by making a trivial edit in src/cmd/vendor and running |
Yes.
It should need only the module mirror.
There are a few tests that check that generated source files are clean (such as Another approach might be to set up an overlay of the The
|
Change https://golang.org/cl/255859 mentions this issue: |
Change https://golang.org/cl/256357 mentions this issue: |
Thanks for answering @bcmills. Based on those answers (and our other discussion of this topic), I think we want a normal test that is skipped in -short test mode (so it only runs on longtest builders or when executed locally manually). As long as it's possible to implement a reasonably fast/efficient test without needing to rely on So, I'll retitle this to be less about x/build and builders and more about investigating adding a test in the main repo. Once a test is added, it will be automatically executed by longtest builders (and via SlowBots). (If it turns out to be infeasible to add as a normal test in-tree, we can reconsider.) |
Managing backports can become much more expensive if skew is introduced in a new major Go release. We've been lucky that go.mod and vendor skew hasn't made it into any major Go release so far (although it did happen on tip, e.g., #36851), but I think it's important we have an automated measure so we can be confident it can't happen due to human error. I'm going to make this a release-blocker for Go 1.16: we should either resolve this issue by adding a test, or if there isn't enough time, we must manually verify that there is no skew introduced in Go 1.16 release candidates and the final release. CC @golang/release. |
Change https://golang.org/cl/283643 mentions this issue: |
We should make it so that trybots catch and report when the src/go.mod and src/vendor directories are not in sync, to prevent them from going out of sync without anyone noticing.
See #36851 for more context.
/cc @golang/osp-team
The text was updated successfully, but these errors were encountered: