fix(ci): force @semantic-release/npm@13 to fix trusted publishing#1172
Merged
andrejak merged 1 commit intoJun 9, 2026
Merged
Conversation
semantic-release@24 bundles @semantic-release/npm@12 (no OIDC support), which was loaded from its nested node_modules instead of our top-level v13, causing publishing to fail with ENONPMTOKEN. Pin v13.1.5 via resolutions so the OIDC-capable plugin is used everywhere. Co-authored-by: Cursor <cursoragent@cursor.com>
igorp1
approved these changes
Jun 9, 2026
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
Follow-up fix for TSP-1427. The initial trusted-publishing change (#1171) failed on
mainwithENONPMTOKEN.Root cause:
semantic-release@24declares a dependency on@semantic-release/npm@^12(no OIDC support) and loaded that nested copy fromnode_modules/semantic-release/node_modules/@semantic-release/npminstead of the top-level13.1.5we added as a direct devDependency. The v12 plugin still requires a long-livedNPM_TOKEN.This pins
@semantic-release/npmto13.1.5viaresolutions, so the OIDC-capable plugin is used everywhere and the nested v12 copy is removed.Test plan
yarn install --immutablepasses@semantic-release/npm@12.0.2is gone; only top-level13.1.5remains@duffel/api(ownerduffelhq, repoduffel-api-javascript, workflowrelease.yml) so the OIDC token exchange succeedsmainMade with Cursor