diff --git a/.github/workflows/main-multiX.yml b/.github/workflows/main-multiX.yml index 53dc186..ef5ca1d 100644 --- a/.github/workflows/main-multiX.yml +++ b/.github/workflows/main-multiX.yml @@ -58,15 +58,21 @@ jobs: - name: Add architecture-specific labels run: | # Get the manifest digest for the image - manifest_digest=$(docker manifest inspect $IMAGE_NAME:$IMAGE_TAG | jq -r '.manifests[] | select(.platform.architecture=="amd64") | .digest') + manifest_digest_amd64=$(docker manifest inspect $IMAGE_NAME:$IMAGE_TAG | jq -r '.manifests[] | select(.platform.architecture=="amd64") | .digest') + manifest_digest_arm64=$(docker manifest inspect $IMAGE_NAME:$IMAGE_TAG | jq -r '.manifests[] | select(.platform.architecture=="arm64") | .digest') + manifest_digest_unknown=$(docker manifest inspect $IMAGE_NAME:$IMAGE_TAG | jq -r '.manifests[] | select(.platform.architecture!="amd64" and .platform.architecture!="arm64") | .digest') + # Add label for amd64 - docker manifest annotate $IMAGE_NAME:$IMAGE_TAG $IMAGE_NAME:$IMAGE_TAG-amd64 --os linux --arch amd64 $manifest_digest + if [ ! -z "$manifest_digest_amd64" ]; then + docker manifest annotate $IMAGE_NAME:$IMAGE_TAG $IMAGE_NAME:$IMAGE_TAG-amd64 --os linux --arch amd64 $manifest_digest_amd64 || true + fi - manifest_digest=$(docker manifest inspect $IMAGE_NAME:$IMAGE_TAG | jq -r '.manifests[] | select(.platform.architecture=="arm64") | .digest') # Add label for arm64 - docker manifest annotate $IMAGE_NAME:$IMAGE_TAG $IMAGE_NAME:$IMAGE_TAG-arm64 --os linux --arch arm64 $manifest_digest + if [ ! -z "$manifest_digest_arm64" ]; then + docker manifest annotate $IMAGE_NAME:$IMAGE_TAG $IMAGE_NAME:$IMAGE_TAG-arm64 --os linux --arch arm64 $manifest_digest_arm64 || true + fi - manifest_digest=$(docker manifest inspect $IMAGE_NAME:$IMAGE_TAG | jq -r '.manifests[] | select(.platform.architecture!="amd64" and .platform.architecture!="arm64") | .digest') # Add label for unknown architectures - docker manifest annotate $IMAGE_NAME:$IMAGE_TAG $IMAGE_NAME:$IMAGE_TAG-unknown --os linux --arch unknown $manifest_digest - + if [ ! -z "$manifest_digest_unknown" ]; then + docker manifest annotate $IMAGE_NAME:$IMAGE_TAG $IMAGE_NAME:$IMAGE_TAG-unknown --os linux --arch unknown $manifest_digest_unknown || true + fi