From d888895bbe091a7b22c2843e754f56e41558de75 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Sat, 22 Nov 2025 02:01:07 +0000 Subject: [PATCH 01/13] Update dependencies from https://github.com/dotnet/arcade build 20251121.7 On relative base path root Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Helix.Sdk From Version 11.0.0-beta.25570.6 -> To Version 11.0.0-beta.25571.7 --- eng/Version.Details.props | 4 +-- eng/Version.Details.xml | 8 ++--- .../steps/install-microbuild.yml | 29 ++++--------------- global.json | 4 +-- 4 files changed, 13 insertions(+), 32 deletions(-) diff --git a/eng/Version.Details.props b/eng/Version.Details.props index ee809eafc76..f1d8c155b4a 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -16,8 +16,8 @@ This file should be imported by eng/Versions.props 10.0.100-preview.4.25220.1 - 11.0.0-beta.25570.6 - 11.0.0-beta.25570.6 + 11.0.0-beta.25571.7 + 11.0.0-beta.25571.7 1.1.0-beta.25564.1 1.1.0-beta.25564.1 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 23647bfb2a3..22ccceb6762 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -27,13 +27,13 @@ https://github.com/dotnet/templating 43b5827697e501c442eb75ffff832cd4df2514fe - + https://github.com/dotnet/arcade - c1926cf647dd684194c2914f47f61ff534f030ac + 23d431613e20b20517334c1acbc7a04a6edb6ad9 - + https://github.com/dotnet/arcade - c1926cf647dd684194c2914f47f61ff534f030ac + 23d431613e20b20517334c1acbc7a04a6edb6ad9 https://github.com/dotnet/arcade-services diff --git a/eng/common/core-templates/steps/install-microbuild.yml b/eng/common/core-templates/steps/install-microbuild.yml index 4f4b56ed2a6..bdebec0eaa9 100644 --- a/eng/common/core-templates/steps/install-microbuild.yml +++ b/eng/common/core-templates/steps/install-microbuild.yml @@ -13,8 +13,9 @@ parameters: # Unfortunately, _SignType can't be used to exclude the use of the service connection in non-real sign scenarios. The # variable is not available in template expression. _SignType has a very large proliferation across .NET, so replacing it is tough. microbuildUseESRP: true - # Microbuild installation directory - microBuildOutputFolder: $(Agent.TempDirectory)/MicroBuild + # Location of the MicroBuild output folder + # NOTE: There's something that relies on this being in the "default" source directory for tasks such as Signing to work properly. + microBuildOutputFolder: '$(Build.SourcesDirectory)' # Microbuild version microbuildPluginVersion: 'latest' @@ -29,27 +30,8 @@ steps: inputs: packageType: sdk version: 8.0.x - installationPath: ${{ parameters.microBuildOutputFolder }}/.dotnet-microbuild - condition: and(succeeded(), ne(variables['Agent.Os'], 'Windows_NT')) - - - script: | - set -euo pipefail - - # UseDotNet@2 prepends the dotnet executable path to the PATH variable, so we can call dotnet directly - version=$(dotnet --version) - cat << 'EOF' > ${{ parameters.microBuildOutputFolder }}/global.json - { - "sdk": { - "version": "$version", - "paths": [ - "${{ parameters.microBuildOutputFolder }}/.dotnet-microbuild" - ], - "errorMessage": "The .NET SDK version $version is required to install the MicroBuild signing plugin." - } - } - EOF - displayName: 'Add global.json to MicroBuild Installation path' - workingDirectory: ${{ parameters.microBuildOutputFolder }} + installationPath: ${{ parameters.microBuildOutputFolder }}/.dotnet + workingDirectory: ${{ parameters.microBuildOutputFolder }} condition: and(succeeded(), ne(variables['Agent.Os'], 'Windows_NT')) - script: | @@ -103,7 +85,6 @@ steps: zipSources: false feedSource: https://dnceng.pkgs.visualstudio.com/_packaging/MicroBuildToolset/nuget/v3/index.json version: ${{ parameters.microbuildPluginVersion }} - workingDirectory: ${{ parameters.microBuildOutputFolder }} ${{ if eq(parameters.microbuildUseESRP, true) }}: ConnectedServiceName: 'MicroBuild Signing Task (DevDiv)' ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: diff --git a/global.json b/global.json index a4fdcecfeb7..252660c1eed 100644 --- a/global.json +++ b/global.json @@ -12,8 +12,8 @@ "dotnet": "10.0.100-rc.2.25502.107" }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.25570.6", - "Microsoft.DotNet.Helix.Sdk": "11.0.0-beta.25570.6", + "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.25571.7", + "Microsoft.DotNet.Helix.Sdk": "11.0.0-beta.25571.7", "Microsoft.Build.NoTargets": "3.7.0" } } From cf0e9acb864dabdc282d8ad81a30a4b6809ae7dd Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Sun, 23 Nov 2025 02:01:29 +0000 Subject: [PATCH 02/13] Update dependencies from https://github.com/dotnet/arcade build 20251121.8 On relative base path root Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Helix.Sdk From Version 11.0.0-beta.25570.6 -> To Version 11.0.0-beta.25571.8 --- eng/Version.Details.props | 4 +-- eng/Version.Details.xml | 8 ++--- .../steps/install-microbuild.yml | 29 +++++++++++++++---- global.json | 4 +-- 4 files changed, 32 insertions(+), 13 deletions(-) diff --git a/eng/Version.Details.props b/eng/Version.Details.props index f1d8c155b4a..292de3b80e6 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -16,8 +16,8 @@ This file should be imported by eng/Versions.props 10.0.100-preview.4.25220.1 - 11.0.0-beta.25571.7 - 11.0.0-beta.25571.7 + 11.0.0-beta.25571.8 + 11.0.0-beta.25571.8 1.1.0-beta.25564.1 1.1.0-beta.25564.1 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 22ccceb6762..c8276f91f04 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -27,13 +27,13 @@ https://github.com/dotnet/templating 43b5827697e501c442eb75ffff832cd4df2514fe - + https://github.com/dotnet/arcade - 23d431613e20b20517334c1acbc7a04a6edb6ad9 + a8b9e73f56e84dcb4c7ed0f23f79b308b4f83a01 - + https://github.com/dotnet/arcade - 23d431613e20b20517334c1acbc7a04a6edb6ad9 + a8b9e73f56e84dcb4c7ed0f23f79b308b4f83a01 https://github.com/dotnet/arcade-services diff --git a/eng/common/core-templates/steps/install-microbuild.yml b/eng/common/core-templates/steps/install-microbuild.yml index bdebec0eaa9..4f4b56ed2a6 100644 --- a/eng/common/core-templates/steps/install-microbuild.yml +++ b/eng/common/core-templates/steps/install-microbuild.yml @@ -13,9 +13,8 @@ parameters: # Unfortunately, _SignType can't be used to exclude the use of the service connection in non-real sign scenarios. The # variable is not available in template expression. _SignType has a very large proliferation across .NET, so replacing it is tough. microbuildUseESRP: true - # Location of the MicroBuild output folder - # NOTE: There's something that relies on this being in the "default" source directory for tasks such as Signing to work properly. - microBuildOutputFolder: '$(Build.SourcesDirectory)' + # Microbuild installation directory + microBuildOutputFolder: $(Agent.TempDirectory)/MicroBuild # Microbuild version microbuildPluginVersion: 'latest' @@ -30,8 +29,27 @@ steps: inputs: packageType: sdk version: 8.0.x - installationPath: ${{ parameters.microBuildOutputFolder }}/.dotnet - workingDirectory: ${{ parameters.microBuildOutputFolder }} + installationPath: ${{ parameters.microBuildOutputFolder }}/.dotnet-microbuild + condition: and(succeeded(), ne(variables['Agent.Os'], 'Windows_NT')) + + - script: | + set -euo pipefail + + # UseDotNet@2 prepends the dotnet executable path to the PATH variable, so we can call dotnet directly + version=$(dotnet --version) + cat << 'EOF' > ${{ parameters.microBuildOutputFolder }}/global.json + { + "sdk": { + "version": "$version", + "paths": [ + "${{ parameters.microBuildOutputFolder }}/.dotnet-microbuild" + ], + "errorMessage": "The .NET SDK version $version is required to install the MicroBuild signing plugin." + } + } + EOF + displayName: 'Add global.json to MicroBuild Installation path' + workingDirectory: ${{ parameters.microBuildOutputFolder }} condition: and(succeeded(), ne(variables['Agent.Os'], 'Windows_NT')) - script: | @@ -85,6 +103,7 @@ steps: zipSources: false feedSource: https://dnceng.pkgs.visualstudio.com/_packaging/MicroBuildToolset/nuget/v3/index.json version: ${{ parameters.microbuildPluginVersion }} + workingDirectory: ${{ parameters.microBuildOutputFolder }} ${{ if eq(parameters.microbuildUseESRP, true) }}: ConnectedServiceName: 'MicroBuild Signing Task (DevDiv)' ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: diff --git a/global.json b/global.json index 252660c1eed..21ff6760481 100644 --- a/global.json +++ b/global.json @@ -12,8 +12,8 @@ "dotnet": "10.0.100-rc.2.25502.107" }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.25571.7", - "Microsoft.DotNet.Helix.Sdk": "11.0.0-beta.25571.7", + "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.25571.8", + "Microsoft.DotNet.Helix.Sdk": "11.0.0-beta.25571.8", "Microsoft.Build.NoTargets": "3.7.0" } } From 5acd4d697907a5930168442f2b1447240400395e Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Mon, 24 Nov 2025 05:01:28 +0000 Subject: [PATCH 03/13] Update dependencies from https://github.com/dotnet/arcade-services build 20251120.3 On relative base path root Microsoft.DotNet.DarcLib , Microsoft.DotNet.ProductConstructionService.Client From Version 1.1.0-beta.25564.1 -> To Version 1.1.0-beta.25570.3 --- eng/Version.Details.props | 4 ++-- eng/Version.Details.xml | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 292de3b80e6..d0805d57bb9 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -19,8 +19,8 @@ This file should be imported by eng/Versions.props 11.0.0-beta.25571.8 11.0.0-beta.25571.8 - 1.1.0-beta.25564.1 - 1.1.0-beta.25564.1 + 1.1.0-beta.25570.3 + 1.1.0-beta.25570.3 10.0.0-prerelease.25527.1 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index c8276f91f04..51f7ce3625c 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -35,13 +35,13 @@ https://github.com/dotnet/arcade a8b9e73f56e84dcb4c7ed0f23f79b308b4f83a01 - + https://github.com/dotnet/arcade-services - 526aa00e2a2533e0263e50f299d5525572c48c18 + 81f70872798c0d3bca2ca40ebca046e425438ef8 - + https://github.com/dotnet/arcade-services - 526aa00e2a2533e0263e50f299d5525572c48c18 + 81f70872798c0d3bca2ca40ebca046e425438ef8 https://github.com/dotnet/xharness From 03f7d029c074bc520453d2d758a9f6998b73f532 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Mon, 24 Nov 2025 05:08:38 +0000 Subject: [PATCH 04/13] Update dependencies from https://github.com/dotnet/dnceng build 20251121.1 On relative base path root Microsoft.DncEng.SecretManager From Version 1.1.0-beta.25564.1 -> To Version 1.1.0-beta.25571.1 --- .config/dotnet-tools.json | 2 +- eng/Version.Details.props | 2 +- eng/Version.Details.xml | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json index 170a9e38179..bdd965c52ad 100644 --- a/.config/dotnet-tools.json +++ b/.config/dotnet-tools.json @@ -3,7 +3,7 @@ "isRoot": true, "tools": { "microsoft.dnceng.secretmanager": { - "version": "1.1.0-beta.25564.1", + "version": "1.1.0-beta.25571.1", "commands": [ "secret-manager" ] diff --git a/eng/Version.Details.props b/eng/Version.Details.props index d0805d57bb9..a5f975de5de 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -54,7 +54,7 @@ This file should be imported by eng/Versions.props 2.0.0-beta5.25210.1 - 1.1.0-beta.25564.1 + 1.1.0-beta.25571.1 17.12.50 17.12.50 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 51f7ce3625c..4bff42b01a3 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -158,9 +158,9 @@ https://github.com/dotnet/runtime d3981726bc8b0e179db50301daf9f22d42393096 - + https://github.com/dotnet/dnceng - 79d5ba9594a98c05483843e8bc018e312bc5817b + 5e1d7810d4ce512c7e8b460b228fa3f9a77aa849 From 05b0124d683448a68b78e1a5f6715a2d1388ecb0 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Tue, 25 Nov 2025 02:01:45 +0000 Subject: [PATCH 05/13] Update dependencies from https://github.com/dotnet/arcade build 20251124.6 On relative base path root Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Helix.Sdk From Version 11.0.0-beta.25570.6 -> To Version 11.0.0-beta.25574.6 --- eng/Version.Details.props | 4 ++-- eng/Version.Details.xml | 8 ++++---- eng/common/sdk-task.ps1 | 2 +- eng/common/tools.ps1 | 4 ++-- global.json | 4 ++-- 5 files changed, 11 insertions(+), 11 deletions(-) diff --git a/eng/Version.Details.props b/eng/Version.Details.props index a5f975de5de..ab497195e5d 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -16,8 +16,8 @@ This file should be imported by eng/Versions.props 10.0.100-preview.4.25220.1 - 11.0.0-beta.25571.8 - 11.0.0-beta.25571.8 + 11.0.0-beta.25574.6 + 11.0.0-beta.25574.6 1.1.0-beta.25570.3 1.1.0-beta.25570.3 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 4bff42b01a3..c42919c5d22 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -27,13 +27,13 @@ https://github.com/dotnet/templating 43b5827697e501c442eb75ffff832cd4df2514fe - + https://github.com/dotnet/arcade - a8b9e73f56e84dcb4c7ed0f23f79b308b4f83a01 + 9a99542f9b72dbcd0e07baec5166909ab756788a - + https://github.com/dotnet/arcade - a8b9e73f56e84dcb4c7ed0f23f79b308b4f83a01 + 9a99542f9b72dbcd0e07baec5166909ab756788a https://github.com/dotnet/arcade-services diff --git a/eng/common/sdk-task.ps1 b/eng/common/sdk-task.ps1 index 9ae443f1c36..b64b66a6275 100644 --- a/eng/common/sdk-task.ps1 +++ b/eng/common/sdk-task.ps1 @@ -70,7 +70,7 @@ try { $GlobalJson.tools | Add-Member -Name "vs" -Value (ConvertFrom-Json "{ `"version`": `"16.5`" }") -MemberType NoteProperty } if( -not ($GlobalJson.tools.PSObject.Properties.Name -match "xcopy-msbuild" )) { - $GlobalJson.tools | Add-Member -Name "xcopy-msbuild" -Value "17.14.16" -MemberType NoteProperty + $GlobalJson.tools | Add-Member -Name "xcopy-msbuild" -Value "18.0.0" -MemberType NoteProperty } if ($GlobalJson.tools."xcopy-msbuild".Trim() -ine "none") { $xcopyMSBuildToolsFolder = InitializeXCopyMSBuild $GlobalJson.tools."xcopy-msbuild" -install $true diff --git a/eng/common/tools.ps1 b/eng/common/tools.ps1 index 4bc50bd568c..578705ee4db 100644 --- a/eng/common/tools.ps1 +++ b/eng/common/tools.ps1 @@ -394,8 +394,8 @@ function InitializeVisualStudioMSBuild([bool]$install, [object]$vsRequirements = # If the version of msbuild is going to be xcopied, # use this version. Version matches a package here: - # https://dev.azure.com/dnceng/public/_artifacts/feed/dotnet-eng/NuGet/Microsoft.DotNet.Arcade.MSBuild.Xcopy/versions/17.14.16 - $defaultXCopyMSBuildVersion = '17.14.16' + # https://dev.azure.com/dnceng/public/_artifacts/feed/dotnet-eng/NuGet/Microsoft.DotNet.Arcade.MSBuild.Xcopy/versions/18.0.0 + $defaultXCopyMSBuildVersion = '18.0.0' if (!$vsRequirements) { if (Get-Member -InputObject $GlobalJson.tools -Name 'vs') { diff --git a/global.json b/global.json index 21ff6760481..a7251ce8a7b 100644 --- a/global.json +++ b/global.json @@ -12,8 +12,8 @@ "dotnet": "10.0.100-rc.2.25502.107" }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.25571.8", - "Microsoft.DotNet.Helix.Sdk": "11.0.0-beta.25571.8", + "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.25574.6", + "Microsoft.DotNet.Helix.Sdk": "11.0.0-beta.25574.6", "Microsoft.Build.NoTargets": "3.7.0" } } From e64a13c20801085d9349088ab40d4dc77aab0a6d Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Wed, 26 Nov 2025 02:01:59 +0000 Subject: [PATCH 06/13] Update dependencies from https://github.com/dotnet/arcade build 20251125.1 On relative base path root Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Helix.Sdk From Version 11.0.0-beta.25570.6 -> To Version 11.0.0-beta.25575.1 --- eng/Version.Details.props | 4 ++-- eng/Version.Details.xml | 8 ++++---- eng/common/core-templates/job/source-index-stage1.yml | 4 ++-- eng/common/core-templates/post-build/post-build.yml | 8 ++++---- global.json | 4 ++-- 5 files changed, 14 insertions(+), 14 deletions(-) diff --git a/eng/Version.Details.props b/eng/Version.Details.props index ab497195e5d..1d7d32c25c4 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -16,8 +16,8 @@ This file should be imported by eng/Versions.props 10.0.100-preview.4.25220.1 - 11.0.0-beta.25574.6 - 11.0.0-beta.25574.6 + 11.0.0-beta.25575.1 + 11.0.0-beta.25575.1 1.1.0-beta.25570.3 1.1.0-beta.25570.3 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index c42919c5d22..8435ccfe01f 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -27,13 +27,13 @@ https://github.com/dotnet/templating 43b5827697e501c442eb75ffff832cd4df2514fe - + https://github.com/dotnet/arcade - 9a99542f9b72dbcd0e07baec5166909ab756788a + e29f11a331730bd4f51024ba83fa067d2ab80ca9 - + https://github.com/dotnet/arcade - 9a99542f9b72dbcd0e07baec5166909ab756788a + e29f11a331730bd4f51024ba83fa067d2ab80ca9 https://github.com/dotnet/arcade-services diff --git a/eng/common/core-templates/job/source-index-stage1.yml b/eng/common/core-templates/job/source-index-stage1.yml index 30530359a5d..58b7a76814e 100644 --- a/eng/common/core-templates/job/source-index-stage1.yml +++ b/eng/common/core-templates/job/source-index-stage1.yml @@ -25,10 +25,10 @@ jobs: pool: ${{ if eq(variables['System.TeamProject'], 'public') }}: name: $(DncEngPublicBuildPool) - image: windows.vs2022.amd64.open + image: windows.vs2026preview.scout.amd64.open ${{ if eq(variables['System.TeamProject'], 'internal') }}: name: $(DncEngInternalBuildPool) - image: windows.vs2022.amd64 + image: windows.vs2026preview.scout.amd64 steps: - ${{ if eq(parameters.is1ESPipeline, '') }}: diff --git a/eng/common/core-templates/post-build/post-build.yml b/eng/common/core-templates/post-build/post-build.yml index 6f0929c039b..06864cd1feb 100644 --- a/eng/common/core-templates/post-build/post-build.yml +++ b/eng/common/core-templates/post-build/post-build.yml @@ -127,11 +127,11 @@ stages: ${{ else }}: ${{ if eq(parameters.is1ESPipeline, true) }}: name: $(DncEngInternalBuildPool) - image: windows.vs2022.amd64 + image: windows.vs2026preview.scout.amd64 os: windows ${{ else }}: name: $(DncEngInternalBuildPool) - demands: ImageOverride -equals windows.vs2022.amd64 + demands: ImageOverride -equals windows.vs2026preview.scout.amd64 steps: - template: /eng/common/core-templates/post-build/setup-maestro-vars.yml @@ -175,7 +175,7 @@ stages: os: windows ${{ else }}: name: $(DncEngInternalBuildPool) - demands: ImageOverride -equals windows.vs2022.amd64 + demands: ImageOverride -equals windows.vs2026preview.scout.amd64 steps: - template: /eng/common/core-templates/post-build/setup-maestro-vars.yml parameters: @@ -236,7 +236,7 @@ stages: os: windows ${{ else }}: name: $(DncEngInternalBuildPool) - demands: ImageOverride -equals windows.vs2022.amd64 + demands: ImageOverride -equals windows.vs2026preview.scout.amd64 steps: - template: /eng/common/core-templates/post-build/setup-maestro-vars.yml parameters: diff --git a/global.json b/global.json index a7251ce8a7b..2edf2149901 100644 --- a/global.json +++ b/global.json @@ -12,8 +12,8 @@ "dotnet": "10.0.100-rc.2.25502.107" }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.25574.6", - "Microsoft.DotNet.Helix.Sdk": "11.0.0-beta.25574.6", + "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.25575.1", + "Microsoft.DotNet.Helix.Sdk": "11.0.0-beta.25575.1", "Microsoft.Build.NoTargets": "3.7.0" } } From da27262c85b182d7f0c8a404052bf611082b7c62 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Sat, 29 Nov 2025 02:01:16 +0000 Subject: [PATCH 07/13] Update dependencies from https://github.com/dotnet/arcade build 20251128.1 On relative base path root Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Helix.Sdk From Version 11.0.0-beta.25570.6 -> To Version 11.0.0-beta.25578.1 --- eng/Version.Details.props | 4 ++-- eng/Version.Details.xml | 8 ++++---- global.json | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 1d7d32c25c4..0cd8e31f3da 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -16,8 +16,8 @@ This file should be imported by eng/Versions.props 10.0.100-preview.4.25220.1 - 11.0.0-beta.25575.1 - 11.0.0-beta.25575.1 + 11.0.0-beta.25578.1 + 11.0.0-beta.25578.1 1.1.0-beta.25570.3 1.1.0-beta.25570.3 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 8435ccfe01f..cf09ac42815 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -27,13 +27,13 @@ https://github.com/dotnet/templating 43b5827697e501c442eb75ffff832cd4df2514fe - + https://github.com/dotnet/arcade - e29f11a331730bd4f51024ba83fa067d2ab80ca9 + 846929727a388f2b1fd3ccf21f67694f44b91b4d - + https://github.com/dotnet/arcade - e29f11a331730bd4f51024ba83fa067d2ab80ca9 + 846929727a388f2b1fd3ccf21f67694f44b91b4d https://github.com/dotnet/arcade-services diff --git a/global.json b/global.json index 2edf2149901..e709bb83e41 100644 --- a/global.json +++ b/global.json @@ -12,8 +12,8 @@ "dotnet": "10.0.100-rc.2.25502.107" }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.25575.1", - "Microsoft.DotNet.Helix.Sdk": "11.0.0-beta.25575.1", + "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.25578.1", + "Microsoft.DotNet.Helix.Sdk": "11.0.0-beta.25578.1", "Microsoft.Build.NoTargets": "3.7.0" } } From 90ebbadff292ccc613ced1d29e2879175d213dab Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Mon, 1 Dec 2025 05:01:15 +0000 Subject: [PATCH 08/13] Update dependencies from https://github.com/dotnet/arcade-services build 20251128.3 On relative base path root Microsoft.DotNet.DarcLib , Microsoft.DotNet.ProductConstructionService.Client From Version 1.1.0-beta.25564.1 -> To Version 1.1.0-beta.25578.3 --- eng/Version.Details.props | 4 ++-- eng/Version.Details.xml | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 0cd8e31f3da..206a4edd8c3 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -19,8 +19,8 @@ This file should be imported by eng/Versions.props 11.0.0-beta.25578.1 11.0.0-beta.25578.1 - 1.1.0-beta.25570.3 - 1.1.0-beta.25570.3 + 1.1.0-beta.25578.3 + 1.1.0-beta.25578.3 10.0.0-prerelease.25527.1 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index cf09ac42815..0b039530959 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -35,13 +35,13 @@ https://github.com/dotnet/arcade 846929727a388f2b1fd3ccf21f67694f44b91b4d - + https://github.com/dotnet/arcade-services - 81f70872798c0d3bca2ca40ebca046e425438ef8 + ce1f7d1f76626ee33ee5c2131440226d35d8e2e4 - + https://github.com/dotnet/arcade-services - 81f70872798c0d3bca2ca40ebca046e425438ef8 + ce1f7d1f76626ee33ee5c2131440226d35d8e2e4 https://github.com/dotnet/xharness From 1f4f48e3895bddc7145f45e82e247476befe9b46 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Mon, 1 Dec 2025 05:08:50 +0000 Subject: [PATCH 09/13] Update dependencies from https://github.com/dotnet/dnceng build 20251126.1 On relative base path root Microsoft.DncEng.SecretManager From Version 1.1.0-beta.25564.1 -> To Version 1.1.0-beta.25576.1 --- .config/dotnet-tools.json | 2 +- eng/Version.Details.props | 2 +- eng/Version.Details.xml | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json index bdd965c52ad..c58eb385c8e 100644 --- a/.config/dotnet-tools.json +++ b/.config/dotnet-tools.json @@ -3,7 +3,7 @@ "isRoot": true, "tools": { "microsoft.dnceng.secretmanager": { - "version": "1.1.0-beta.25571.1", + "version": "1.1.0-beta.25576.1", "commands": [ "secret-manager" ] diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 206a4edd8c3..4e8a39dfe5d 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -54,7 +54,7 @@ This file should be imported by eng/Versions.props 2.0.0-beta5.25210.1 - 1.1.0-beta.25571.1 + 1.1.0-beta.25576.1 17.12.50 17.12.50 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 0b039530959..159469e112e 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -158,9 +158,9 @@ https://github.com/dotnet/runtime d3981726bc8b0e179db50301daf9f22d42393096 - + https://github.com/dotnet/dnceng - 5e1d7810d4ce512c7e8b460b228fa3f9a77aa849 + 6b49135c494c814a01232e423244f14241cf09b4 From a4bdecd7008f44a82d649b05a53bbb31218ff799 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Tue, 2 Dec 2025 02:01:21 +0000 Subject: [PATCH 10/13] Update dependencies from https://github.com/dotnet/arcade build 20251201.2 On relative base path root Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Helix.Sdk From Version 11.0.0-beta.25570.6 -> To Version 11.0.0-beta.25601.2 --- eng/Version.Details.props | 4 ++-- eng/Version.Details.xml | 4 ++-- global.json | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 4e8a39dfe5d..8cc5a563d6a 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -16,8 +16,8 @@ This file should be imported by eng/Versions.props 10.0.100-preview.4.25220.1 - 11.0.0-beta.25578.1 - 11.0.0-beta.25578.1 + 11.0.0-beta.25601.2 + 11.0.0-beta.25601.2 1.1.0-beta.25578.3 1.1.0-beta.25578.3 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 159469e112e..7be9a21a01d 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -27,11 +27,11 @@ https://github.com/dotnet/templating 43b5827697e501c442eb75ffff832cd4df2514fe - + https://github.com/dotnet/arcade 846929727a388f2b1fd3ccf21f67694f44b91b4d - + https://github.com/dotnet/arcade 846929727a388f2b1fd3ccf21f67694f44b91b4d diff --git a/global.json b/global.json index e709bb83e41..18cb541733e 100644 --- a/global.json +++ b/global.json @@ -12,8 +12,8 @@ "dotnet": "10.0.100-rc.2.25502.107" }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.25578.1", - "Microsoft.DotNet.Helix.Sdk": "11.0.0-beta.25578.1", + "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.25601.2", + "Microsoft.DotNet.Helix.Sdk": "11.0.0-beta.25601.2", "Microsoft.Build.NoTargets": "3.7.0" } } From 396731fbdc24fb7d4b6094d99a4c656518a92749 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Thu, 4 Dec 2025 02:01:43 +0000 Subject: [PATCH 11/13] Update dependencies from https://github.com/dotnet/arcade build 20251203.2 On relative base path root Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Helix.Sdk From Version 11.0.0-beta.25570.6 -> To Version 11.0.0-beta.25603.2 --- eng/Version.Details.props | 4 ++-- eng/Version.Details.xml | 8 ++++---- eng/common/core-templates/job/job.yml | 2 ++ global.json | 4 ++-- 4 files changed, 10 insertions(+), 8 deletions(-) diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 8cc5a563d6a..f94bd62db7c 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -16,8 +16,8 @@ This file should be imported by eng/Versions.props 10.0.100-preview.4.25220.1 - 11.0.0-beta.25601.2 - 11.0.0-beta.25601.2 + 11.0.0-beta.25603.2 + 11.0.0-beta.25603.2 1.1.0-beta.25578.3 1.1.0-beta.25578.3 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 7be9a21a01d..e09f355d764 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -27,13 +27,13 @@ https://github.com/dotnet/templating 43b5827697e501c442eb75ffff832cd4df2514fe - + https://github.com/dotnet/arcade - 846929727a388f2b1fd3ccf21f67694f44b91b4d + 9851192f7f7a7ee352358cce2627160fd1f2a54e - + https://github.com/dotnet/arcade - 846929727a388f2b1fd3ccf21f67694f44b91b4d + 9851192f7f7a7ee352358cce2627160fd1f2a54e https://github.com/dotnet/arcade-services diff --git a/eng/common/core-templates/job/job.yml b/eng/common/core-templates/job/job.yml index cb4ccc023a3..748c4f07a64 100644 --- a/eng/common/core-templates/job/job.yml +++ b/eng/common/core-templates/job/job.yml @@ -73,6 +73,8 @@ jobs: templateContext: ${{ parameters.templateContext }} variables: + - name: AllowPtrToDetectTestRunRetryFiles + value: true - ${{ if ne(parameters.enableTelemetry, 'false') }}: - name: DOTNET_CLI_TELEMETRY_PROFILE value: '$(Build.Repository.Uri)' diff --git a/global.json b/global.json index 18cb541733e..869ef837ccc 100644 --- a/global.json +++ b/global.json @@ -12,8 +12,8 @@ "dotnet": "10.0.100-rc.2.25502.107" }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.25601.2", - "Microsoft.DotNet.Helix.Sdk": "11.0.0-beta.25601.2", + "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.25603.2", + "Microsoft.DotNet.Helix.Sdk": "11.0.0-beta.25603.2", "Microsoft.Build.NoTargets": "3.7.0" } } From 788ce7acba892313bb9a3cd322c371acd79d4bf5 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Fri, 5 Dec 2025 02:01:31 +0000 Subject: [PATCH 12/13] Update dependencies from https://github.com/dotnet/arcade build 20251204.3 On relative base path root Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Helix.Sdk From Version 11.0.0-beta.25570.6 -> To Version 11.0.0-beta.25604.3 --- eng/Version.Details.props | 4 +- eng/Version.Details.xml | 8 +- .../core-templates/post-build/post-build.yml | 2 +- eng/common/post-build/nuget-validation.ps1 | 22 --- eng/common/post-build/nuget-verification.ps1 | 149 ++++++------------ eng/common/tools.ps1 | 4 - eng/common/tools.sh | 4 - global.json | 8 +- 8 files changed, 58 insertions(+), 143 deletions(-) delete mode 100644 eng/common/post-build/nuget-validation.ps1 diff --git a/eng/Version.Details.props b/eng/Version.Details.props index f94bd62db7c..4a1d3bd8a27 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -16,8 +16,8 @@ This file should be imported by eng/Versions.props 10.0.100-preview.4.25220.1 - 11.0.0-beta.25603.2 - 11.0.0-beta.25603.2 + 11.0.0-beta.25604.3 + 11.0.0-beta.25604.3 1.1.0-beta.25578.3 1.1.0-beta.25578.3 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index e09f355d764..faf12368248 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -27,13 +27,13 @@ https://github.com/dotnet/templating 43b5827697e501c442eb75ffff832cd4df2514fe - + https://github.com/dotnet/arcade - 9851192f7f7a7ee352358cce2627160fd1f2a54e + fa753b76d445da82f9b46d6d12ba382ab6fed81f - + https://github.com/dotnet/arcade - 9851192f7f7a7ee352358cce2627160fd1f2a54e + fa753b76d445da82f9b46d6d12ba382ab6fed81f https://github.com/dotnet/arcade-services diff --git a/eng/common/core-templates/post-build/post-build.yml b/eng/common/core-templates/post-build/post-build.yml index 06864cd1feb..b842cfd2b79 100644 --- a/eng/common/core-templates/post-build/post-build.yml +++ b/eng/common/core-templates/post-build/post-build.yml @@ -154,7 +154,7 @@ stages: - task: PowerShell@2 displayName: Validate inputs: - filePath: $(System.DefaultWorkingDirectory)/eng/common/post-build/nuget-validation.ps1 + filePath: $(System.DefaultWorkingDirectory)/eng/common/post-build/nuget-verification.ps1 arguments: -PackagesPath $(Build.ArtifactStagingDirectory)/PackageArtifacts/ - job: diff --git a/eng/common/post-build/nuget-validation.ps1 b/eng/common/post-build/nuget-validation.ps1 deleted file mode 100644 index e5de00c8983..00000000000 --- a/eng/common/post-build/nuget-validation.ps1 +++ /dev/null @@ -1,22 +0,0 @@ -# This script validates NuGet package metadata information using this -# tool: https://github.com/NuGet/NuGetGallery/tree/jver-verify/src/VerifyMicrosoftPackage - -param( - [Parameter(Mandatory=$true)][string] $PackagesPath # Path to where the packages to be validated are -) - -# `tools.ps1` checks $ci to perform some actions. Since the post-build -# scripts don't necessarily execute in the same agent that run the -# build.ps1/sh script this variable isn't automatically set. -$ci = $true -$disableConfigureToolsetImport = $true -. $PSScriptRoot\..\tools.ps1 - -try { - & $PSScriptRoot\nuget-verification.ps1 ${PackagesPath}\*.nupkg -} -catch { - Write-Host $_.ScriptStackTrace - Write-PipelineTelemetryError -Category 'NuGetValidation' -Message $_ - ExitWithExitCode 1 -} diff --git a/eng/common/post-build/nuget-verification.ps1 b/eng/common/post-build/nuget-verification.ps1 index ac5c69ffcac..3b3155e0b32 100644 --- a/eng/common/post-build/nuget-verification.ps1 +++ b/eng/common/post-build/nuget-verification.ps1 @@ -1,121 +1,66 @@ <# .SYNOPSIS - Verifies that Microsoft NuGet packages have proper metadata. + Verifies NuGet packages using dotnet nuget verify. .DESCRIPTION - Downloads a verification tool and runs metadata validation on the provided NuGet packages. This script writes an - error if any of the provided packages fail validation. All arguments provided to this PowerShell script that do not - match PowerShell parameters are passed on to the verification tool downloaded during the execution of this script. -.PARAMETER NuGetExePath - The path to the nuget.exe binary to use. If not provided, nuget.exe will be downloaded into the -DownloadPath - directory. -.PARAMETER PackageSource - The package source to use to download the verification tool. If not provided, nuget.org will be used. -.PARAMETER DownloadPath - The directory path to download the verification tool and nuget.exe to. If not provided, - %TEMP%\NuGet.VerifyNuGetPackage will be used. -.PARAMETER args - Arguments that will be passed to the verification tool. + Initializes the .NET CLI and runs 'dotnet nuget verify' on the provided NuGet packages. + This script writes an error if any of the provided packages fail verification. +.PARAMETER PackagesPath + Path to the directory containing NuGet packages to verify. .EXAMPLE - PS> .\verify.ps1 *.nupkg - Verifies the metadata of all .nupkg files in the currect working directory. -.EXAMPLE - PS> .\verify.ps1 --help - Displays the help text of the downloaded verifiction tool. -.LINK - https://github.com/NuGet/NuGetGallery/blob/master/src/VerifyMicrosoftPackage/README.md + PS> .\nuget-verification.ps1 -PackagesPath C:\packages + Verifies all .nupkg files in the specified directory. #> -# This script was copied from https://github.com/NuGet/NuGetGallery/blob/3e25ad135146676bcab0050a516939d9958bfa5d/src/VerifyMicrosoftPackage/verify.ps1 - -[CmdletBinding(PositionalBinding = $false)] param( - [string]$NuGetExePath, - [string]$PackageSource = "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public/nuget/v3/index.json", - [string]$DownloadPath, - [Parameter(ValueFromRemainingArguments = $true)] - [string[]]$args + [Parameter(Mandatory=$true)][string] $PackagesPath # Path to where the packages to be validated are ) -# The URL to download nuget.exe. -$nugetExeUrl = "https://dist.nuget.org/win-x86-commandline/v4.9.4/nuget.exe" +# `tools.ps1` checks $ci to perform some actions. Since the post-build +# scripts don't necessarily execute in the same agent that run the +# build.ps1/sh script this variable isn't automatically set. +$ci = $true +$disableConfigureToolsetImport = $true +. $PSScriptRoot\..\tools.ps1 -# The package ID of the verification tool. -$packageId = "NuGet.VerifyMicrosoftPackage" +try { + $fence = New-Object -TypeName string -ArgumentList '=', 80 -# The location that nuget.exe and the verification tool will be downloaded to. -if (!$DownloadPath) { - $DownloadPath = (Join-Path $env:TEMP "NuGet.VerifyMicrosoftPackage") -} + # Initialize the dotnet CLI + $dotnetRoot = InitializeDotNetCli -install:$true + $dotnet = Join-Path $dotnetRoot (GetExecutableFileName 'dotnet') -$fence = New-Object -TypeName string -ArgumentList '=', 80 + Write-Host "Using dotnet: $dotnet" + Write-Host " " -# Create the download directory, if it doesn't already exist. -if (!(Test-Path $DownloadPath)) { - New-Item -ItemType Directory $DownloadPath | Out-Null -} -Write-Host "Using download path: $DownloadPath" + # Get all .nupkg files in the packages path + $packageFiles = Get-ChildItem -Path $PackagesPath -Filter '*.nupkg' -File -if ($NuGetExePath) { - $nuget = $NuGetExePath -} else { - $downloadedNuGetExe = Join-Path $DownloadPath "nuget.exe" - - # Download nuget.exe, if it doesn't already exist. - if (!(Test-Path $downloadedNuGetExe)) { - Write-Host "Downloading nuget.exe from $nugetExeUrl..." - $ProgressPreference = 'SilentlyContinue' - try { - Invoke-WebRequest $nugetExeUrl -OutFile $downloadedNuGetExe - $ProgressPreference = 'Continue' - } catch { - $ProgressPreference = 'Continue' - Write-Error $_ - Write-Error "nuget.exe failed to download." - exit - } - } + if ($packageFiles.Count -eq 0) { + Write-Host "No .nupkg files found in $PackagesPath" + Write-Output "dotnet nuget verify succeeded (no packages to verify)." + return + } - $nuget = $downloadedNuGetExe -} + # Get the full paths of the package files + $packagePaths = $packageFiles | ForEach-Object { $_.FullName } -Write-Host "Using nuget.exe path: $nuget" -Write-Host " " + # Execute dotnet nuget verify + Write-Host "Executing dotnet nuget verify..." + Write-Host $fence + & $dotnet nuget verify $packagePaths + Write-Host $fence + Write-Host " " -# Download the latest version of the verification tool. -Write-Host "Downloading the latest version of $packageId from $packageSource..." -Write-Host $fence -& $nuget install $packageId ` - -Prerelease ` - -OutputDirectory $DownloadPath ` - -Source $PackageSource -Write-Host $fence -Write-Host " " - -if ($LASTEXITCODE -ne 0) { - Write-Error "nuget.exe failed to fetch the verify tool." - exit + # Respond to the exit code. + if ($LASTEXITCODE -ne 0) { + Write-PipelineTelemetryError -Category 'NuGetValidation' -Message "dotnet nuget verify found some problems." + ExitWithExitCode 1 + } else { + Write-Output "dotnet nuget verify succeeded." + } } - -# Find the most recently downloaded tool -Write-Host "Finding the most recently downloaded verification tool." -$verifyProbePath = Join-Path $DownloadPath "$packageId.*" -$verifyPath = Get-ChildItem -Path $verifyProbePath -Directory ` - | Sort-Object -Property LastWriteTime -Descending ` - | Select-Object -First 1 -$verify = Join-Path $verifyPath "tools\NuGet.VerifyMicrosoftPackage.exe" -Write-Host "Using verification tool: $verify" -Write-Host " " - -# Execute the verification tool. -Write-Host "Executing the verify tool..." -Write-Host $fence -& $verify $args -Write-Host $fence -Write-Host " " - -# Respond to the exit code. -if ($LASTEXITCODE -ne 0) { - Write-Error "The verify tool found some problems." -} else { - Write-Output "The verify tool succeeded." +catch { + Write-Host $_.ScriptStackTrace + Write-PipelineTelemetryError -Category 'NuGetValidation' -Message $_ + ExitWithExitCode 1 } diff --git a/eng/common/tools.ps1 b/eng/common/tools.ps1 index 578705ee4db..1556562c68f 100644 --- a/eng/common/tools.ps1 +++ b/eng/common/tools.ps1 @@ -157,9 +157,6 @@ function InitializeDotNetCli([bool]$install, [bool]$createSdkLocationFile) { return $global:_DotNetInstallDir } - # Don't resolve runtime, shared framework, or SDK from other locations to ensure build determinism - $env:DOTNET_MULTILEVEL_LOOKUP=0 - # Disable first run since we do not need all ASP.NET packages restored. $env:DOTNET_NOLOGO=1 @@ -225,7 +222,6 @@ function InitializeDotNetCli([bool]$install, [bool]$createSdkLocationFile) { # Make Sure that our bootstrapped dotnet cli is available in future steps of the Azure Pipelines build Write-PipelinePrependPath -Path $dotnetRoot - Write-PipelineSetVariable -Name 'DOTNET_MULTILEVEL_LOOKUP' -Value '0' Write-PipelineSetVariable -Name 'DOTNET_NOLOGO' -Value '1' return $global:_DotNetInstallDir = $dotnetRoot diff --git a/eng/common/tools.sh b/eng/common/tools.sh index c1841c9dfd0..6c121300ac7 100755 --- a/eng/common/tools.sh +++ b/eng/common/tools.sh @@ -115,9 +115,6 @@ function InitializeDotNetCli { local install=$1 - # Don't resolve runtime, shared framework, or SDK from other locations to ensure build determinism - export DOTNET_MULTILEVEL_LOOKUP=0 - # Disable first run since we want to control all package sources export DOTNET_NOLOGO=1 @@ -166,7 +163,6 @@ function InitializeDotNetCli { # build steps from using anything other than what we've downloaded. Write-PipelinePrependPath -path "$dotnet_root" - Write-PipelineSetVariable -name "DOTNET_MULTILEVEL_LOOKUP" -value "0" Write-PipelineSetVariable -name "DOTNET_NOLOGO" -value "1" # return value diff --git a/global.json b/global.json index 869ef837ccc..d71234094fd 100644 --- a/global.json +++ b/global.json @@ -1,6 +1,6 @@ { "sdk": { - "version": "10.0.100-rc.2.25502.107", + "version": "10.0.100", "rollForward": "latestFeature", "paths": [ ".dotnet", @@ -9,11 +9,11 @@ "errorMessage": "The required .NET SDK wasn't found. Please run ./eng/common/dotnet.cmd/sh to install it." }, "tools": { - "dotnet": "10.0.100-rc.2.25502.107" + "dotnet": "10.0.100" }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.25603.2", - "Microsoft.DotNet.Helix.Sdk": "11.0.0-beta.25603.2", + "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.25604.3", + "Microsoft.DotNet.Helix.Sdk": "11.0.0-beta.25604.3", "Microsoft.Build.NoTargets": "3.7.0" } } From 9e94ebe4aa27af7497deb36da3cb1abee12aff04 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Sat, 6 Dec 2025 02:01:49 +0000 Subject: [PATCH 13/13] Update dependencies from https://github.com/dotnet/arcade build 20251205.2 On relative base path root Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Helix.Sdk From Version 11.0.0-beta.25570.6 -> To Version 11.0.0-beta.25605.2 --- eng/Version.Details.props | 4 +- eng/Version.Details.xml | 8 +- .../job/source-index-stage1.yml | 4 +- .../core-templates/post-build/post-build.yml | 2 +- eng/common/post-build/nuget-validation.ps1 | 22 +++ eng/common/post-build/nuget-verification.ps1 | 149 ++++++++++++------ global.json | 4 +- 7 files changed, 135 insertions(+), 58 deletions(-) create mode 100644 eng/common/post-build/nuget-validation.ps1 diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 4a1d3bd8a27..1c4a86c2a7a 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -16,8 +16,8 @@ This file should be imported by eng/Versions.props 10.0.100-preview.4.25220.1 - 11.0.0-beta.25604.3 - 11.0.0-beta.25604.3 + 11.0.0-beta.25605.2 + 11.0.0-beta.25605.2 1.1.0-beta.25578.3 1.1.0-beta.25578.3 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index faf12368248..47e25d3aa43 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -27,13 +27,13 @@ https://github.com/dotnet/templating 43b5827697e501c442eb75ffff832cd4df2514fe - + https://github.com/dotnet/arcade - fa753b76d445da82f9b46d6d12ba382ab6fed81f + 65e09c040143048211dcf6b2bd69336cbf27eec6 - + https://github.com/dotnet/arcade - fa753b76d445da82f9b46d6d12ba382ab6fed81f + 65e09c040143048211dcf6b2bd69336cbf27eec6 https://github.com/dotnet/arcade-services diff --git a/eng/common/core-templates/job/source-index-stage1.yml b/eng/common/core-templates/job/source-index-stage1.yml index 58b7a76814e..76baf5c2725 100644 --- a/eng/common/core-templates/job/source-index-stage1.yml +++ b/eng/common/core-templates/job/source-index-stage1.yml @@ -3,7 +3,7 @@ parameters: sourceIndexBuildCommand: powershell -NoLogo -NoProfile -ExecutionPolicy Bypass -Command "eng/common/build.ps1 -restore -build -binarylog -ci" preSteps: [] binlogPath: artifacts/log/Debug/Build.binlog - condition: '' + condition: eq(variables['Build.SourceBranch'], 'refs/heads/main') dependsOn: '' pool: '' is1ESPipeline: '' @@ -41,4 +41,4 @@ jobs: - template: /eng/common/core-templates/steps/source-index-stage1-publish.yml parameters: - binLogPath: ${{ parameters.binLogPath }} \ No newline at end of file + binLogPath: ${{ parameters.binLogPath }} diff --git a/eng/common/core-templates/post-build/post-build.yml b/eng/common/core-templates/post-build/post-build.yml index b842cfd2b79..06864cd1feb 100644 --- a/eng/common/core-templates/post-build/post-build.yml +++ b/eng/common/core-templates/post-build/post-build.yml @@ -154,7 +154,7 @@ stages: - task: PowerShell@2 displayName: Validate inputs: - filePath: $(System.DefaultWorkingDirectory)/eng/common/post-build/nuget-verification.ps1 + filePath: $(System.DefaultWorkingDirectory)/eng/common/post-build/nuget-validation.ps1 arguments: -PackagesPath $(Build.ArtifactStagingDirectory)/PackageArtifacts/ - job: diff --git a/eng/common/post-build/nuget-validation.ps1 b/eng/common/post-build/nuget-validation.ps1 new file mode 100644 index 00000000000..e5de00c8983 --- /dev/null +++ b/eng/common/post-build/nuget-validation.ps1 @@ -0,0 +1,22 @@ +# This script validates NuGet package metadata information using this +# tool: https://github.com/NuGet/NuGetGallery/tree/jver-verify/src/VerifyMicrosoftPackage + +param( + [Parameter(Mandatory=$true)][string] $PackagesPath # Path to where the packages to be validated are +) + +# `tools.ps1` checks $ci to perform some actions. Since the post-build +# scripts don't necessarily execute in the same agent that run the +# build.ps1/sh script this variable isn't automatically set. +$ci = $true +$disableConfigureToolsetImport = $true +. $PSScriptRoot\..\tools.ps1 + +try { + & $PSScriptRoot\nuget-verification.ps1 ${PackagesPath}\*.nupkg +} +catch { + Write-Host $_.ScriptStackTrace + Write-PipelineTelemetryError -Category 'NuGetValidation' -Message $_ + ExitWithExitCode 1 +} diff --git a/eng/common/post-build/nuget-verification.ps1 b/eng/common/post-build/nuget-verification.ps1 index 3b3155e0b32..ac5c69ffcac 100644 --- a/eng/common/post-build/nuget-verification.ps1 +++ b/eng/common/post-build/nuget-verification.ps1 @@ -1,66 +1,121 @@ <# .SYNOPSIS - Verifies NuGet packages using dotnet nuget verify. + Verifies that Microsoft NuGet packages have proper metadata. .DESCRIPTION - Initializes the .NET CLI and runs 'dotnet nuget verify' on the provided NuGet packages. - This script writes an error if any of the provided packages fail verification. -.PARAMETER PackagesPath - Path to the directory containing NuGet packages to verify. + Downloads a verification tool and runs metadata validation on the provided NuGet packages. This script writes an + error if any of the provided packages fail validation. All arguments provided to this PowerShell script that do not + match PowerShell parameters are passed on to the verification tool downloaded during the execution of this script. +.PARAMETER NuGetExePath + The path to the nuget.exe binary to use. If not provided, nuget.exe will be downloaded into the -DownloadPath + directory. +.PARAMETER PackageSource + The package source to use to download the verification tool. If not provided, nuget.org will be used. +.PARAMETER DownloadPath + The directory path to download the verification tool and nuget.exe to. If not provided, + %TEMP%\NuGet.VerifyNuGetPackage will be used. +.PARAMETER args + Arguments that will be passed to the verification tool. .EXAMPLE - PS> .\nuget-verification.ps1 -PackagesPath C:\packages - Verifies all .nupkg files in the specified directory. + PS> .\verify.ps1 *.nupkg + Verifies the metadata of all .nupkg files in the currect working directory. +.EXAMPLE + PS> .\verify.ps1 --help + Displays the help text of the downloaded verifiction tool. +.LINK + https://github.com/NuGet/NuGetGallery/blob/master/src/VerifyMicrosoftPackage/README.md #> +# This script was copied from https://github.com/NuGet/NuGetGallery/blob/3e25ad135146676bcab0050a516939d9958bfa5d/src/VerifyMicrosoftPackage/verify.ps1 + +[CmdletBinding(PositionalBinding = $false)] param( - [Parameter(Mandatory=$true)][string] $PackagesPath # Path to where the packages to be validated are + [string]$NuGetExePath, + [string]$PackageSource = "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public/nuget/v3/index.json", + [string]$DownloadPath, + [Parameter(ValueFromRemainingArguments = $true)] + [string[]]$args ) -# `tools.ps1` checks $ci to perform some actions. Since the post-build -# scripts don't necessarily execute in the same agent that run the -# build.ps1/sh script this variable isn't automatically set. -$ci = $true -$disableConfigureToolsetImport = $true -. $PSScriptRoot\..\tools.ps1 +# The URL to download nuget.exe. +$nugetExeUrl = "https://dist.nuget.org/win-x86-commandline/v4.9.4/nuget.exe" -try { - $fence = New-Object -TypeName string -ArgumentList '=', 80 +# The package ID of the verification tool. +$packageId = "NuGet.VerifyMicrosoftPackage" - # Initialize the dotnet CLI - $dotnetRoot = InitializeDotNetCli -install:$true - $dotnet = Join-Path $dotnetRoot (GetExecutableFileName 'dotnet') +# The location that nuget.exe and the verification tool will be downloaded to. +if (!$DownloadPath) { + $DownloadPath = (Join-Path $env:TEMP "NuGet.VerifyMicrosoftPackage") +} - Write-Host "Using dotnet: $dotnet" - Write-Host " " +$fence = New-Object -TypeName string -ArgumentList '=', 80 - # Get all .nupkg files in the packages path - $packageFiles = Get-ChildItem -Path $PackagesPath -Filter '*.nupkg' -File +# Create the download directory, if it doesn't already exist. +if (!(Test-Path $DownloadPath)) { + New-Item -ItemType Directory $DownloadPath | Out-Null +} +Write-Host "Using download path: $DownloadPath" - if ($packageFiles.Count -eq 0) { - Write-Host "No .nupkg files found in $PackagesPath" - Write-Output "dotnet nuget verify succeeded (no packages to verify)." - return - } +if ($NuGetExePath) { + $nuget = $NuGetExePath +} else { + $downloadedNuGetExe = Join-Path $DownloadPath "nuget.exe" + + # Download nuget.exe, if it doesn't already exist. + if (!(Test-Path $downloadedNuGetExe)) { + Write-Host "Downloading nuget.exe from $nugetExeUrl..." + $ProgressPreference = 'SilentlyContinue' + try { + Invoke-WebRequest $nugetExeUrl -OutFile $downloadedNuGetExe + $ProgressPreference = 'Continue' + } catch { + $ProgressPreference = 'Continue' + Write-Error $_ + Write-Error "nuget.exe failed to download." + exit + } + } - # Get the full paths of the package files - $packagePaths = $packageFiles | ForEach-Object { $_.FullName } + $nuget = $downloadedNuGetExe +} - # Execute dotnet nuget verify - Write-Host "Executing dotnet nuget verify..." - Write-Host $fence - & $dotnet nuget verify $packagePaths - Write-Host $fence - Write-Host " " +Write-Host "Using nuget.exe path: $nuget" +Write-Host " " - # Respond to the exit code. - if ($LASTEXITCODE -ne 0) { - Write-PipelineTelemetryError -Category 'NuGetValidation' -Message "dotnet nuget verify found some problems." - ExitWithExitCode 1 - } else { - Write-Output "dotnet nuget verify succeeded." - } +# Download the latest version of the verification tool. +Write-Host "Downloading the latest version of $packageId from $packageSource..." +Write-Host $fence +& $nuget install $packageId ` + -Prerelease ` + -OutputDirectory $DownloadPath ` + -Source $PackageSource +Write-Host $fence +Write-Host " " + +if ($LASTEXITCODE -ne 0) { + Write-Error "nuget.exe failed to fetch the verify tool." + exit } -catch { - Write-Host $_.ScriptStackTrace - Write-PipelineTelemetryError -Category 'NuGetValidation' -Message $_ - ExitWithExitCode 1 + +# Find the most recently downloaded tool +Write-Host "Finding the most recently downloaded verification tool." +$verifyProbePath = Join-Path $DownloadPath "$packageId.*" +$verifyPath = Get-ChildItem -Path $verifyProbePath -Directory ` + | Sort-Object -Property LastWriteTime -Descending ` + | Select-Object -First 1 +$verify = Join-Path $verifyPath "tools\NuGet.VerifyMicrosoftPackage.exe" +Write-Host "Using verification tool: $verify" +Write-Host " " + +# Execute the verification tool. +Write-Host "Executing the verify tool..." +Write-Host $fence +& $verify $args +Write-Host $fence +Write-Host " " + +# Respond to the exit code. +if ($LASTEXITCODE -ne 0) { + Write-Error "The verify tool found some problems." +} else { + Write-Output "The verify tool succeeded." } diff --git a/global.json b/global.json index d71234094fd..e93f7c88602 100644 --- a/global.json +++ b/global.json @@ -12,8 +12,8 @@ "dotnet": "10.0.100" }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.25604.3", - "Microsoft.DotNet.Helix.Sdk": "11.0.0-beta.25604.3", + "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.25605.2", + "Microsoft.DotNet.Helix.Sdk": "11.0.0-beta.25605.2", "Microsoft.Build.NoTargets": "3.7.0" } }