diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml index c88b7ff..ba28bab 100644 --- a/.gitea/workflows/build.yml +++ b/.gitea/workflows/build.yml @@ -108,6 +108,11 @@ jobs: if: github.event_name != 'pull_request' && env.IS_TEST_BUILD == 'false' uses: sigstore/cosign-installer@v4.1.2 + - name: Install Skopeo + if: github.event_name != 'pull_request' && env.IS_TEST_BUILD == 'false' + run: | + sudo apt-get update && sudo apt-get install -y skopeo + - name: Sign container image (True Outer Digest) if: github.event_name != 'pull_request' && env.IS_TEST_BUILD == 'false' env: @@ -117,9 +122,9 @@ jobs: # 1. Cosign an der Gitea-Registry anmelden echo "${{ secrets.REGISTRY }}" | cosign login "${{ env.REGISTRY_HOST }}" -u "${{ github.repository_owner }}" --password-stdin - # 2. Mit skopeo den echten, äußeren Manifest-List-Digest von Gitea abfragen - echo "Frage finalen Manifest-List-Digest von Gitea ab..." - OUTER_DIGEST=$(skopeo inspect --creds "${{ github.repository_owner }}:${{ secrets.REGISTRY }}" docker://${{ env.IMAGE_REGISTRY }}/${{ env.IMAGE_NAME }}:stable | jq -r .Digest) + # 2. Skopeo als Docker-Container ausführen, um den Digest zu holen + echo "Frage finalen Manifest-List-Digest via Skopeo-Container ab..." + OUTER_DIGEST=$(docker run --rm quay.io/skopeo/stable inspect --creds "${{ github.repository_owner }}:${{ secrets.REGISTRY }}" docker://${{ env.IMAGE_REGISTRY }}/${{ env.IMAGE_NAME }}:stable | jq -r .Digest) # 3. Die Referenz exklusiv über den äußeren Digest bauen IMAGE_REF="${{ env.IMAGE_REGISTRY }}/${{ env.IMAGE_NAME }}@${OUTER_DIGEST}"