Skip to content

fix(ci): bump publish workflow to Node 24 for npm 11.5+ OIDC support#48

Merged
I4cTime merged 1 commit intomainfrom
fix/publish-node24-oidc
Apr 25, 2026
Merged

fix(ci): bump publish workflow to Node 24 for npm 11.5+ OIDC support#48
I4cTime merged 1 commit intomainfrom
fix/publish-node24-oidc

Conversation

@I4cTime
Copy link
Copy Markdown
Owner

@I4cTime I4cTime commented Apr 25, 2026

Summary

CI-only hotfix. Bumps actions/setup-node node-version from 22 to 24 in .github/workflows/publish.yml so the runner ships an npm CLI that supports OIDC trusted publishing.

Why

npm's trusted publishing docs require:

Trusted publishing requires npm CLI version 11.5.1 or later and Node version 22.14.0 or higher.

Node 22 in setup-node@v4 ships npm 10.x, which the registry silently rejects with a misleading E404 Not Found - PUT https://registry.npmjs.org/@i4ctime%2fq-ring instead of the documented ENEEDAUTH. This is exactly what blocked the v0.10.1 publish (runs 24920121657, 24920570275, 24920684561) even after the OIDC Trusted Publisher was added on npmjs.com — the provenance statement was successfully signed and uploaded to Sigstore each time, but npm's exchange endpoint refused the older client.

Node 24 bundles npm 11.6.x, well above the 11.5.1 floor, so we can also keep the npm install -g npm@latest step removed (which had been crashing with Cannot find module 'promise-retry').

Scope

  • No source changes — only .github/workflows/publish.yml
  • No version bump — v0.10.1 stays the published target; we'll re-dispatch the workflow against the existing tag once this lands

Follow-up

After merge:

  1. gh workflow run publish.yml --ref main -f ref=v0.10.1
  2. Confirm npm view @i4ctime/q-ring version flips from 0.9.80.10.1
  3. Confirm MCP Registry publish step succeeds

Test plan

  • Workflow syntactically valid (YAML parses)
  • Re-dispatched workflow completes the Publish to npm step (verified post-merge)
  • npm view @i4ctime/q-ring versions includes 0.10.1

Made with Cursor

Trusted publishing on npmjs.com requires npm >= 11.5.1
(https://docs.npmjs.com/trusted-publishers). Node 22 in setup-node@v4
ships npm 10.x, which is rejected by the registry with a misleading
E404 instead of the documented ENEEDAUTH. This silently blocked the
v0.10.1 publish even after the trusted publisher was correctly
configured on npmjs.com.

Switching the runner to Node 24 bundles a recent enough npm out of
the box, so we can keep the npm self-upgrade step removed (it was
crashing with `Cannot find module 'promise-retry'`).

CI-only change. No source / no version bump; v0.10.1 will be
re-published from the existing tag via workflow_dispatch.

Made-with: Cursor
@I4cTime I4cTime merged commit 1714619 into main Apr 25, 2026
3 checks passed
@I4cTime I4cTime deleted the fix/publish-node24-oidc branch April 25, 2026 02:50
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