Skip to content

fix(ci): drop @semantic-release/npm — use exec publishCmd for OIDC#5

Merged
polaz merged 1 commit into
mainfrom
fix/semantic-release-npm-via-oidc-publish-cmd
May 6, 2026
Merged

fix(ci): drop @semantic-release/npm — use exec publishCmd for OIDC#5
polaz merged 1 commit into
mainfrom
fix/semantic-release-npm-via-oidc-publish-cmd

Conversation

@polaz
Copy link
Copy Markdown
Contributor

@polaz polaz commented May 6, 2026

Release run #25440675930 failed:

ENONPMTOKEN No npm token specified.

@semantic-release/npm plugin checks NPM_TOKEN at verifyConditions phase. It doesn't know about OIDC trusted publishing. With OIDC there is no token — npm CLI gets credentials directly from the GitHub Actions ID token.

Fix: drop @semantic-release/npm from .releaserc.json plugins, add publishCmd: "npm publish --provenance --access public" to existing @semantic-release/exec plugin. Same pattern as structured-world/gitlab-mcp release-please.yml.

Test plan

  • After merge: Release workflow on next push should:
    • tag vX.Y.Z + GitHub Release
    • npm publish via OIDC (no NPM_TOKEN needed)

@semantic-release/npm requires NPM_TOKEN env at verifyConditions
(can't be skipped, doesn't know about OIDC). Replace with
@semantic-release/exec publishCmd='npm publish --provenance --access public'.
This is the gitlab-mcp pattern — explicit npm publish step works
with OIDC trusted publishing, no token needed.
@polaz polaz merged commit 6390193 into main May 6, 2026
1 check passed
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