ci: bump npm publish jobs to Node 24 (npm@latest EBADENGINE)#66
Merged
Conversation
The npm publish jobs set up Node 20 then run `npm install -g npm@latest`. npm@12.0.1 dropped Node 20 support (engines: ^22.22.2 || ^24.15.0 || >=26), so every `npm publish` fails with EBADENGINE. This broke the npm side of the 0.3.0 release: all 5 platform publishes failed and node-publish-main was skipped, while PyPI published fine. Bump node-version 20 -> 24 in both node-publish-platform and node-publish-main so it satisfies npm@latest's engine requirement. The build/CI jobs are untouched; they don't upgrade npm. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
poshinchen
approved these changes
Jul 17, 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.
What
Bump
node-versionfrom20to24in the two npm publish jobs (node-publish-platformandnode-publish-main) inrelease.yml.Why
The publish jobs set up Node 20 and then run
npm install -g npm@latest. The currentnpm@12.0.1declaresengines: { node: "^22.22.2 || ^24.15.0 || >=26.0.0" }and dropped Node 20, so everynpm publishnow fails immediately with:This broke the npm side of the 0.3.0 release: all 5
node-publish-platformmatrix jobs failed andnode-publish-mainwas skipped. PyPI published fine, so 0.3.0 currently exists on PyPI but npm is still on 0.2.0 (see run 29584633292).Change
node-publish-platform:node-version: "20"→"24"node-publish-main:node-version: "20"→"24"Build/CI jobs are intentionally left on their current Node version. They don't run
npm install -g npm@latest, so they aren't affected.Verification
release.ymlparses as YAML; bump scoped to the two publish jobs, CI/build jobs still on Node 20.npm install -g npm@latestsucceeds → npm 12.0.1 (the version that threwEBADENGINEon Node 20).EXIT: 0, no engine error. (Note: Node 25 does not satisfy^22.22.2 || ^24.15.0 || >=26.0.0either, so 24 is the correct pin.)npm publish --dry-rununder Node 24 on the real 0.3.0 tarballs (incl.win32-x64-msvc) runs clean through packaging + integrity + the dry-run registry step. No errors.After merge
Re-dispatch 0.3.0 to publish
@strands-agents/shellto npm and reconcile the split-publish state (PyPI + git tag already at 0.3.0).