Skip to content

feat: attach signed source archive to releases - #35

Merged
bloogefest merged 1 commit into
masterfrom
feat/release-provenance
Oct 25, 2026
Merged

bloogefest merged 1 commit into
masterfrom
feat/release-provenance

Conversation

@bloogefest

Copy link
Copy Markdown
Member

What and why

Releases had no assets, so OpenSSF Scorecard reported Signed-Releases as inconclusive and consumers could not verify what a release contains.

A new provenance job runs after release-please when a release is created:

  • git archive of the release tag as <repo>-<version>.tar.gz and SHA256SUMS;
  • actions/attest creates signed SLSA build provenance (Sigstore, stored in GitHub artifact attestations);
  • the Sigstore bundle (*.sigstore.json) and its in-toto DSSE envelope (*.intoto.jsonl) are uploaded to the release with a sogeor-release-bot token scoped to the repository and contents: write.

GITHUB_TOKEN gets only attestations: write, contents: read and id-token: write. Callers must grant attestations: write and id-token: write to their release job (already done in all Sogeor repositories). slsa-github-generator was not used: it is no longer maintained and cannot be pinned by SHA.

How it was tested

  • pre-commit run --all-files; inputs and outputs checked against action.yml of the pinned actions.
  • The first run is the release of this repository; verify with gh attestation verify.

Checklist

  • The PR title follows Conventional Commits (feat:, fix:, feat!: for breaking changes)
  • Tests and documentation are added or updated
  • pre-commit run --all-files passes locally
  • No secrets in plain text; any Secret / *.sops.yaml is SOPS-encrypted
  • Breaking changes and migration steps are described above

@bloogefest
bloogefest enabled auto-merge (squash) October 25, 2026 00:48
@bloogefest
bloogefest merged commit 3e48b2b into master Oct 25, 2026
6 checks passed
@bloogefest
bloogefest deleted the feat/release-provenance branch October 25, 2026 00:48
@bloogefest bloogefest added the enhancement New feature or request label Oct 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant