Skip to content

Commit 6e172a3

Browse files
committed
fix(ci): gate the artifact the provenance actually attests
The gate asked assayward to verify a digest that appeared in no attestation, so it answered SUBJECT_DIGEST_MISMATCH and every downstream check then reported its evidence missing. forgeseal attests the dependency SBOM as its subject, so hash that file and gate on it, matching smithmark's working gate.
1 parent d378024 commit 6e172a3

1 file changed

Lines changed: 10 additions & 2 deletions

File tree

.github/workflows/assayward-gate.yml

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,18 @@ jobs:
4141
--attest \
4242
--keyed
4343
44-
- name: Compute artifact digest
44+
# The gated artifact must be the one the provenance actually attests.
45+
# `forgeseal pipeline --attest` records the dependency SBOM as its
46+
# subject, so hashing the binary here produced a digest that appears in
47+
# no attestation: assayward answered SUBJECT_DIGEST_MISMATCH and every
48+
# downstream check then reported its evidence missing. Hashing the
49+
# attested subject binds the policy to real evidence. (Never caught
50+
# before because this workflow's trigger meant it never ran.)
51+
- name: Compute attested subject digest
4552
id: digest
4653
run: |
47-
DIGEST="sha256:$(sha256sum ./bin/forgeseal 2>/dev/null | awk '{print $1}' || echo 'unknown')"
54+
test -f ./forgeseal-output/sbom.cdx.json
55+
DIGEST="sha256:$(sha256sum ./forgeseal-output/sbom.cdx.json | awk '{print $1}')"
4856
echo "value=$DIGEST" >> "$GITHUB_OUTPUT"
4957
5058
- name: Obtain svidmint SVID

0 commit comments

Comments
 (0)