Skip to content

Fix npm ci lockfile sync failure in signing pipeline; move CI to Node 24 - #5053

Open
Vidal Ortega (vidorteg) wants to merge 1 commit into
mainfrom
fix/node24-lockfile-sync
Open

Vidal Ortega (vidorteg) wants to merge 1 commit into
mainfrom
fix/node24-lockfile-sync

Conversation

@vidorteg

Copy link
Copy Markdown
Contributor

Problem

The ESRP signing pipeline failed at npm ci:

Missing: @emnapi/core@1.11.3 from lock file
Missing: @emnapi/runtime@1.11.3 from lock file

The pipeline used Node 22 (npm 10), while the lockfile was generated with npm 11. npm 11 leaves out these optional peer dependencies of @napi-rs/wasm-runtime, and npm 10's npm ci rejects the lockfile without them.

Changes

  • Regenerated package-lock.json so it passes npm ci on both npm 10 and npm 11.
  • Moved ESRPSign.yml and the CI workflows for Linux, Mac and Windows from Node 22.x to Node 24.x, to match local development.
  • Switched the CI workflows from npm install to npm ci so lockfile drift is caught on PRs.

Validation

  • Reproduced the original error with npx npm@10 ci.
  • npm ci --dry-run passes with npm 10 and npm 11.
  • npm ci and npm run build-and-lint pass on Node 24.

The ESRP signing pipeline ran npm ci on Node 22 (npm 10), which rejected a
lockfile generated by npm 11 because it lacked @emnapi/core and
@emnapi/runtime (optional peers of @napi-rs/wasm-runtime).

- Regenerate package-lock.json so it is valid for both npm 10 and npm 11
- Use Node 24 in ESRPSign and CI workflows to match local development
- Use npm ci in CI workflows so lockfile drift is caught on PRs

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: bd8bd799-c48f-44dd-a0b2-1ee61043fecc
Copilot AI balanced review requested due to automatic review settings October 16, 2026 16:21

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

No blocking issues were identified in the focused lockfile repair or consistent workflow updates.

0 open findings

What changed in this PR

Fixes the signing pipeline’s lockfile mismatch and aligns CI with Node 24.

Changes:

  • Adds missing optional peer dependencies and refreshes lockfile metadata.
  • Moves signing and platform CI workflows to Node 24.
  • Uses npm ci in platform CI to catch lockfile drift.
File Description
package-lock.json Adds missing dependencies and updates peer metadata.
.github/​workflows/​ESRPSign.yml Uses Node 24 for signing.
.github/​workflows/​CI_windows.yml Uses Node 24 and npm ci.
.github/​workflows/​CI_mac.yml Uses Node 24 and npm ci.
.github/​workflows/​CI_linux.yml Uses Node 24 and npm ci.

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@guangyuexu Guangyue Xu (guangyuexu) left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

This branch has not been deployed

No deployments
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