Commit 3dcbdb8
feat(ci): attest build provenance (#161)
## Estate attestation rollout
Adds GitHub native build-provenance attestation to
`.github/workflows/ghcr-publish.yml`.
**Push mechanism:** Podman (`podman build` + `podman push` to ghcr.io),
image `ghcr.io/hyperpolymath/verisimdb-api`.
**How the digest is obtained:** the SHA-tagged GHCR push now runs with
`podman push --digestfile=/tmp/ghcr-digest`, which writes the real
`sha256:...` digest of the pushed manifest. That value is exported as
the `push` step output and fed to the attestation as `subject-digest`.
**Changes:**
- Added a job `permissions` block with `id-token: write` +
`attestations: write` (plus the existing `contents: read`, `packages:
write`).
- Captured the pushed digest via `--digestfile`.
- Added an `actions/attest-build-provenance@e8998f94…` (v2, pinned) step
with `push-to-registry: true`, gated on the same non-PR condition as the
push.
Verify with:
```
gh attest verify oci://ghcr.io/hyperpolymath/verisimdb-api:<tag> --repo hyperpolymath/verisimdb
```
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>1 parent 5264f9c commit 3dcbdb8
1 file changed
Lines changed: 22 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
30 | 30 | | |
31 | 31 | | |
32 | 32 | | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
33 | 38 | | |
34 | 39 | | |
35 | 40 | | |
| |||
55 | 60 | | |
56 | 61 | | |
57 | 62 | | |
| 63 | + | |
58 | 64 | | |
59 | 65 | | |
60 | 66 | | |
61 | 67 | | |
62 | 68 | | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
63 | 72 | | |
64 | | - | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
0 commit comments