Skip to content

ci(deploy): provenance#387

Merged
KSXGitHub merged 8 commits intomasterfrom
claude/add-artifact-attestations-6Ou9L
Apr 8, 2026
Merged

ci(deploy): provenance#387
KSXGitHub merged 8 commits intomasterfrom
claude/add-artifact-attestations-6Ou9L

Conversation

@KSXGitHub
Copy link
Copy Markdown
Owner

@KSXGitHub KSXGitHub commented Apr 7, 2026

This PR adds build provenance attestation to the GitHub Actions CI/CD pipeline across all three build jobs (Linux, macOS, and Windows). This enhances supply chain security by generating cryptographic attestations for each build artifact.

Relevant resources:


https://claude.ai/code/session_01KThePWLJK2e5Y5RZfC8f2P

Use actions/attest-build-provenance to generate Sigstore-backed
attestations for each released executable, so consumers can verify
that the binaries on GitHub Releases were built by this workflow
rather than uploaded manually.
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds GitHub Actions build provenance attestations to the deployment workflow’s build matrix jobs, improving supply-chain integrity by generating cryptographic provenance for produced binaries.

Changes:

  • Added per-job permissions required for OIDC-based provenance attestation (id-token: write, attestations: write, plus contents: read).
  • Added actions/attest-build-provenance@v2 steps for Linux, macOS, and Windows build outputs (after stripping on Unix).

@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 7, 2026

Performance Regression Reports

commit: dca78f1

There are no regressions.

…ries

Add a note to the GitHub install subsection and a new FAQ entry
explaining that executables published to GitHub Releases starting
from 0.22.1 are signed with Sigstore-backed build provenance
attestations, along with the gh attestation verify command.
Co-authored-by: Khải <hvksmr1996@gmail.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated no new comments.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

Extend build provenance attestations to the non-binary release assets.
Shell completion files are sourced by the user's shell on tab
completion, so a tampered completion file could execute arbitrary
code; attesting them closes that gap. Checksum files are attested so
that consumers who rely on sha*sum.txt can likewise verify it was
produced by this workflow rather than swapped post-release.
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated no new comments.

@KSXGitHub KSXGitHub requested a review from Copilot April 8, 2026 02:30
@KSXGitHub KSXGitHub marked this pull request as ready for review April 8, 2026 02:30
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated 5 comments.

Annotate the permissions blocks with the reason the job needs
id-token: write (actions/attest-build-provenance obtains a Sigstore
OIDC token). The build jobs also note that the narrower-blast-radius
refactor — splitting attestation into a dedicated job — was
considered and rejected as disproportionate.
@KSXGitHub KSXGitHub merged commit 5bd0169 into master Apr 8, 2026
13 checks passed
@KSXGitHub KSXGitHub deleted the claude/add-artifact-attestations-6Ou9L branch April 8, 2026 03:29
KSXGitHub pushed a commit that referenced this pull request Apr 8, 2026
PR #387 added Sigstore-backed provenance to executables, completion
files, the man page, and checksums, but missed `benchmark-reports.tar.gz`
which is uploaded as a release asset by the `competing_benchmark` job.
Without an attestation, there is no cryptographic proof that the archive
was generated by this workflow rather than uploaded by hand, leaving the
benchmark numbers open to accusations of tampering.

Grant the `competing_benchmark` job the `id-token: write` and
`attestations: write` permissions (along with the existing `contents:
write` it already needs to upload release assets) and run
`actions/attest-build-provenance@v2` against `tmp.benchmark-reports.tar.gz`
right before it is uploaded.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants