Skip to content

Commit 6e13b40

Browse files
committed
Use manifest inspect in the verification step, not image inspect
1 parent 93ceaab commit 6e13b40

File tree

1 file changed

+12
-17
lines changed

1 file changed

+12
-17
lines changed

.github/workflows/build-and-push.yml

Lines changed: 12 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)