Skip to content

Use Node 24 for release job to get npm 11 - #259

Merged
mishushakov merged 3 commits into
mainfrom
mishushakov/fix-ci-release
Apr 24, 2026
Merged

Use Node 24 for release job to get npm 11#259
mishushakov merged 3 commits into
mainfrom
mishushakov/fix-ci-release

Conversation

@mishushakov

Copy link
Copy Markdown
Member

Summary

PR #258 didn't fix the release workflow — `--force` still crashed with `Cannot find module 'promise-retry'` (failed run) because the Node 22 tool cache's bundled npm is broken before any flag takes effect.

Switching the release job to Node 24.x (which ships with npm 11.12) lets us drop the "Update npm" step entirely while still satisfying the OIDC/provenance publish requirement.

Test plan

  • Next run of the Release workflow reaches "Install dependencies" and publishes without touching the "Update npm" step.

🤖 Generated with Claude Code

mishushakov and others added 2 commits April 22, 2026 11:34
Works around npm's "Cannot find module 'promise-retry'" error when
upgrading to npm 11.6 over the npm 10.x bundled with Node 22.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Node 24.15 ships with npm 11.12, which already satisfies the OIDC
publish requirement. Avoids the broken npm self-install in Node 22's
tool cache (npm/cli#8859, "Cannot find module 'promise-retry'") by
skipping the upgrade step entirely.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@cursor

cursor Bot commented Apr 24, 2026

Copy link
Copy Markdown

PR Summary

Medium Risk
Release workflow now runs the release job on Node.js 24 and no longer force-upgrades npm, which could affect publish behavior if any tooling depends on the previous Node/npm combination.

Overview
Updates the release job in .github/workflows/release.yml to use Node.js 24.x (instead of 22.x) for the Changesets publish step.

Removes the explicit "Update npm" step, relying on the npm version bundled with Node 24 during releases.

Reviewed by Cursor Bugbot for commit 34394ce. Bugbot is set up for automated code reviews on this repo. Configure here.

@mishushakov
mishushakov merged commit 7115ef8 into main Apr 24, 2026
14 checks passed
@mishushakov
mishushakov deleted the mishushakov/fix-ci-release branch April 24, 2026 13:45
mishushakov added a commit that referenced this pull request Aug 6, 2026
Bump pnpm 9.15.9 -> 10.34.5 across packageManager fields, engines and all
seven pnpm/action-setup steps. pnpm 10 blocks dependency lifecycle scripts by
default, so esbuild is added to onlyBuiltDependencies to keep the JS build
working. The lockfile is unchanged (v9.0 format is shared by pnpm 9 and 10).

Set minimumReleaseAge to 4320 minutes (3 days) so newly published versions
have time to be caught and unpublished before we install them, with `e2b`
excluded since we control its releases. Renovate gets a matching
minimumReleaseAge and exemption, otherwise it proposes versions pnpm then
refuses to install.

Move pnpm, Node and Bun versions into .tool-versions, alongside the Python and
Poetry entries already wired up there. Node was hardcoded in seven places at
three different versions; the release job keeps its explicit Node 24 pin,
which is deliberate for npm 11 OIDC trusted publishing (#259).

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
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.

3 participants