-
Notifications
You must be signed in to change notification settings - Fork 2.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
DO NOT MERGE: buildah vendor treadmill #13808
base: main
Are you sure you want to change the base?
Conversation
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: edsantiago The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
The first commit is the important one. This one must be hand-crafted by a human, there is no possible way to automate it. This is the one that, in case of emergency vendor, can be grabbed into a real PR. The second commit is a throwaway, ignore it. That's just automated fetch-the-latest-buildah. |
cda56d1
to
a833f6d
Compare
bud test failed, remote only, because the new This is still a proof-of-concept PR, and my feeling so far is positive: it has quickly identified multiple problems in the buildah merge that are easy to solve iteratively. A nightly cron job, or a non-gating step in buildah CI, would be utterly useless because neither one would have the crucial first-commit. Without that, there's no way to make it past the first or second or third failure. |
I just pushed a fix for this. |
4c3987c
to
a58b300
Compare
How is this PR regularly updated? |
By a human, presumably me. There is actually no other way: this is not possible to solve via cron or PRs. I am working on a script to automate as much of it as possible. |
a58b300
to
2ee7d5b
Compare
2ee7d5b
to
a44108d
Compare
a44108d
to
c9c4a1f
Compare
Followup, because I don't want anyone to think this is abandonware: it's not. I'm running my script at least twice a day, one of those times in the evening. One of the nice features I added is:
So I'm choosing to save CI cycles by not re-pushing today. Should anyone need to re-vendor buildah tomorrow or this weekend (when I'm unavailable), just cherry-pick the first commit from this PR. It's still valid. |
c9c4a1f
to
2954d4f
Compare
Yippee, script has caught a bug! containers/buildah#3919 breaks when vendoring into podman:
I could just force-push right now and let y'all see the breakage in CI, or I could just report it like I am right here. Or I could file an issue in containers/common since that's where the offending code seems to be? Anyhow, @rhatdan et al, PTAL because this is not going to vendor into podman. |
2954d4f
to
3bf05d3
Compare
What the heck, I pushed anyway in case someone wants to pull & play. |
7f5d9f7
to
c192592
Compare
c63d8a0
to
b8aa0c7
Compare
Cockpit tests failed for commit c63d8a0. @martinpitt, @jelly, @mvollmer please check. |
b8aa0c7
to
8e73135
Compare
Cockpit tests failed for commit b8aa0c7. @martinpitt, @jelly, @mvollmer please check. |
8e73135
to
34fcb47
Compare
Cockpit tests failed for commit 34fcb47. @martinpitt, @jelly, @mvollmer please check. |
34fcb47
to
96b4f1e
Compare
96b4f1e
to
dcd4274
Compare
Ephemeral COPR build failed. @containers/packit-build please check. |
0078ee8
to
c39b80f
Compare
c1a3213
to
31f1fb8
Compare
@containers/buildah-maintainers PTAL. Something in latest buildah is breaking podman int tests. As best I can tell, the common factor is that buildah is now re-pulling images that are already present:
(I may be wrong in my analysis. Maybe the common factor is something else I didn't notice) |
It looks like the image caching save/load sequence is changing the compression used for the image's layer, and thus the manifest, and thus the manifest's digest, and when To verify, compare the |
Thank you. Looks like a reasonable analysis. How do we fix that? |
But nothing here changed that looking at the diff, it used too work fine and I cannot see any config/compression chnages here What I do see however is containers/buildah#5478
AFAIK the libimage code treats a non empty platform as must pull or something like that if I remember correctly |
Hmm, this has been happening for a while, since I see it happening with both podman 4.9.4 and 5.0.0 as well, so it might not be the only cause. |
I had suspected as much, but at most, that should be changing the pull policy to "if-newer" under the covers, and I'm pretty sure that's already the value that's being passed in. |
Yeah not sure, but the fact is main is passing but this PR is not so the problem must be in the diff here and thankfully the diff is small so this is my best guess as of why. I can try to reproduce tomorrow. |
Nice catch, @Luap99 . Removing those three lines (and the |
That was added to make |
Sure but it fixed it in broken way, the default pull policy is ifmissing and not ifnewer which the code uses now due the well other not so great behavior in libimage. |
This is a JUNK COMMIT from buildah-vendor-treadmill-x v0.3. DO NOT MERGE! This is just a way to keep the buildah-podman vendoring in sync. Refer to: https://github.com/containers/podman/wiki/Buildah-Vendor-Treadmill Signed-off-by: Ed Santiago <[email protected]>
As you run --sync, please update this commit message with your actual changes. Changes since 2024-05-21: Signed-off-by: Ed Santiago <[email protected]>
31f1fb8
to
e70dcd9
Compare
Tests now passing. This is safe to vendor into podman; no changes needed. Thank you @nalind for the quick fix. |
Followup to Cabal discussion 2022-04-07, re: letting us vendor in buildah on a moment's notice.
Instead of cron'ing this, let's see if this works: keep this PR open perpetually, with daily updates to get latest podman and buildah.
See individual commit messages for details.