Skip to content

Sign patch release artifacts and attach SLSA provenance - #892

Merged
wenju-he merged 3 commits into
intel:mainfrom
wenju-he:sign-releases
Oct 26, 2026
Merged

wenju-he merged 3 commits into
intel:mainfrom
wenju-he:sign-releases

Conversation

@wenju-he

Copy link
Copy Markdown
Contributor

Attach a source archive to each patch release together with a sigstore signature (.sigstore.json) and SLSA build provenance (.intoto.jsonl), to address the OpenSSF Scorecard Signed-Releases check.

Tested on a fork: the release job succeeded and the provenance bundle passed gh attestation verify.

Attach a source archive to each patch release together with a sigstore
signature (.sigstore.json) and SLSA build provenance (.intoto.jsonl), to
address the OpenSSF Scorecard Signed-Releases check.

Tested on a fork: the release job succeeded and the provenance bundle
passed `gh attestation verify`.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@wenju-he
wenju-he enabled auto-merge (squash) October 13, 2026 01:11
@wenju-he
wenju-he requested review from cdai2 and a balanced review from Copilot October 13, 2026 01:11

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟡 Changes recommended

Provenance references the wrong source commit, and failures can leave releases permanently unsigned.

3 open findings
What changed in this PR

Adds signed source archives and SLSA provenance to patch releases.

Changes:

  • Grants signing and attestation permissions.
  • Generates Sigstore signatures and provenance bundles.
  • Uploads artifacts to GitHub Releases.
File Description
.github/​workflows/​patch-release.yml Adds release artifact signing, provenance, and upload steps.

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread .github/workflows/patch-release.yml Resolved
Comment thread .github/workflows/patch-release.yml Resolved
Comment thread .github/workflows/patch-release.yml Resolved
Build, sign and attest before creating the release so a signing failure
leaves no tag. Pin sigstore and drop GH_TOKEN from the signing step.
Attest a SLSA v1 predicate listing the run ref first (required by GitHub)
and the archived branch commit second.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟡 Changes recommended

The privileged release job dynamically executes unhashed Python dependencies, creating a supply-chain risk.

1 open finding
3 resolved since last review

🧠 Review effort: Balanced

Comment thread .github/workflows/patch-release.yml Resolved
…prevent release-path supply-chain compromise'

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🔵 Needs a closer look

Scheduled runs generate provenance using a build type that explicitly excludes the schedule event.

0 open findings

1 resolved since last review
Previously missed (1)

In code that hasn't changed since last review

Medium severity Monthly schedule uses unsupported workflow/v1 event_name

.github/​workflows/​patch-release.yml:135

The monthly schedule path sets event_name to schedule, but the workflow/v1 build-type specification supports only create, release, push, and workflow_dispatch, and explicitly forbids using this build type for other events. Scheduled releases therefore publish semantically nonconforming provenance even though gh attestation verify can validate its signature. Route the scheduled build through a supported event or use and document a schedule-aware build type.

🧠 Review effort: Balanced

@wenju-he
wenju-he merged commit 4bbac1d into intel:main Oct 26, 2026
1 of 3 checks passed
@wenju-he
wenju-he deleted the sign-releases branch October 26, 2026 01:25
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