@@ -38,13 +38,14 @@ jobs:
3838 - uses : actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0
3939 with :
4040 go-version : stable
41+ - uses : docker/setup-buildx-action@v3
4142 - name : Login to GHCR
4243 uses : docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
4344 with :
4445 registry : ghcr.io
4546 username : ${{ github.repository_owner }}
4647 password : ${{ secrets.GITHUB_TOKEN }}
47- - name : Export SBOM in SPDX JSON format
48+ - name : Export SBOM for binary in SPDX JSON format
4849 # https://docs.github.com/en/rest/dependency-graph/sboms?apiVersion=2022-11-28
4950 run : |
5051 gh api \
@@ -60,33 +61,12 @@ jobs:
6061 args : release --clean
6162 env :
6263 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
63- # attest artefacts
64+ # attest artifacts
6465 - uses : actions/attest-build-provenance@977bb373ede98d70efdf65b84cb5f73e068dcc2a # v3.0.0
6566 with :
66- subject-path : |
67- dist/*.tar.gz
68- sbom.spdx.json
69- # parse artifacts to the format required for image attestation
70- - run : |
71- echo "digest=$(echo "$ARTIFACTS" | jq -r '.[]|select(.type=="Docker Manifest")|select(.name|test("go-cli-github:v"))|.extra.Digest')" >> "$GITHUB_OUTPUT"
72- echo "name=$(echo "$ARTIFACTS" | jq -r '.[]|select(.type=="Docker Manifest")|select(.name|test("go-cli-github:v"))|.name|split(":")[0]')" >> "$GITHUB_OUTPUT"
73- id: image_metadata_go_cli_github
74- env:
75- ARTIFACTS: ${{steps.goreleaser.outputs.artifacts}}
76- - run : |
77- echo "digest=$(echo "$ARTIFACTS" | jq -r '.[]|select(.type=="Docker Manifest")|select(.name|test("another-binary:v"))|.extra.Digest')" >> "$GITHUB_OUTPUT"
78- echo "name=$(echo "$ARTIFACTS" | jq -r '.[]|select(.type=="Docker Manifest")|select(.name|test("another-binary:v"))|.name|split(":")[0]')" >> "$GITHUB_OUTPUT"
79- id: image_metadata_another_binary
80- env:
81- ARTIFACTS: ${{steps.goreleaser.outputs.artifacts}}
67+ subject-checksums : ./dist/checksums.txt
8268 # attest images
8369 - uses : actions/attest-build-provenance@977bb373ede98d70efdf65b84cb5f73e068dcc2a # v3.0.0
8470 with :
85- subject-digest : ${{steps.image_metadata_go_cli_github.outputs.digest}}
86- subject-name : ${{steps.image_metadata_go_cli_github.outputs.name}}
87- push-to-registry : true
88- - uses : actions/attest-build-provenance@977bb373ede98d70efdf65b84cb5f73e068dcc2a # v3.0.0
89- with :
90- subject-digest : ${{steps.image_metadata_another_binary.outputs.digest}}
91- subject-name : ${{steps.image_metadata_another_binary.outputs.name}}
71+ subject-checksums : ./dist/digests.txt
9272 push-to-registry : true
0 commit comments