-
Notifications
You must be signed in to change notification settings - Fork 247
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 the versions of golang to test with #228
Conversation
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 assuming happy tests
9aedcf3
to
61f11ae
Compare
LGTM |
could you rebase this PR? |
there were changes in the tar archive format. I think go1.11 broke cache. |
I had a similar thought but the CI here seems to break on go 1.10 as well. |
*shrug* let’s ask the code… #238 adds logging for the reasons of the unexpected It seems to be the changes semi-documented in https://golang.org/doc/go1.10#archive/tar , in particular https://go.googlesource.com/go/+/48db2c01b42d959f2d8fa0c24d853bdb6100cf8a/src/archive/tar/writer.go#83 : Surprisingly(?) c/storage seems to already be ready for this — see https://github.com/containers/storage/blob/master/pkg/archive/archive_110.go which effectively disables the rounding logic already — but only if The It seems easy enough to just plunk |
Ah, In 1.9.5, and apparently in 1.10 WIP branches ( https://go.googlesource.com/go/+/ead6255ce3bd39e56d66f39471ab1854fd4f67f2%5E%21/ ), the time was truncated down; since actual 1.10 ( https://go.googlesource.com/go/+/577aab0c595825ba113b63f4ef1460e8471c803e%5E%21/ ), time is rounded to the whole second, and Let’s reuse #238 to check this hypothesis… NOTE: At a first glance it seems, at the very best, very unclear that unpredictably rounding times down/up is safe WRT change detection (remember all the
(Sure, maybe we can’t actually manage to create + need to diff a layer in 0.5 seconds right now, but we certainly want to make it as fast as possible…) Meanwhile, the higher versions of Go have also uncovered two trivial real bugs: #239 . |
OK, #238 confirms that all the outstanding failures (i.e. apart from #239) are caused by the timestamp rounding. DO NOT JUST MERGE THE WORKAROUND IN #238. That only shows where the failure manifests; as detailed above, AFAICS in at least some important code paths it seems that this relaxed check should not be used at all. (Maybe the relaxed check should only exists in tests, even?) DO NOT JUST MERGE THE WORKAROUND IN #238. I can’t tell that it is safe. I wash my hands of it. DO NOT JUST MERGE THE WORKAROUND IN #238. If you ended up merging something similar, only ever do so based on your own knowledge or analysis of how the code works and why. |
I think we need @nalind to chime in. |
We should be testing with the latest golang versions. Change golang 8,9 to 10 and 11 for testing. Signed-off-by: Daniel J Walsh <[email protected]>
Version updated in a different PR. |
We should be testing with the latest golang versions.
Change golang 8,9 to 10 and 11 for testing.
Signed-off-by: Daniel J Walsh [email protected]