Skip to content

ci: verify published release provenance - #3344

Merged
samayer12 merged 1 commit into
mainfrom
ci/verify-release-provenance
Sep 15, 2026
Merged

samayer12 merged 1 commit into
mainfrom
ci/verify-release-provenance

Conversation

@samayer12

@samayer12 samayer12 commented Sep 15, 2026

Copy link
Copy Markdown
Contributor

Summary

  • download the exact Pepr version from npm after publication with retries
  • require the published tarball SHA-256 to match the release build output
  • verify the GitHub attestation's repository, workflow, predicate, source ref, source commit, and hosted runner
  • verify npm registry signatures and provenance for the installed release

Stack

  • Base PR: this PR
  • Follow-up: provenance documentation (will target this branch)

Validation

  • release workflow passes Prettier validation
  • git diff --check passes
  • strict GitHub attestation verification succeeds against pepr@2.0.2
  • npm audit signatures succeeds against an installed pepr@2.0.2 dependency tree

@codecov

codecov Bot commented Sep 15, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 77.98%. Comparing base (e1bf8df) to head (7d29d5b).

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##             main    #3344   +/-   ##
=======================================
  Coverage   77.98%   77.98%           
=======================================
  Files          92       92           
  Lines        2548     2548           
  Branches      545      545           
=======================================
  Hits         1987     1987           
  Misses        439      439           
  Partials      122      122           
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@samayer12
samayer12 added this pull request to stack #3345 September 15, 2026 21:38
Download the published npm package after release, compare it with the build digest, and verify both GitHub and npm provenance before the release workflow completes.

Constraint: Verify the npm tarball without gating independent image publication
Confidence: high
Scope-risk: moderate
@samayer12
samayer12 force-pushed the ci/verify-release-provenance branch from 7d29d5b to a8af08b Compare September 15, 2026 21:41
@samayer12
samayer12 marked this pull request as ready for review September 15, 2026 21:42
@samayer12
samayer12 requested a review from a team as a code owner September 15, 2026 21:42
@greptile-apps

greptile-apps Bot commented Sep 15, 2026

Copy link
Copy Markdown
Contributor

RetriggerConfidence Score: 4/5

The PR should not merge until successful provenance verification gates the remaining controller-image and UDS publication paths.

Findings

  1. P1 Verification Does Not Gate

Summary

This PR adds post-publication verification of Pepr's npm release artifact, including registry download retries, digest equality, strict GitHub attestation constraints, and npm registry signature checks.

  • Downloads the exact published Pepr version and compares it with the release build digest.
  • Verifies repository, workflow, predicate, source, and runner claims in the GitHub attestation.
  • Audits npm registry signatures and provenance from a fresh installation.
  • The verification job currently does not gate the remaining image and UDS publication paths.

Diagram

%%{init: {'theme': 'neutral'}}%%
flowchart LR
  B[SLSA package build] --> A[Create GitHub attestation]
  A --> P[Publish to npm]
  P --> V[Verify published digest and provenance]
  P --> I[Publish controller images]
  P --> U[Push UDS OCI package]
  V -. currently does not gate .-> I
  V -. currently does not gate .-> U
Loading

Reviews (1) · Last reviewed commit: "ci: verify published release provenance"

Comment thread .github/workflows/release.yml
@github-project-automation github-project-automation Bot moved this to 👀 In review in Pepr Project Board Sep 15, 2026
@samayer12
samayer12 added this pull request to the merge queue Sep 15, 2026
Merged via the queue into main with commit 8bfe38c Sep 15, 2026
94 of 96 checks passed
@samayer12
samayer12 deleted the ci/verify-release-provenance branch September 15, 2026 22:29
@github-project-automation github-project-automation Bot moved this from 👀 In review to ✅ Done in Pepr Project Board Sep 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: ✅ Done

Development

Successfully merging this pull request may close these issues.

2 participants