Refactor image digest retrieval in build workflow
Updated the workflow to fetch the final image digest directly from GHCR instead of calculating it from the OCI archive.
This commit is contained in:
@@ -143,7 +143,7 @@ jobs:
|
||||
export REGISTRY_AUTH_FILE=$HOME/.docker/config.json
|
||||
REGISTRY_PATH="${{ env.IMAGE_REGISTRY }}/${{ env.IMAGE_NAME }}"
|
||||
|
||||
# Loop über alle Tags ohne das problematische --patch-config Flag
|
||||
# Loop über alle Tags
|
||||
for tag in ${{ steps.metadata.outputs.tags }}; do
|
||||
skopeo copy \
|
||||
--dest-compress-format=zstd \
|
||||
@@ -152,9 +152,9 @@ jobs:
|
||||
docker://$REGISTRY_PATH:$tag
|
||||
done
|
||||
|
||||
# Den finalen Digest ermitteln und für den nächsten Schritt in GITHUB_ENV schreiben
|
||||
DIGEST=$(skopeo inspect oci-archive:./chunkah-out/image.ociarchive --format '{{.Digest}}')
|
||||
echo "FINAL_IMAGE_DIGEST=$DIGEST" >> $GITHUB_ENV
|
||||
# KORREKTUR: Wir fragen den echten, finalen Digest direkt von GHCR ab
|
||||
FINAL_REGISTRY_DIGEST=$(skopeo inspect docker://$REGISTRY_PATH:${{ env.DEFAULT_TAG }} --format '{{.Digest}}')
|
||||
echo "REGISTRY_DIGEST=$FINAL_REGISTRY_DIGEST" >> $GITHUB_ENV
|
||||
|
||||
- name: Install Cosign
|
||||
uses: sigstore/cosign-installer@6f9f17788090df1f26f669e9d70d6ae9567deba6 # v4.1.2
|
||||
@@ -163,7 +163,8 @@ jobs:
|
||||
- name: Sign container image
|
||||
if: github.event_name != 'pull_request' && github.ref == format('refs/heads/{0}', github.event.repository.default_branch)
|
||||
run: |
|
||||
cosign sign -y --key env://COSIGN_PRIVATE_KEY "${{ env.IMAGE_REGISTRY }}/${{ env.IMAGE_NAME }}@${{ env.FINAL_IMAGE_DIGEST }}"
|
||||
# Signiert den exakten, von der Registry bestätigten Digest
|
||||
cosign sign -y --key env://COSIGN_PRIVATE_KEY "${{ env.IMAGE_REGISTRY }}/${{ env.IMAGE_NAME }}@${{ env.REGISTRY_DIGEST }}"
|
||||
env:
|
||||
COSIGN_EXPERIMENTAL: false
|
||||
COSIGN_PRIVATE_KEY: ${{ secrets.SIGNING_SECRET }}
|
||||
|
||||
Reference in New Issue
Block a user