ci(release): grant SLSA provenance permissions#65
Merged
Conversation
Required by netresearch/skill-repo-skill/.github/workflows/release.yml, which generates SLSA build-provenance attestations for release archives via actions/attest-build-provenance. The reusable workflow's attest job needs id-token: write (OIDC for sigstore) and attestations: write (GitHub native attestation API) on the calling job. Also drops pull-requests: write — the reusable workflow doesn't touch the pulls API; it was over-privileging.
Contributor
|
Note Gemini is unable to generate a review for this pull request due to the file types involved not being currently supported. |
Contributor
Dependency Review✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.Scanned FilesNone |
There was a problem hiding this comment.
Pull request overview
Updates the repository’s release workflow permissions so the upstream reusable release workflow (netresearch/skill-repo-skill/.github/workflows/release.yml@main) can publish SLSA build-provenance attestations for release artifacts.
Changes:
- Add
id-token: writepermission to enable OIDC (Sigstore) usage during release attestation. - Add
attestations: writepermission to allow publishing GitHub-native attestations. - Remove
pull-requests: writefrom the release job permissions.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Merged
CybotTM
added a commit
that referenced
this pull request
May 15, 2026
## Release v2.14.0 Minor release. `.claude-plugin/plugin.json` and `skills/github-project/SKILL.md` frontmatter `metadata.version` were already synced to `2.14.0` on `main` via [#74](#74) — this PR is the empty release marker that closes the v2.13.1 → v2.14.0 window and triggers the signed-tag release. ### Highlights since v2.13.1 - **`agentic-workflows` reference** documenting `gh-aw` and `awf` workflow-as-prompt tooling for autonomous GitHub Actions — new patterns for running AI agents on PRs/issues without bespoke wiring ([#75](#75)). - **AI reviewer pushback patterns** — handling Copilot/Sourcery review comments that disagree with the codebase intent, including when to defer and when to push back ([#66](#66), [#74](#74)). - **PR-merge / branch-protection / CodeQL gotchas** documented, plus auto-detection of allowed merge strategy in the `--delete-branch` snippet so the recipe doesn't break on repos with merge-commit-only policies ([#69](#69), [#71](#71), [#72](#72)). - **GraphQL `Repository.mergeQueue`** for queue detection — replaces a brittle REST probe ([#70](#70)). - **Assessment checkpoints overhaul**: new GH-34/GH-35/GH-36, follow_uses delegation for CodeQL/Scorecard, org_provides for community-health files, broader licence/Dependabot/workflow targets, plus reusable-workflow-pitfalls reference. Multiple false-positive findings demoted to `info` to reduce assessment noise ([#56](#56), [#57](#57), [#58](#58), [#59](#59), [#60](#60), [#61](#61), [#62](#62), [#63](#63), [#64](#64), [#65](#65), [#73](#73)). - **npm distribution** — the skill now also ships via `@netresearch/agent-skill-coordinator` ([#54](#54), [#55](#55)). - **Release pipeline hardening** — dropped the deprecated `with: bump:` block + `workflow_dispatch.bump` input so releases happen exclusively via locally-signed tags, plus SLSA-provenance permissions on the caller ([#52](#52), [#53](#53)). ### Release plan After merge: tag main with a signed annotated tag, push, the `skill-repo-skill` reusable workflow publishes archives + SHA256SUMS with cosign + SLSA attestation, then narrative notes get applied via `gh release edit ... --notes-file`.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Grants the two permissions the upstream reusable release workflow at
netresearch/skill-repo-skillneeds in order to publish a SLSA build-provenance attestation for every release archive.Why
This is part of an org-wide rollout flipping SLSA build-provenance attestations to always on in the reusable release workflow. The first cut shipped the feature behind an opt-in input (
with: attest: true); on review, opt-in was the wrong call — every release artefact in the org should have provenance, and the cost of "always on" is a tiny one-time permission grant per consumer (this PR).Sequencing
This PR lands first. After every consumer of
netresearch/skill-repo-skill/.github/workflows/release.yml@mainhas merged the equivalent change, the upstream will drop the opt-in input and theif:gate so the attest job always runs. No window of broken releases either way: callers that already grant the permissions are forward-compatible.Test plan
gh attestation verify <archive> --owner netresearch