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