diff --git a/.github/workflows/docker-build-push.yml b/.github/workflows/docker-build-push.yml index 847d881..82f4865 100644 --- a/.github/workflows/docker-build-push.yml +++ b/.github/workflows/docker-build-push.yml @@ -9,6 +9,7 @@ on: pull_request: branches: - main + workflow_dispatch: env: REGISTRY: ghcr.io @@ -20,6 +21,8 @@ jobs: permissions: contents: read packages: write + id-token: write + attestations: write steps: - name: Checkout repository @@ -28,7 +31,8 @@ jobs: - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - - name: Log in to GitHub Container Registry + - name: Log into registry ${{ env.REGISTRY }} + if: github.event_name != 'pull_request' uses: docker/login-action@v3 with: registry: ${{ env.REGISTRY }} @@ -50,7 +54,8 @@ jobs: type=raw,value=latest,enable={{is_default_branch}} - name: Build and push Docker image - uses: docker/build-push-action@v5 + id: build-and-push + uses: docker/build-push-action@v6 with: context: . push: ${{ github.event_name != 'pull_request' }} @@ -60,5 +65,10 @@ jobs: cache-to: type=gha,mode=max platforms: linux/amd64,linux/arm64 - - name: Image digest - run: echo ${{ steps.meta.outputs.digest }} + - name: Generate artifact attestation + if: github.event_name != 'pull_request' + uses: actions/attest-build-provenance@v2 + with: + subject-name: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + subject-digest: ${{ steps.build-and-push.outputs.digest }} + push-to-registry: true