From d2f07ff77bec0d06882255967960e25381277aa6 Mon Sep 17 00:00:00 2001
From: ramsessanchez <63934382+ramsessanchez@users.noreply.github.com>
Date: Wed, 17 Jun 2026 16:36:35 -0700
Subject: [PATCH 1/3] Fix daily CI OOM: build TFMs sequentially and remove
unnecessary System.Net.Http ref
- Build each target framework sequentially in daily CI to avoid OOM kills,
matching the approach used in pipelines/ci-build.yml
- Revert agent pool back to windows-latest (sequential builds fit in memory)
- Build and test the test project explicitly by path
- Remove unnecessary System.Net.Http 4.3.4 PackageReference (NU1510 warning)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---
.azure-pipelines/daily-ci-build.yml | 24 ++++++++++++++++---
.../Microsoft.Graph.Beta.csproj | 5 +---
2 files changed, 22 insertions(+), 7 deletions(-)
diff --git a/.azure-pipelines/daily-ci-build.yml b/.azure-pipelines/daily-ci-build.yml
index 8873d7d8744..831fc468ced 100644
--- a/.azure-pipelines/daily-ci-build.yml
+++ b/.azure-pipelines/daily-ci-build.yml
@@ -74,10 +74,28 @@ extends:
displayName: Restore dependencies
workingDirectory: $(Build.SourcesDirectory)
- - script: dotnet build Microsoft.Graph.Beta.sln --no-restore
- displayName: Build SDK
+ # Build each TFM sequentially to avoid OOM kills on the build agent.
+ # Building all TFMs in parallel exhausts memory on standard runners.
+ - script: dotnet build src\Microsoft.Graph\Microsoft.Graph.Beta.csproj --no-restore -f netstandard2.0
+ displayName: Build SDK (netstandard2.0)
workingDirectory: $(Build.SourcesDirectory)
- - script: dotnet test Microsoft.Graph.Beta.sln --no-build
+ - script: dotnet build src\Microsoft.Graph\Microsoft.Graph.Beta.csproj --no-restore -f netstandard2.1
+ displayName: Build SDK (netstandard2.1)
+ workingDirectory: $(Build.SourcesDirectory)
+
+ - script: dotnet build src\Microsoft.Graph\Microsoft.Graph.Beta.csproj --no-restore -f net8.0
+ displayName: Build SDK (net8.0)
+ workingDirectory: $(Build.SourcesDirectory)
+
+ - script: dotnet build src\Microsoft.Graph\Microsoft.Graph.Beta.csproj --no-restore -f net10.0
+ displayName: Build SDK (net10.0)
+ workingDirectory: $(Build.SourcesDirectory)
+
+ - script: dotnet build tests\Microsoft.Graph.DotnetCore.Test\Microsoft.Graph.DotnetCore.Test.csproj --no-restore
+ displayName: Build test project
+ workingDirectory: $(Build.SourcesDirectory)
+
+ - script: dotnet test tests\Microsoft.Graph.DotnetCore.Test\Microsoft.Graph.DotnetCore.Test.csproj --no-build
displayName: Run unit tests
workingDirectory: $(Build.SourcesDirectory)
diff --git a/src/Microsoft.Graph/Microsoft.Graph.Beta.csproj b/src/Microsoft.Graph/Microsoft.Graph.Beta.csproj
index ab0e08c9019..ec05e554158 100644
--- a/src/Microsoft.Graph/Microsoft.Graph.Beta.csproj
+++ b/src/Microsoft.Graph/Microsoft.Graph.Beta.csproj
@@ -85,10 +85,7 @@
-
-
-
-
+
From f516ddec73450e2b14c50a1318ecadab3c0f173a Mon Sep 17 00:00:00 2001
From: ramsessanchez <63934382+ramsessanchez@users.noreply.github.com>
Date: Thu, 18 Jun 2026 11:23:16 -0700
Subject: [PATCH 2/3] Switch daily CI to windows-2022-large agent
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Sequential TFM builds alone are insufficient — even a single TFM compilation
exhausts memory on the standard windows-latest agent (95%+ usage, canceled
after 30 min). The larger agent provides enough RAM for this SDK.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---
.azure-pipelines/daily-ci-build.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.azure-pipelines/daily-ci-build.yml b/.azure-pipelines/daily-ci-build.yml
index 831fc468ced..84ba50b0737 100644
--- a/.azure-pipelines/daily-ci-build.yml
+++ b/.azure-pipelines/daily-ci-build.yml
@@ -21,7 +21,7 @@ extends:
parameters:
pool:
name: Azure-Pipelines-1ESPT-ExDShared
- image: windows-latest
+ image: windows-2022-large
os: windows
sdl:
sourceAnalysisPool:
From 39bc9a2837f27c592b3e5161a9781bb060bf8875 Mon Sep 17 00:00:00 2001
From: ramsessanchez <63934382+ramsessanchez@users.noreply.github.com>
Date: Thu, 18 Jun 2026 12:05:11 -0700
Subject: [PATCH 3/3] Switch daily CI to 1es-windows-ps-compute-m pool
Use the same compute pool as pipelines/ci-build.yml, which has sufficient
memory for compiling this large SDK.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---
.azure-pipelines/daily-ci-build.yml | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/.azure-pipelines/daily-ci-build.yml b/.azure-pipelines/daily-ci-build.yml
index 84ba50b0737..4e453d0bea2 100644
--- a/.azure-pipelines/daily-ci-build.yml
+++ b/.azure-pipelines/daily-ci-build.yml
@@ -19,10 +19,7 @@ resources:
extends:
template: v1/1ES.Unofficial.PipelineTemplate.yml@1ESPipelineTemplates
parameters:
- pool:
- name: Azure-Pipelines-1ESPT-ExDShared
- image: windows-2022-large
- os: windows
+ pool: 1es-windows-ps-compute-m
sdl:
sourceAnalysisPool:
name: Azure-Pipelines-1ESPT-ExDShared