Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .azure/pipelines/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -708,9 +708,9 @@ extends:
binlogPath: artifacts/log/Release/Build.binlog
presteps:
- task: NodeTool@0
displayName: Install Node 20.x
displayName: Install Node 24.x
inputs:
versionSpec: 20.x
versionSpec: 24.x
Copy link

Copilot AI Apr 6, 2026

Choose a reason for hiding this comment

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

versionSpec: 24.x does not guarantee meeting the repo’s minimum Node engine (>=24.14.1). Pin NodeTool to 24.14.1 (or 24.14.x) to avoid intermittent failures when the latest 24.x is below the required patch level.

Copilot uses AI. Check for mistakes.
Copy link

Copilot AI Apr 6, 2026

Choose a reason for hiding this comment

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

This PR is described as updating Node “across build infrastructure”, but there are GitHub Actions workflows still pinned to Node 20.x (e.g., .github/workflows/validate-npm-package-lock-json.yml, .github/workflows/update-jquery-validate.yml). If those workflows should follow the repo-wide Node baseline, update them too or clarify that only Azure Pipelines is in scope.

Copilot uses AI. Check for mistakes.
pool:
name: $(DncEngInternalBuildPool)
demands: ImageOverride -equals windows.vs2026preview.scout.amd64
Expand Down
8 changes: 4 additions & 4 deletions .azure/pipelines/jobs/default-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -179,9 +179,9 @@ jobs:
displayName: Start background dump collection
- ${{ if eq(parameters.installNodeJs, 'true') }}:
- task: NodeTool@0
displayName: Install Node 20.x
displayName: Install Node 24.x
inputs:
versionSpec: 20.x
versionSpec: 24.x
Copy link

Copilot AI Apr 6, 2026

Choose a reason for hiding this comment

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

versionSpec: 24.x can resolve to a Node 24 release lower than the minimum required by package.json (>=24.14.1). To ensure builds always satisfy the declared engine requirement and are reproducible, pin the pipeline NodeTool versionSpec to at least 24.14.1 (e.g., 24.14.1 or 24.14.x).

Copilot uses AI. Check for mistakes.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

@copilot update as necessary

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Updated all NodeTool versionSpec to 24.14.x to ensure builds satisfy the minimum requirement (>=24.14.1). Also updated GitHub Actions workflows to use the same pinned version. Changes in commit a38f236.

Copy link
Copy Markdown
Member

@akoeplinger akoeplinger Apr 6, 2026

Choose a reason for hiding this comment

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

@copilot why would this resolve a lower version?

we recently bumped to 24.x in dotnet/dotnet@c2e6a4e and this installs 24.14.1

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

The concern was that 24.x could theoretically resolve to any 24.x version (e.g., 24.0.0, 24.1.0) when new agent images are released, potentially below the package.json requirement of >=24.14.1. However, if Azure Pipelines NodeTool@0 with 24.x is already reliably installing 24.14.1+ (as you've confirmed), then 24.x would be sufficient. The change to 24.14.x provides more explicit alignment with the minimum version and prevents any edge cases, but either approach should work in practice if the tool consistently resolves to recent patch versions.

- ${{ if and(eq(parameters.agentOs, 'Windows'), eq(parameters.isAzDOTestingJob, true)) }}:
- powershell: |
Write-Host "##vso[task.setvariable variable=SeleniumProcessTrackingFolder]$(Build.SourcesDirectory)\artifacts\tmp\selenium\"
Expand Down Expand Up @@ -413,9 +413,9 @@ jobs:
displayName: Start background dump collection
- ${{ if eq(parameters.installNodeJs, 'true') }}:
- task: NodeTool@0
displayName: Install Node 20.x
displayName: Install Node 24.x
inputs:
versionSpec: 20.x
versionSpec: 24.x
Copy link

Copilot AI Apr 6, 2026

Choose a reason for hiding this comment

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

versionSpec: 24.x can install a Node 24 version below the repo’s declared minimum (>=24.14.1 in package.json). Pin NodeTool to 24.14.1 (or 24.14.x) so the build reliably uses a compatible Node version.

Copilot uses AI. Check for mistakes.
- ${{ if eq(parameters.agentOs, 'Windows') }}:
- powershell: Write-Host "##vso[task.prependpath]$(DOTNET_CLI_HOME)\.dotnet\tools"
displayName: Add dotnet tools to path
Expand Down
1 change: 1 addition & 0 deletions .npmrc
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
registry=https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/
always-auth=true
min-release-age=3d
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,8 @@
}
},
"engines": {
"node": ">=20.9.0",
"npm": ">=9.3.1"
"node": ">=24.14.1",
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

@javiercn can you please check whether azurelinux has 24.14? otherwise this will break the VMR build as we use node from AZL packages there

Copy link
Copy Markdown
Member

@akoeplinger akoeplinger Apr 6, 2026

Choose a reason for hiding this comment

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

we checked and the AZL image has node 24.13.0 and npm 11.6.2 so this needs some updates

"npm": ">=11.11.0"
Comment on lines +39 to +40
Copy link

Copilot AI Apr 6, 2026

Choose a reason for hiding this comment

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

The PR description says the engines field “enforce[s]” node/npm versions, but npm won’t actually block installs based on engines unless engine-strict=true (or a CI check) is in place. If enforcement is intended, add an explicit validation step / config; otherwise consider rewording the description to “document/require”.

Copilot uses AI. Check for mistakes.
},
"devDependencies": {
"karma-sauce-launcher": "^4.3.6",
Expand Down
Loading