hotfix: pin pipeline to Node 22 to unblock 2.0.10 release#560
Merged
Conversation
## Problem The release pipeline fails on `npm ci` with errors like: ``` npm error Missing: [email protected] from lock file npm error Missing: @esbuild/[email protected] from lock file ... ``` ## Root cause The pipeline's `NodeTool@0` task uses `versionSpec: '24.x'`, which provisions Node 24 + **npm 11**. However: - This repo pins `"packageManager": "[email protected]"` in `package.json`. - npm 10 only records platform-specific optional dependencies for the **current** platform when generating `package-lock.json` (so a lockfile generated on macOS only contains Mac binaries for `@esbuild/*` and `turbo-*`). - npm 11 requires **all** platform binaries to be present in the lockfile and treats missing ones as out-of-sync, failing `npm ci`. Lockfile is valid under npm 10 — `npm ci` succeeds locally. The mismatch is purely between the pipeline's npm and the project's pinned npm. ## Fix Pin the pipeline to Node 22 (LTS), which ships with npm 10, matching the `packageManager` field and every developer's local environment. ## Alternative considered Bumping the project to npm 11 (update `packageManager`, regenerate lockfile under npm 11, force every dev to upgrade). Rejected as larger blast radius for an unblock-the-release fix. ## Follow-up This same change needs to be cherry-picked to `release` to unblock the 2.0.10 publish.
lilyydu
approved these changes
May 6, 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.
Cherry-pick of #559 onto
releaseto unblock the 2.0.10 publish pipeline.Why
The publish pipeline fails on
npm cion Windows agents because Node 24 ships npm 11, which is stricter than the npm 10 pinned inpackageManager. See #559 for full root-cause analysis.Change
Pins the
NodeTool@0task in.azdo/publish.ymlfrom24.xto22.x(npm 10). One-line fix, no lockfile or dependency changes.After merge
Re-trigger the release pipeline on
releasewith Public publish type to ship 2.0.10.