Closed tboerger closed 1 year ago
Ok, I have updated the build and push action before which introduced provenance, manifest-tool thinks that this attestation manifest means this is already a multi arch image...
$ docker buildx imagetools inspect webhippie/minecraft-vanilla:latest-amd64
Name: docker.io/webhippie/minecraft-vanilla:latest-amd64
MediaType: application/vnd.oci.image.index.v1+json
Digest: sha256:3b44887ef33025b311ec7232899fd61fbb579fb9527fb807bcf3d9e438c4c156
Manifests:
Name: docker.io/webhippie/minecraft-vanilla:latest-amd64@sha256:db2bc91383f5af8bce063769cc487ace4ff3eda8aee230faceb9822f240bbbfb
MediaType: application/vnd.oci.image.manifest.v1+json
Platform: linux/amd64
Name: docker.io/webhippie/minecraft-vanilla:latest-amd64@sha256:56b59fb018b092a89be65e663e1b226456a36d34346bb20218c804556697f76f
MediaType: application/vnd.oci.image.manifest.v1+json
Platform: unknown/unknown
vnd.docker.reference.digest: sha256:db2bc91383f5af8bce063769cc487ace4ff3eda8aee230faceb9822f240bbbfb
vnd.docker.reference.type: attestation-manifest
I have downgraded docker/build-push-action to v3 within my workflows in the meantime to get my images building again.
Hmm, yes, manifest-tool
does not yet handle the fact that a very recent version of buildkit now adds attestation records, using the image index
format instead of a single image manifest. I will need to make changes to, first, recognize that an index that only has an attestation added as an index entry is still a "single image," and then secondly, preserve the attestation manifest for any/all constituent images in the assembly of the final manifest list/image index for this to work properly.
https://github.com/snowdreamtech/frp/actions/runs/4191483587/jobs/7265955127
I have got the same error.
time="2023-02-16T06:55:54Z" level=fatal msg="Cannot include an image in a manifest list/index which is already a multi-platform image: ***techamd64/frpc:latest"
Just FYI: #204 contains the easier half of the implementation--manifest-tool inspect
will now show attestations properly as distinct from images within an index/manifest list.
Will now work on push to handle indexes.
EDIT: my apologies, I was doing it wrong.
I have tried to push image manifests recently starting with 2.0.6 coming from the old 1.x.x version. The container build process has not changed, I was just getting strange errors from my Github actions where I thought it's finally time to upgrade manifest-tool.
The old 1.x.x version was resulting in messages like this:
Now with the latest release of manifest-tool I'm getting this:
On DockerHub everythin is looking fine, it just says webhippie/minecraft-vanilla:latest-amd64 is simply linux/amd64 like I expect, just with
manifest-tool inspect webhippie/minecraft-vanilla:latest-amd64
I'm getting a strange other OS combination with unknown/unknown:Maybe somebody got an idea how to solve that? Have I run into a bug within manifest-tool? Or is this something totally different? You can see the whole workflow at https://github.com/dockhippie/minecraft-vanilla/blob/master/.github/workflows/docker.yml#L225-L332.