From fd419cead587e391d5dea82968790eadc9e6d142 Mon Sep 17 00:00:00 2001 From: Microsoft Graph DevX Tooling Date: Mon, 31 Aug 2026 14:45:54 -0700 Subject: [PATCH 1/4] Upgrade Node installer pipeline task Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: ca451ec9-9bde-464d-9df8-5c1e8088ab7d --- .azure-pipelines/common-templates/install-tools.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.azure-pipelines/common-templates/install-tools.yml b/.azure-pipelines/common-templates/install-tools.yml index c1f65040840..8b5e6a9a617 100644 --- a/.azure-pipelines/common-templates/install-tools.yml +++ b/.azure-pipelines/common-templates/install-tools.yml @@ -27,11 +27,11 @@ steps: script: | Write-Output $PSVersionTable - - task: NodeTool@0 + - task: UseNode@1 displayName: Install NodeJs retryCountOnTaskFailure: 2 inputs: - versionSpec: 18.x + version: 18.x - task: PowerShell@2 displayName: Configure private npm feed From 2072e0335947cf5d20225d51377c6370cf745bb7 Mon Sep 17 00:00:00 2001 From: Microsoft Graph DevX Tooling Date: Mon, 31 Aug 2026 14:49:46 -0700 Subject: [PATCH 2/4] Upgrade pipeline runtime to Node.js 22 Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: ca451ec9-9bde-464d-9df8-5c1e8088ab7d --- .azure-pipelines/common-templates/install-tools.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.azure-pipelines/common-templates/install-tools.yml b/.azure-pipelines/common-templates/install-tools.yml index 8b5e6a9a617..7f856692bf4 100644 --- a/.azure-pipelines/common-templates/install-tools.yml +++ b/.azure-pipelines/common-templates/install-tools.yml @@ -31,7 +31,7 @@ steps: displayName: Install NodeJs retryCountOnTaskFailure: 2 inputs: - version: 18.x + version: 22.x - task: PowerShell@2 displayName: Configure private npm feed From 748dc0a56af64748054e346dc27800b3352b4912 Mon Sep 17 00:00:00 2001 From: Microsoft Graph DevX Tooling Date: Tue, 1 Sep 2026 14:21:32 -0700 Subject: [PATCH 3/4] Restore Node.js 18 pipeline runtime Node.js 22 causes AutoRest module generation to exhaust open file handles on Windows. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: ca451ec9-9bde-464d-9df8-5c1e8088ab7d --- .azure-pipelines/common-templates/install-tools.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.azure-pipelines/common-templates/install-tools.yml b/.azure-pipelines/common-templates/install-tools.yml index 7f856692bf4..8b5e6a9a617 100644 --- a/.azure-pipelines/common-templates/install-tools.yml +++ b/.azure-pipelines/common-templates/install-tools.yml @@ -31,7 +31,7 @@ steps: displayName: Install NodeJs retryCountOnTaskFailure: 2 inputs: - version: 22.x + version: 18.x - task: PowerShell@2 displayName: Configure private npm feed From 3e4d8e0a5a82cde9c0c9f6048968eee2035f85b5 Mon Sep 17 00:00:00 2001 From: Microsoft Graph DevX Tooling Date: Tue, 1 Sep 2026 16:56:35 -0700 Subject: [PATCH 4/4] Reduce AutoRest generation concurrency Use Node.js 22 while limiting concurrent module generation to reduce Windows file handle pressure. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: ca451ec9-9bde-464d-9df8-5c1e8088ab7d --- .azure-pipelines/common-templates/install-tools.yml | 2 +- tools/GenerateModules.ps1 | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.azure-pipelines/common-templates/install-tools.yml b/.azure-pipelines/common-templates/install-tools.yml index 8b5e6a9a617..7f856692bf4 100644 --- a/.azure-pipelines/common-templates/install-tools.yml +++ b/.azure-pipelines/common-templates/install-tools.yml @@ -31,7 +31,7 @@ steps: displayName: Install NodeJs retryCountOnTaskFailure: 2 inputs: - version: 18.x + version: 22.x - task: PowerShell@2 displayName: Configure private npm feed diff --git a/tools/GenerateModules.ps1 b/tools/GenerateModules.ps1 index a9db04f30bb..d9cda1b1595 100644 --- a/tools/GenerateModules.ps1 +++ b/tools/GenerateModules.ps1 @@ -160,7 +160,7 @@ $AutoRestTempFolder | ForEach-Object { $Stopwatch = [system.diagnostics.stopwatch]::StartNew() $CpuCount = (Get-CimInstance Win32_Processor | Measure-Object -Property NumberOfLogicalProcessors -Sum).Sum -$Throttle = [int][math]::Max(1, [math]::Min(4, $CpuCount / 2)) # Use half the CPU count but max 4, min 1 +$Throttle = [int][math]::Max(1, [math]::Min(2, $CpuCount / 2)) # Use half the CPU count but max 2, min 1 $Results = $ModuleToGenerate | ForEach-Object -Parallel { $Module = $_ Write-Host -ForegroundColor Green "-------------'Generating $Module'-------------"