@@ -47,27 +47,22 @@ jobs:
4747 fedorapython/fedora-python-tox:${{ matrix.arch }}-f${{ env.FEDORA_VERSION }}
4848 - name : Verify single-platform image
4949 run : |
50- # Inspect the local image
51- image_info =$(docker image inspect fedorapython/fedora-python-tox:${{ matrix.arch }})
50+ # Inspect the manifest
51+ manifest =$(docker manifest inspect fedorapython/fedora-python-tox:${{ matrix.arch }})
5252
53- # Check that we got exactly one image (not a manifest list)
54- image_count=$(echo "$image_info" | jq '. | length')
55- if [ "$image_count" != "1" ]; then
56- echo "ERROR: Expected 1 image, found $image_count"
57- exit 1
58- fi
59-
60- # Get the architecture
61- arch=$(echo "$image_info" | jq -r '.[0].Architecture')
62- os=$(echo "$image_info" | jq -r '.[0].Os')
53+ # For single-platform images, manifests should be null
54+ # For multi-platform or images with attestations, manifests is an array
55+ manifests=$(echo "$manifest" | jq '.manifests')
6356
64- echo "✓ Verified: Image is single-platform ($os/$arch)"
65-
66- # Verify it matches the expected architecture
67- if [ "$arch" != "${{ matrix.arch }}" ]; then
68- echo "ERROR: Architecture mismatch! Expected ${{ matrix.arch }}, got $arch"
57+ if [ "$manifests" != "null" ]; then
58+ manifest_count=$(echo "$manifests" | jq '. | length')
59+ echo "ERROR: Image has a manifest list with $manifest_count entries ( expected null for single-platform)!"
60+ echo "This usually means attestations are enabled or it's a multi-platform image."
61+ echo "$manifests" | jq '.[] | {platform: .platform, digest: .digest, annotations: .annotations}'
6962 exit 1
7063 fi
64+
65+ echo "✓ Verified: Image is single-platform (manifests: null)"
7166 - name : Test local project
7267 env :
7368 TOXENV : ${{ matrix.toxenv }}
0 commit comments