From 152405d409652f693974a91e3e77e45c2cd378c3 Mon Sep 17 00:00:00 2001 From: Matt Thalman Date: Mon, 29 Sep 2025 13:55:23 -0500 Subject: [PATCH 1/8] Update SB SDK diff baseline (#20625) --- .../assets/baselines/MsftToSbSdkFiles.diff | 1 - 1 file changed, 1 deletion(-) diff --git a/src/SourceBuild/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/assets/baselines/MsftToSbSdkFiles.diff b/src/SourceBuild/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/assets/baselines/MsftToSbSdkFiles.diff index da35c468b7d6..3df7d5ffd288 100644 --- a/src/SourceBuild/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/assets/baselines/MsftToSbSdkFiles.diff +++ b/src/SourceBuild/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/assets/baselines/MsftToSbSdkFiles.diff @@ -238,7 +238,6 @@ index ------------ -./sdk/x.y.z/Containers/tasks/net472/System.Reflection.Metadata.dll -./sdk/x.y.z/Containers/tasks/net472/System.Reflection.MetadataLoadContext.dll -./sdk/x.y.z/Containers/tasks/net472/System.Runtime.CompilerServices.Unsafe.dll --./sdk/x.y.z/Containers/tasks/net472/System.Security.AccessControl.dll -./sdk/x.y.z/Containers/tasks/net472/System.Security.Principal.Windows.dll -./sdk/x.y.z/Containers/tasks/net472/System.Text.Encodings.Web.dll -./sdk/x.y.z/Containers/tasks/net472/System.Text.Json.dll From e7840662d969ff437b51c6b83096785a2b15be59 Mon Sep 17 00:00:00 2001 From: Sean Reeser Date: Tue, 7 Oct 2025 11:00:16 -0700 Subject: [PATCH 2/8] Update branding to 8.0.122 --- eng/Versions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/Versions.props b/eng/Versions.props index a54720347474..dbee5d93a781 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -8,7 +8,7 @@ 8 0 1 - 21 + 22 $(VersionMajor).$(VersionMinor).$(VersionSDKMinor)$(VersionFeature) $(VersionMajor).$(VersionMinor) $(MajorMinorVersion).$(VersionSDKMinor) From 049ca4258ff559bf6b430cb165e4d8d46d9391fc Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" <42748379+dotnet-maestro[bot]@users.noreply.github.com> Date: Tue, 7 Oct 2025 22:43:05 +0000 Subject: [PATCH 3/8] [release/8.0.1xx] Update dependencies from dotnet/arcade (#20617) [release/8.0.1xx] Update dependencies from dotnet/arcade --- eng/Version.Details.xml | 12 +- eng/Versions.props | 2 +- eng/common/post-build/nuget-validation.ps1 | 11 +- eng/common/post-build/nuget-verification.ps1 | 121 ++++++++++++++++++ .../post-build/post-build.yml | 3 +- .../templates/post-build/post-build.yml | 1 - global.json | 4 +- 7 files changed, 133 insertions(+), 21 deletions(-) create mode 100644 eng/common/post-build/nuget-verification.ps1 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 30caca4fbbc9..16afc1d1c664 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -219,18 +219,18 @@ - + https://github.com/dotnet/arcade - 4bd1c6c93b5a3b8bc864d2863469c3f2e489d0af + 3edea53c9b10e4bc63de863d71a05d47d9bb5b69 - + https://github.com/dotnet/arcade - 4bd1c6c93b5a3b8bc864d2863469c3f2e489d0af + 3edea53c9b10e4bc63de863d71a05d47d9bb5b69 - + https://github.com/dotnet/arcade - 4bd1c6c93b5a3b8bc864d2863469c3f2e489d0af + 3edea53c9b10e4bc63de863d71a05d47d9bb5b69 https://github.com/dotnet/arcade-services diff --git a/eng/Versions.props b/eng/Versions.props index dbee5d93a781..0aeaa871b0e1 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -40,7 +40,7 @@ - 8.0.0-beta.25465.1 + 8.0.0-beta.25504.1 diff --git a/eng/common/post-build/nuget-validation.ps1 b/eng/common/post-build/nuget-validation.ps1 index dab3534ab538..22b1c4dfe4a7 100644 --- a/eng/common/post-build/nuget-validation.ps1 +++ b/eng/common/post-build/nuget-validation.ps1 @@ -2,20 +2,13 @@ # 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 - [Parameter(Mandatory=$true)][string] $ToolDestinationPath # Where the validation tool should be downloaded to + [Parameter(Mandatory=$true)][string] $PackagesPath # Path to where the packages to be validated are ) try { . $PSScriptRoot\post-build-utils.ps1 - $url = 'https://raw.githubusercontent.com/NuGet/NuGetGallery/3e25ad135146676bcab0050a516939d9958bfa5d/src/VerifyMicrosoftPackage/verify.ps1' - - New-Item -ItemType 'directory' -Path ${ToolDestinationPath} -Force - - Invoke-WebRequest $url -OutFile ${ToolDestinationPath}\verify.ps1 - - & ${ToolDestinationPath}\verify.ps1 ${PackagesPath}\*.nupkg + & $PSScriptRoot\nuget-verification.ps1 ${PackagesPath}\*.nupkg } catch { Write-Host $_.ScriptStackTrace diff --git a/eng/common/post-build/nuget-verification.ps1 b/eng/common/post-build/nuget-verification.ps1 new file mode 100644 index 000000000000..8467dbf8e7c2 --- /dev/null +++ b/eng/common/post-build/nuget-verification.ps1 @@ -0,0 +1,121 @@ +<# +.SYNOPSIS + Verifies that Microsoft NuGet packages have proper metadata. +.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. +.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 +#> + +# 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 +) + +# The URL to download nuget.exe. +$nugetExeUrl = "https://dist.nuget.org/win-x86-commandline/v4.9.4/nuget.exe" + +# The package ID of the verification tool. +$packageId = "NuGet.VerifyMicrosoftPackage" + +# The location that nuget.exe and the verification tool will be downloaded to. +if (!$DownloadPath) { + $DownloadPath = (Join-Path $env:TEMP "NuGet.VerifyMicrosoftPackage") +} + +$fence = New-Object -TypeName string -ArgumentList '=', 80 + +# 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 ($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 + } + } + + $nuget = $downloadedNuGetExe +} + +Write-Host "Using nuget.exe path: $nuget" +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 +} + +# 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." +} \ No newline at end of file diff --git a/eng/common/templates-official/post-build/post-build.yml b/eng/common/templates-official/post-build/post-build.yml index 9fef8103991c..817e2d80dea1 100644 --- a/eng/common/templates-official/post-build/post-build.yml +++ b/eng/common/templates-official/post-build/post-build.yml @@ -134,8 +134,7 @@ stages: displayName: Validate inputs: filePath: $(System.DefaultWorkingDirectory)/eng/common/post-build/nuget-validation.ps1 - arguments: -PackagesPath $(Build.ArtifactStagingDirectory)/PackageArtifacts/ - -ToolDestinationPath $(Agent.BuildDirectory)/Extract/ + arguments: -PackagesPath $(Build.ArtifactStagingDirectory)/PackageArtifacts/ - job: displayName: Signing Validation diff --git a/eng/common/templates/post-build/post-build.yml b/eng/common/templates/post-build/post-build.yml index 6e5722dc2e17..ea1785a8aa26 100644 --- a/eng/common/templates/post-build/post-build.yml +++ b/eng/common/templates/post-build/post-build.yml @@ -132,7 +132,6 @@ stages: inputs: filePath: $(System.DefaultWorkingDirectory)/eng/common/post-build/nuget-validation.ps1 arguments: -PackagesPath $(Build.ArtifactStagingDirectory)/PackageArtifacts/ - -ToolDestinationPath $(Agent.BuildDirectory)/Extract/ - job: displayName: Signing Validation diff --git a/global.json b/global.json index ca810752eda4..e83605eb1bc9 100644 --- a/global.json +++ b/global.json @@ -11,7 +11,7 @@ "cmake": "3.21.0" }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "8.0.0-beta.25465.1", - "Microsoft.DotNet.CMake.Sdk": "8.0.0-beta.25465.1" + "Microsoft.DotNet.Arcade.Sdk": "8.0.0-beta.25504.1", + "Microsoft.DotNet.CMake.Sdk": "8.0.0-beta.25504.1" } } From fd836f1a9bfdb10e7a4702300aa60da59c1a3ddb Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" <42748379+dotnet-maestro[bot]@users.noreply.github.com> Date: Tue, 7 Oct 2025 22:43:14 +0000 Subject: [PATCH 4/8] [release/8.0.1xx] Update dependencies from dotnet/source-build-reference-packages (#20620) [release/8.0.1xx] Update dependencies from dotnet/source-build-reference-packages --- eng/Version.Details.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 16afc1d1c664..c95fcd14e2b3 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -248,9 +248,9 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-runtime 81cabf2857a01351e5ab578947c7403a5b128ad1 - + https://github.com/dotnet/source-build-reference-packages - 55cc6bb942c12203e42ddb58f72cf5dbf1173eac + fcf0226bfea241d4e4f127600b6c3ae10d772e9a From 4a721228c0e55b6222ce5f49dbaecd0758e6f240 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Wed, 8 Oct 2025 02:03:29 +0000 Subject: [PATCH 5/8] Update dependencies from https://github.com/dotnet/source-build-reference-packages build 20251007.1 On relative base path root Microsoft.SourceBuild.Intermediate.source-build-reference-packages From Version 8.0.0-alpha.1.25474.1 -> To Version 8.0.0-alpha.1.25507.1 --- eng/Version.Details.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index c95fcd14e2b3..58abaf906a38 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -248,9 +248,9 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-runtime 81cabf2857a01351e5ab578947c7403a5b128ad1 - + https://github.com/dotnet/source-build-reference-packages - fcf0226bfea241d4e4f127600b6c3ae10d772e9a + 7a3266db9e2b7422e8277f04932eff9b7064b66e From f7e5b3b7c8d8fc3d3ae116a9b0967c236e53f8b5 Mon Sep 17 00:00:00 2001 From: Nikola Milosavljevic Date: Wed, 8 Oct 2025 09:08:28 -0700 Subject: [PATCH 6/8] [infra] Use newer Windows build images (#20629) --- eng/build-pr.yml | 4 ++-- eng/build.yml | 4 ++-- src/finalizer/CMakeLists.txt | 2 ++ 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/eng/build-pr.yml b/eng/build-pr.yml index 7115eb67278f..53e22443d9f3 100644 --- a/eng/build-pr.yml +++ b/eng/build-pr.yml @@ -83,10 +83,10 @@ jobs: pool: ${{ if eq(variables['System.TeamProject'], 'public') }}: name: $(DncEngPublicBuildPool) - demands: ImageOverride -equals windows.vs2019.amd64.open + demands: ImageOverride -equals windows.vs2022.amd64.open ${{ if eq(variables['System.TeamProject'], 'internal') }}: name: $(DncEngInternalBuildPool) - demands: ImageOverride -equals windows.vs2019.amd64 + demands: ImageOverride -equals windows.vs2022.amd64 ${{ if eq(parameters.agentOs, 'Linux') }}: pool: ${{ if eq(variables['System.TeamProject'], 'public') }}: diff --git a/eng/build.yml b/eng/build.yml index 4047d8437deb..9362b96c3e2e 100644 --- a/eng/build.yml +++ b/eng/build.yml @@ -83,11 +83,11 @@ jobs: pool: ${{ if eq(variables['System.TeamProject'], 'public') }}: name: $(DncEngPublicBuildPool) - image: 1es-windows-2019-open + image: 1es-windows-2022-open os: windows ${{ if eq(variables['System.TeamProject'], 'internal') }}: name: $(DncEngInternalBuildPool) - image: 1es-windows-2019 + image: 1es-windows-2022 os: windows ${{ if eq(parameters.agentOs, 'Linux') }}: pool: diff --git a/src/finalizer/CMakeLists.txt b/src/finalizer/CMakeLists.txt index 80c5be98da55..68e8f85573d7 100644 --- a/src/finalizer/CMakeLists.txt +++ b/src/finalizer/CMakeLists.txt @@ -1,5 +1,7 @@ cmake_minimum_required(VERSION 3.15.5) +set(CMAKE_GENERATOR_TOOLSET "v143") + # Create project named finalizer, this will # will generate Finalizer.vcxproj project(Finalizer) From 8aa111e4d732654145d71dc691a03f7ba62fff9c Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 9 Oct 2025 11:02:50 -0700 Subject: [PATCH 7/8] [release/8.0.1xx] Stop building source-build in non-1xx branches (#20635) Co-authored-by: Nikola Milosavljevic --- .vsts-ci.yml | 5 ----- .vsts-pr.yml | 4 ---- 2 files changed, 9 deletions(-) diff --git a/.vsts-ci.yml b/.vsts-ci.yml index a8babf11e674..8eeba1e2f323 100644 --- a/.vsts-ci.yml +++ b/.vsts-ci.yml @@ -330,11 +330,6 @@ extends: buildArchitecture: arm64 runTests: false - # Source Build - - template: /eng/common/templates-official/jobs/source-build.yml@self - parameters: - enableInternalSources: true - - ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: - stage: Publish dependsOn: diff --git a/.vsts-pr.yml b/.vsts-pr.yml index 24e64b2daeb8..349e05fd7105 100644 --- a/.vsts-pr.yml +++ b/.vsts-pr.yml @@ -340,10 +340,6 @@ stages: linuxPortable: true runTests: false - - template: /eng/common/templates/jobs/source-build.yml - parameters: - enableInternalSources: true - - ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: - stage: Publish dependsOn: From 97725e8b78211daab74555df328a702eec5e94e7 Mon Sep 17 00:00:00 2001 From: Nikola Milosavljevic Date: Thu, 9 Oct 2025 12:37:03 -0700 Subject: [PATCH 8/8] =?UTF-8?q?Revert=20"[release/8.0.1xx]=20Stop=20buildi?= =?UTF-8?q?ng=20source-build=20in=20non-1xx=20branc=E2=80=A6=20(#20640)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vsts-ci.yml | 5 +++++ .vsts-pr.yml | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/.vsts-ci.yml b/.vsts-ci.yml index 8eeba1e2f323..a8babf11e674 100644 --- a/.vsts-ci.yml +++ b/.vsts-ci.yml @@ -330,6 +330,11 @@ extends: buildArchitecture: arm64 runTests: false + # Source Build + - template: /eng/common/templates-official/jobs/source-build.yml@self + parameters: + enableInternalSources: true + - ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: - stage: Publish dependsOn: diff --git a/.vsts-pr.yml b/.vsts-pr.yml index 349e05fd7105..24e64b2daeb8 100644 --- a/.vsts-pr.yml +++ b/.vsts-pr.yml @@ -340,6 +340,10 @@ stages: linuxPortable: true runTests: false + - template: /eng/common/templates/jobs/source-build.yml + parameters: + enableInternalSources: true + - ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: - stage: Publish dependsOn: