Add OIDC trusted publishing + staged npm releases via GitHub Actions#363
Add OIDC trusted publishing + staged npm releases via GitHub Actions#363patocallaghan wants to merge 4 commits into
Conversation
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…d runtime Apply the fixes validated on the passport-intercom and cli publish workflows: - verify: use fetch-depth: 0 and drop the manual `git fetch --depth=1`, so the default-branch ancestry check has the history it needs (the double-shallow version could only pass when the tag was the branch tip) - add a top-level concurrency group so overlapping releases serialize instead of racing for a dist-tag - add timeout-minutes: 15 to stage-publish Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
ReviewPorted the RN OIDC staged-publishing workflow (intercom/intercom-react-native#360) faithfully on the security scaffolding — SHA-pinned actions, env-var indirection for the release tag, least-privilege 🔴 Blocker 1 — Workflow runs from repo root, but there is no root
|
…sh, pin SHA between jobs - Run version assert, dist-tag resolve, and `npm stage publish` inside intercom-plugin/ (the publishable package lives there; no root package.json). - Remove the CircleCI token-based publish job and its workflow wiring so releases no longer double-publish / race on the dist-tag. - verify now outputs the ancestry-checked SHA; stage-publish checks out that exact SHA instead of re-resolving the mutable tag (closes the TOCTOU window). - Remove the resolved CAVEAT template header. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
@imSzukala Thanks for the review. I've updated per your feedback 🙇♂️ |
Why?
Moves npm publishing onto short-lived, per-run OIDC credentials with a human approval step, removing the need for a stored long-lived npm token.
How?
Adds a release-triggered GitHub Actions workflow that authenticates to npm via OIDC (no token) and uses npm's staged publishing, so each release is queued for a maintainer to approve before it goes live.
Generated with Claude Code