-
Notifications
You must be signed in to change notification settings - Fork 171
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
buildx 0.10.0 seems to have changed something which leads to a different kind of manifests (at least for GCP) #187
Comments
For now, the workaround is to pin to v0.9.1 |
What fails and what error?
? This is new provenance attestation feature. You can disable it by setting |
Thank you for the update. I must admit I have not dug very deeply into new formats so I appreciate the guidance indeed.
That's exactly the problem however. Cloud Run complains the image doesn't exist (not the tag, the image itself). When I can happily pull it with docker directly indeed. |
We have just hit this issue as well. With v0.9.1, buildx build Could we understand where this default behavior for buildx is documented and how we may pin the image type to application/vnd.docker.distribution.manifest.v2+json` while still using v.10.0+. Workaround:
|
👋 Thanks for the bug reports! Very much appreciated, thanks for taking the time! @Lawouach @azrshana I've opened a separate tracking issue for the GCR failure - docker/buildx#1533. There's not a lot we can really do about this one - buildkit is producing spec-compliant images in this case, cloud run is just not really doing anything with them 😢 As a temporary workaround, instead of pinning to a lower buildx version (once pinned, things often stay pinned 👀), I can recommend setting @sylr cc @crazy-max do you know about the GitHub manifest display issue? I remember we discussed previously. I'm gonna close this issue, we can track each component separately 🎉 If there's anything I missed, please shout ❤️ |
Thanks @jedevc for the swift care for this one and I appreciate the advice. I'll try. |
For the record I used |
Facing a similar error in GCR even with
and
Could the issue be related to BuildKit? I see that it using |
Is there a way to set the BuildKit version as an action input? |
This commit updates some of the docker action dependencies to fix issues related to the latest versions of buildx. - Updates docker/setup-buildx-action to v2 - Updates docker/build-push-action to v4 - Adds the `provenance: false` property to build-push-action to fix issue with multi-arch builds. See docker/setup-buildx-action#187
This commit updates some of the docker action dependencies to fix issues related to the latest versions of buildx. - Updates docker/setup-buildx-action to v2 - Updates docker/build-push-action to v4 - Adds the `provenance: false` property to build-push-action to fix issue with multi-arch builds. See docker/setup-buildx-action#187
Is there any way to use newer version of |
this is still an issue in 2024 |
I found the solution, as mentioned in other comments, you need to set the |
i almost had it working but the docker buildx shit was ruining the manifest, see left. correct is on the right side i tried everything to make it do a better manifest but idk how like
after docker buildx push ➜ ~ docker pull ghcr.io/dotabod/steam:v2.2 vs docker compose push ➜ ~ docker pull ghcr.io/dotabod/steam:v2.2 I even tried 0.9.1 This is the main trials You can see x bake here also How do I fix this manifest while still using the action buildx since it gives me caching abilities |
The explained method is working with |
@Geczy it looks like you are storing the cache to the same tag as the output image. Try using a different tag for the cache output. |
Build push action doesn't work for me because I'm using a docker compose file. Do I need to use build push action and call it once for every service I have and also convert my compose yml into the dockerfile just to get this working? |
Thanks I'll give that a shot |
@sudo-bmitch caching looks to be working now, and the manifest looks good too, but it doesn't seem to update my package with the new build even though i made a file change that caused it to rebuild https://github.com/dotabod/backend/actions/runs/7348686262/job/20007250704 any ideas what else i can try? |
@Geczy The output |
wow all my issues i spent a day on are solved now! tysm |
Hi everyone, I wanted to share my experience with this issue, particularly in the context of multi-platform builds and AWS ECR. I encountered several problems:
This made it impossible to manage the images as intended. Following a suggestion in this thread, I added the --provenance=false flag to my docker buildx command. This resolved the issue. Here’s the updated command I used:
This adjustment ensured that the image was built and pushed as single-platform layers instead of a multi-platform manifest. After applying this change: Hope this helps others! |
Behaviour
Steps to reproduce this issue
Expected behaviour
Either version should work.
Actual behaviour
What I could notice is that, with v0.9.1 we get a single image with a single manifest. With the newer version, it looks like we have three images and a different manifest,. Two of the images are actually empty.
with v0.9.1
with v0.10.0
My guess is that there is no actual bug with buildx or your action, but GCP cannot handle the different kind of manifest. But I wondered if your action should/could expose a flag that allows using the newer version but keep the old manifest?
The text was updated successfully, but these errors were encountered: