Skip to content

fix(sdk-ci): pin npm@11 for publish workflows (Node 20 runners)#227

Merged
yardend-wix merged 1 commit into
mainfrom
fix/ci-pin-npm11-node20
Jul 9, 2026
Merged

fix(sdk-ci): pin npm@11 for publish workflows (Node 20 runners)#227
yardend-wix merged 1 commit into
mainfrom
fix/ci-pin-npm11-node20

Conversation

@yardend-wix

Copy link
Copy Markdown
Collaborator

Why

The publish workflows run npm install -g npm@latest on Node 20 runners. On 2026-07-08 ~21:06 UTC, npm released npm@12.0.0, which requires Node >=22. So @latest now resolves to npm@12 and the step fails before anything else runs:

npm error code EBADENGINE
npm error Not compatible: npm@12.0.0
npm error Required: {"node":"^22.22.2 || ^24.15.0 || >=26.0.0"}
npm error Actual:   {"npm":"10.8.2","node":"v20.20.2"}

Nothing in the repo changed — the unpinned @latest swallowed an upstream breaking major. The last successful publish (2026-07-08 ~13:56 UTC) predated npm@12 by ~7 hours.

What

Pin to npm@11 — the newest npm that still supports Node 20 (engines: ^20.17.0 || >=22.9) — in both workflows:

  • preview-publish.yml (PR preview publish — currently red on open PRs)
  • manual-publish.yml (publish-on-dispatch — would fail the next real publish too)

Both files, because fixing only the preview would leave the actual publish broken.

Validates itself

preview-publish.yml triggers on pull_request, so this PR runs its own pinned version — a green check here confirms the fix.

Note

Pinning npm@11 is the minimal fix. Longer term, bumping the runners to Node 22 would allow npm@latest again; out of scope here.

🤖 Generated with Claude Code

npm@12 (latest as of 2026-07-08) requires Node >=22, but the publish
runners are on Node 20, so `npm install -g npm@latest` now fails with
EBADENGINE. Pin to npm@11 (the newest npm that still supports Node 20)
in both the preview and manual publish workflows.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@claude

claude Bot commented Jul 9, 2026

Copy link
Copy Markdown

Claude encountered an error —— View job


I'll analyze this and get back to you.

@github-actions

github-actions Bot commented Jul 9, 2026

Copy link
Copy Markdown

🚀 Package Preview Available!


Install this PR's preview build with npm:

npm i @base44-preview/sdk@0.8.37-pr.227.6e9ea56

Prefer not to change any import paths? Install using npm alias so your code still imports @base44/sdk:

npm i "@base44/sdk@npm:@base44-preview/sdk@0.8.37-pr.227.6e9ea56"

Or add it to your package.json dependencies:

{
  "dependencies": {
    "@base44/sdk": "npm:@base44-preview/sdk@0.8.37-pr.227.6e9ea56"
  }
}

Preview published to npm registry — try new features instantly!

@yardend-wix yardend-wix changed the title ci: pin npm@11 for publish workflows (Node 20 runners) fix(sdk-ci): pin npm@11 for publish workflows (Node 20 runners) Jul 9, 2026
@yardend-wix yardend-wix merged commit b4da6ef into main Jul 9, 2026
5 of 6 checks passed
@yardend-wix yardend-wix deleted the fix/ci-pin-npm11-node20 branch July 9, 2026 13:01
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.

2 participants