diff --git a/.github/workflows/publish-container.yml b/.github/workflows/publish-container.yml index 831b140..e733c99 100644 --- a/.github/workflows/publish-container.yml +++ b/.github/workflows/publish-container.yml @@ -14,6 +14,11 @@ jobs: publish: runs-on: ubuntu-latest timeout-minutes: 15 + permissions: + contents: read + packages: write + id-token: write + attestations: write steps: - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v4 @@ -36,6 +41,7 @@ jobs: type=sha - name: Build and push + id: push uses: docker/build-push-action@4f58ea79222b3b9dc2c8bbdd6debcef730109a75 # v6 with: context: . @@ -43,3 +49,10 @@ jobs: push: true tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} + + - name: Attest container provenance + uses: actions/attest-build-provenance@e8998f949152b193b063cb0ec769d69d929409be # v2 + with: + subject-name: ghcr.io/${{ github.repository }} + subject-digest: ${{ steps.push.outputs.digest }} + push-to-registry: true diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f2033db..17b9eaa 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -135,6 +135,8 @@ jobs: timeout-minutes: 15 permissions: contents: write + id-token: write + attestations: write steps: - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v4.2.2 @@ -191,6 +193,13 @@ jobs: RSR Compliance: Bronze Tier | TPCF Perimeter: 3 + - name: Attest build provenance + uses: actions/attest-build-provenance@e8998f949152b193b063cb0ec769d69d929409be # v2 + with: + subject-path: | + artifacts/**/* + SHA256SUMS.txt + publish-crates: name: Publish to crates.io needs: release