Skip to content

ci(publish): stage releases on npm and approve them with 2FA - #244

Merged
VickyXAI merged 1 commit into
mainfrom
ci/npm-staged-publish
Nov 9, 2026
Merged

VickyXAI merged 1 commit into
mainfrom
ci/npm-staged-publish

Conversation

@VickyXAI

@VickyXAI VickyXAI commented Nov 9, 2026

Copy link
Copy Markdown
Contributor

CI publish has failed since 3.49.25 with E403 OIDC permission denied for this action (runs 42499967519, 42574370607). The trusted publisher for @blockrun/franklin (BlockRunAI/Franklin + publish.yml) is allowed to stage only, per npm trust list.

This keeps that restriction and switches CI to npm stage publish --provenance --access public (npm >= 11.20). A release now stages the version; it goes live after npm stage approve <stage-id> with 2FA. The job summary prints the approve commands. The NPM_TOKEN fallback is removed from the publish step.

CONTRIBUTING.md documents the approve step.

Verified locally: npm stage publish --provenance --access public --dry-run accepts the flags (it stops only because 3.49.26 already exists). The real OIDC path is exercised on the next release.

The package's trusted publisher on npmjs.com only allows staged publishing,
so CI's plain npm publish has been rejected since 3.49.25 (E403 OIDC
permission denied for this action). Keep that restriction: CI now runs
npm stage publish, and a version goes live only after a maintainer approves
it with 2FA. A compromised workflow or release permission can no longer ship
a build to users on its own. Drop the NPM_TOKEN fallback from the publish
step; trusted publishing needs no long-lived token.
@VickyXAI
VickyXAI merged commit ec4f687 into main Nov 9, 2026
3 checks passed
@VickyXAI
VickyXAI deleted the ci/npm-staged-publish branch November 9, 2026 22:17
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.

1 participant