chore: update Node.js from 20 to 24 across CI, packages, and extension#9141
chore: update Node.js from 20 to 24 across CI, packages, and extension#9141lambrianmsft wants to merge 2 commits into
Conversation
- Update GitHub Actions workflows to use Node 24 as primary version - Update test matrices from [18, 20, 22] to [20, 22, 24] - Update Azure Pipelines setup template to Node 24.x - Update root engines.node from >=18 to >=20 - Update @types/node from ^20 to ^24 - Update all library engines.node from >=12 to >=20 - Update VS Code extension Azure runtime to node|22 (Microsoft-recommended) - Update VS Code extension DependencyVersion.nodeJs to 24.15.0 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
🤖 AI PR Validation ReportPR Review ResultsThank you for your submission! Here's detailed feedback on your PR title and body compliance:✅ PR Title
✅ Commit Type
❌ Risk Level
❌ What & Why
|
| Section | Status | Recommendation |
|---|---|---|
| Title | ✅ | Keep as-is or optionally include short scope note. |
| Commit Type | ✅ | chore is correct. |
| Risk Level | ❌ | Add a risk:high label to the PR to match the body. |
| What & Why | ❌ | Fill in 2–4 sentences describing what changed and why. |
| Impact of Change | Add Users/Developers/System bullets (see recommendation). | |
| Test Plan | ❌ | Provide CI/test run details and check boxes, or justify absence. |
| Contributors | Optional: add contributors to credit. | |
| Screenshots/Videos | N/A for this PR. |
Final recommendations & next steps
- Add a
risk:highlabel to the PR (label must exactly match your Risk Level selection in the body). - Populate the "What & Why" with a short clear explanation (example provided above).
- Fill the "Impact of Change" section with explicit Users/Developers/System bullets.
- Update the "Test Plan": describe which CI jobs were run (or will run), link to passing runs, indicate whether unit/E2E tests were updated or why they are not needed, and then check the appropriate boxes.
- Because this PR changes runtime engines and CI matrices, verify at least: full build + unit test suites + extension build run successfully on Node 24 in CI.
- If you intend this to be a high-risk change, ensure a release/rollback plan is described (for the extension and any production builds that might rely on Node runtime versions).
- Optionally add Contributors and mention any manual verification steps you did locally (node version manager used, smoke tests, VS Code extension run, etc.).
Summary: The PR content and diff justify a High risk level (advisedRiskLevel = High). The PR currently fails because the body is missing required explanatory sections (What & Why, Impact, Test Plan) and the PR itself lacks the corresponding risk:high label. Please update the PR body with the items above and add the risk label; once updated I will re-check and re-evaluate.
Last updated: Thu, 07 May 2026 06:57:11 GMT
🤖 AI PR Validation ReportPR Review ResultsThank you for your submission! Here's detailed feedback on your PR title and body compliance:✅ PR Title
✅ Commit Type
❌ Risk Level
❌ What & Why
❌ Impact of Change
❌ Test Plan
|
| Section | Status | Recommendation |
|---|---|---|
| Title | ✅ | Title is fine; optionally make scope explicit. |
| Commit Type | ✅ | chore is correct. |
| Risk Level | ❌ | Add label risk:high to match PR body. |
| What & Why | ❌ | Add concise rationale and note any exceptions. |
| Impact of Change | ❌ | Describe Users / Developers / System impact. |
| Test Plan | ❌ | Add CI success artifacts or detailed manual test steps + follow-ups. |
| Contributors | Add contributors or note none. | |
| Screenshots/Videos | Not applicable — optional. |
Final message:
This PR is a large-surface maintenance change and is correctly classified as High risk — I agree with that classification. However, the PR does not pass automated PR body checks because the PR is missing a matching risk:high label and does not contain a Test Plan, What & Why, or Impact sections with content. Please update the PR body to include the missing sections and add the risk:high label. In particular:
- Add the missing What & Why (2–3 lines) and explicitly explain the Node 22 vs Node 24 choices for extension runtime vs tooling.
- Fill the Impact of Change with Users / Developers / System bullets.
- Provide a Test Plan: attach or link to successful CI runs on Node 24, or list exact manual commands run and their outputs if CI is not yet available. Ensure unit and E2E tests are executed where applicable.
- Add the PR label
risk:high(or another matching label if you change the risk selection).
Once you update the PR body and add the label and either: (a) provide CI run results showing builds/tests passed on Node 24, or (b) provide a clear manual test log and follow-up rollout plan, this check should pass.
Thank you — this is a necessary maintenance change; documenting the testing and impact will make it much easier for reviewers to approve safely.
Last updated: Thu, 07 May 2026 04:12:03 GMT
There was a problem hiding this comment.
Pull request overview
Updates the repo’s Node.js baseline to align CI/tooling with Node 24, while raising package engine requirements and refreshing related dependencies and VS Code extension runtime settings.
Changes:
- Updated GitHub Actions and Azure Pipelines to use Node 24 (and shifted test matrices to include 24).
- Bumped
@types/nodeto v24 and raisedengines.nodeacross the monorepo (root and libraries) to>=20. - Updated VS Code designer extension constants to reflect newer Node/runtime dependency versions.
Reviewed changes
Copilot reviewed 25 out of 26 changed files in this pull request and generated 9 comments.
Show a summary per file
| File | Description |
|---|---|
| pnpm-lock.yaml | Lockfile refresh reflecting @types/node@24 and updated dependency resolution metadata. |
| package.json | Bumps @types/node to ^24 and raises root engines.node to >=20. |
| libs/vscode-extension/package.json | Raises library engines.node to >=20. |
| libs/logic-apps-shared/package.json | Raises library engines.node to >=20. |
| libs/designer/package.json | Raises library engines.node to >=20. |
| libs/designer-v2/package.json | Raises library engines.node to >=20. |
| libs/designer-ui/package.json | Raises library engines.node to >=20. |
| libs/data-mapper/package.json | Raises library engines.node to >=20. |
| libs/data-mapper-v2/package.json | Raises library engines.node to >=20. |
| libs/chatbot/package.json | Raises library engines.node to >=20. |
| apps/vs-code-designer/src/constants.ts | Updates Azure workflow runtime string and fallback Node dependency version used by the extension. |
| apps/docs/package.json | Raises docs app engines.node to >=20. |
| .github/workflows/vscode-e2e.yml | Updates workflow Node version to 24.x. |
| .github/workflows/version-release.yml | Updates workflow Node version to 24. |
| .github/workflows/upload-templates.yml | Updates workflow Node version to 24.x. |
| .github/workflows/update-changelog.yml | Updates workflow Node version to 24. |
| .github/workflows/test.yml | Updates CI Node matrix to [20.x, 22.x, 24.x]. |
| .github/workflows/real-e2e.yml | Updates workflow Node version to 24. |
| .github/workflows/production-build.yml | Updates workflow Node version references to 24. |
| .github/workflows/private-vsix-build.yml | Updates CI Node matrix and build Node version references to include/use 24. |
| .github/workflows/pr-coverage.yml | Updates workflow Node version to 24.x. |
| .github/workflows/playwright.yml | Updates workflow Node version to 24.x. |
| .github/workflows/Deploy-Standalone.yml | Updates workflow Node version to 24.x. |
| .github/workflows/Deploy-Documentation.yml | Updates workflow Node version to 24.x. |
| .github/workflows/compile-loc.yml | Updates workflow Node version to 24.x. |
| .azure-pipelines/templates/setup.yml | Updates Azure Pipelines NodeTool versionSpec to 24.x. |
Files not reviewed (1)
- pnpm-lock.yaml: Language not supported
|
|
||
| - name: Set up Node.js version 20.x | ||
| - name: Set up Node.js version 24.x | ||
| uses: actions/setup-node@v1 |
|
|
||
| - name: Set up Node.js version 20.x | ||
| - name: Set up Node.js version 24.x | ||
| uses: actions/setup-node@v1 |
| @@ -18,7 +18,7 @@ jobs: | |||
| - name: Set up Node.js | |||
| uses: actions/setup-node@v1 | |||
| strategy: | ||
| matrix: | ||
| node-version: [18.x, 20.x, 22.x] | ||
| node-version: [20.x, 22.x, 24.x] | ||
|
|
| - name: Set up Node.js version 24 | ||
| uses: actions/setup-node@v1 | ||
| with: | ||
| node-version: 20 | ||
| node-version: 24 |
| @@ -54,7 +54,7 @@ jobs: | |||
| - name: Set up Node.js | |||
| uses: actions/setup-node@v1 | |||
|
|
||
| - name: Set up Node.js version 20 | ||
| - name: Set up Node.js version 24 | ||
| uses: actions/setup-node@v1 |
| @@ -148,7 +148,7 @@ jobs: | |||
| - name: Set up Node.js | |||
| uses: actions/setup-node@v1 | |||
| strategy: | ||
| matrix: | ||
| node-version: [18.x, 20.x, 22.x] | ||
| node-version: [20.x, 22.x, 24.x] | ||
|
|
|
📊 Coverage check completed. See workflow run for details. |
Address PR review comments: actions/setup-node@v1 is deprecated and may cause workflow failures. Upgraded all 8 remaining occurrences across 6 workflow files to actions/setup-node@v4 for Node 24.x support. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Commit Type
Risk Level
What & Why
Impact of Change
Test Plan
Contributors
Screenshots/Videos