|
|
|
|
@ -363,6 +363,7 @@ jobs:
|
|
|
|
|
working-directory: ${{ runner.temp }}/digests
|
|
|
|
|
env:
|
|
|
|
|
BASE_IMAGE: "${{ matrix.base_image }}"
|
|
|
|
|
BASE_IMAGE_TAG: "${{ matrix.base_image == 'debian' && '' || format('-{0}', matrix.base_image) }}"
|
|
|
|
|
BASE_TAGS: "${{ env.BASE_TAGS }}"
|
|
|
|
|
CONTAINER_REGISTRIES: "${{ env.CONTAINER_REGISTRIES }}"
|
|
|
|
|
run: |
|
|
|
|
|
@ -371,27 +372,27 @@ jobs:
|
|
|
|
|
IFS=',' read -ra TAGS <<< "${BASE_TAGS}"
|
|
|
|
|
for img in "${IMAGES[@]}"; do
|
|
|
|
|
for tag in "${TAGS[@]}"; do
|
|
|
|
|
echo "Creating manifest for $img:$tag-${BASE_IMAGE}"
|
|
|
|
|
echo "Creating manifest for ${img}:${tag}${BASE_IMAGE_TAG}"
|
|
|
|
|
|
|
|
|
|
OUTPUT=$(docker buildx imagetools create \
|
|
|
|
|
-t "$img:$tag-${BASE_IMAGE}" \
|
|
|
|
|
$(printf "$img:$tag-${BASE_IMAGE}@sha256:%s " *) 2>&1)
|
|
|
|
|
-t "${img}:${tag}${BASE_IMAGE_TAG}" \
|
|
|
|
|
$(printf "${img}:${tag}-${BASE_IMAGE}@sha256:%s " *) 2>&1)
|
|
|
|
|
STATUS=$?
|
|
|
|
|
|
|
|
|
|
if [ $STATUS -ne 0 ]; then
|
|
|
|
|
echo "Manifest creation failed for $img"
|
|
|
|
|
echo "$OUTPUT"
|
|
|
|
|
exit $STATUS
|
|
|
|
|
if [ ${STATUS} -ne 0 ]; then
|
|
|
|
|
echo "Manifest creation failed for ${img}"
|
|
|
|
|
echo "${OUTPUT}"
|
|
|
|
|
exit ${STATUS}
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
echo "Manifest created for $img"
|
|
|
|
|
echo "$OUTPUT"
|
|
|
|
|
echo "Manifest created for ${img}"
|
|
|
|
|
echo "${OUTPUT}"
|
|
|
|
|
done
|
|
|
|
|
done
|
|
|
|
|
set -e
|
|
|
|
|
|
|
|
|
|
# Extract digest SHA for subsequent steps
|
|
|
|
|
GET_DIGEST_SHA="$(echo "$OUTPUT" | grep -oE 'sha256:[a-f0-9]{64}' | tail -1)"
|
|
|
|
|
GET_DIGEST_SHA="$(echo "${OUTPUT}" | grep -oE 'sha256:[a-f0-9]{64}' | tail -1)"
|
|
|
|
|
echo "DIGEST_SHA=${GET_DIGEST_SHA}" | tee -a "${GITHUB_ENV}"
|
|
|
|
|
|
|
|
|
|
# Attest container images
|
|
|
|
|
|