From f42d7c9925a60bb9758fab3a3c299ebb65b23c6a Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Sat, 9 May 2026 02:02:01 +0000 Subject: [PATCH 01/54] Update dependencies from https://github.com/dotnet/dotnet build 20260508.7 On relative base path root Microsoft.NET.Runtime.MonoTargets.Sdk , Microsoft.NET.ILLink , Microsoft.NET.ILLink.Tasks , Microsoft.NETCore.App.Ref From Version 11.0.0-preview.5.26256.105 -> To Version 11.0.0-preview.5.26258.107 Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.SharedFramework.Sdk From Version 11.0.0-beta.26256.105 -> To Version 11.0.0-beta.26258.107 Microsoft.DotNet.Cecil From Version 0.11.5-preview.26256.105 -> To Version 0.11.5-preview.26258.107 Microsoft.NET.Sdk , Microsoft.TemplateEngine.Authoring.Tasks From Version 11.0.100-preview.5.26256.105 -> To Version 11.0.100-preview.5.26258.107 --- eng/Version.Details.props | 20 ++++++++++---------- eng/Version.Details.xml | 40 +++++++++++++++++++-------------------- global.json | 2 +- 3 files changed, 31 insertions(+), 31 deletions(-) diff --git a/eng/Version.Details.props b/eng/Version.Details.props index d95ef541d66b..3b84c95cc52a 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -6,16 +6,16 @@ This file should be imported by eng/Versions.props - 11.0.0-beta.26256.105 - 11.0.0-beta.26256.105 - 0.11.5-preview.26256.105 - 11.0.0-beta.26256.105 - 11.0.0-preview.5.26256.105 - 11.0.0-preview.5.26256.105 - 11.0.0-preview.5.26256.105 - 11.0.100-preview.5.26256.105 - 11.0.0-preview.5.26256.105 - 11.0.100-preview.5.26256.105 + 11.0.0-beta.26258.107 + 11.0.0-beta.26258.107 + 0.11.5-preview.26258.107 + 11.0.0-beta.26258.107 + 11.0.0-preview.5.26258.107 + 11.0.0-preview.5.26258.107 + 11.0.0-preview.5.26258.107 + 11.0.100-preview.5.26258.107 + 11.0.0-preview.5.26258.107 + 11.0.100-preview.5.26258.107 26.0.11017 26.4.10261 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 20344ce7f648..b35e37861e58 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,29 +1,29 @@ - + https://github.com/dotnet/dotnet - d64191f29ec9042e2696d8b7d8326c4bd10ba268 + 6a78ff2ff4f82b8929d58d6af5d97b16737ca756 - + https://github.com/dotnet/dotnet - d64191f29ec9042e2696d8b7d8326c4bd10ba268 + 6a78ff2ff4f82b8929d58d6af5d97b16737ca756 - + https://github.com/dotnet/dotnet - d64191f29ec9042e2696d8b7d8326c4bd10ba268 + 6a78ff2ff4f82b8929d58d6af5d97b16737ca756 - + https://github.com/dotnet/dotnet - d64191f29ec9042e2696d8b7d8326c4bd10ba268 + 6a78ff2ff4f82b8929d58d6af5d97b16737ca756 - + https://github.com/dotnet/dotnet - d64191f29ec9042e2696d8b7d8326c4bd10ba268 + 6a78ff2ff4f82b8929d58d6af5d97b16737ca756 - + https://github.com/dotnet/dotnet - d64191f29ec9042e2696d8b7d8326c4bd10ba268 + 6a78ff2ff4f82b8929d58d6af5d97b16737ca756 @@ -61,25 +61,25 @@ - + https://github.com/dotnet/dotnet - d64191f29ec9042e2696d8b7d8326c4bd10ba268 + 6a78ff2ff4f82b8929d58d6af5d97b16737ca756 - + https://github.com/dotnet/dotnet - d64191f29ec9042e2696d8b7d8326c4bd10ba268 + 6a78ff2ff4f82b8929d58d6af5d97b16737ca756 - + https://github.com/dotnet/dotnet - d64191f29ec9042e2696d8b7d8326c4bd10ba268 + 6a78ff2ff4f82b8929d58d6af5d97b16737ca756 https://github.com/dotnet/xharness 866707736d49c2323628744716cda2475b3af9ee - + https://github.com/dotnet/dotnet - d64191f29ec9042e2696d8b7d8326c4bd10ba268 + 6a78ff2ff4f82b8929d58d6af5d97b16737ca756 diff --git a/global.json b/global.json index a67673b18507..73d2ff863b3a 100644 --- a/global.json +++ b/global.json @@ -11,6 +11,6 @@ "dotnet": "11.0.100-preview.5.26256.105" }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26256.105" + "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26258.107" } } From 4d9f461bf7aacc9a1eb748ed593887490aa8a1bf Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Sat, 9 May 2026 02:02:49 +0000 Subject: [PATCH 02/54] Re-generate global.json for PR #25379: [net11.0] Update dependencies from dotnet/dotnet --- global.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/global.json b/global.json index 73d2ff863b3a..c1cdd2f24872 100644 --- a/global.json +++ b/global.json @@ -1,6 +1,6 @@ { "sdk": { - "version": "11.0.100-preview.5.26256.105", + "version": "11.0.100-preview.5.26258.107", "paths": [ "builds/downloads/dotnet", "$host$" @@ -8,7 +8,7 @@ "errorMessage": "The .NET SDK could not be found, please run 'make dotnet -C builds'." }, "tools": { - "dotnet": "11.0.100-preview.5.26256.105" + "dotnet": "11.0.100-preview.5.26258.107" }, "msbuild-sdks": { "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26258.107" From 16a77ef06621a1b765c75907fe4641133b0a1a54 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Sun, 10 May 2026 02:01:24 +0000 Subject: [PATCH 03/54] Update dependencies from https://github.com/dotnet/dotnet build 20260508.10 On relative base path root Microsoft.NET.Runtime.MonoTargets.Sdk , Microsoft.NET.ILLink , Microsoft.NET.ILLink.Tasks , Microsoft.NETCore.App.Ref From Version 11.0.0-preview.5.26256.105 -> To Version 11.0.0-preview.5.26258.110 Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.SharedFramework.Sdk From Version 11.0.0-beta.26256.105 -> To Version 11.0.0-beta.26258.110 Microsoft.DotNet.Cecil From Version 0.11.5-preview.26256.105 -> To Version 0.11.5-preview.26258.110 Microsoft.NET.Sdk , Microsoft.TemplateEngine.Authoring.Tasks From Version 11.0.100-preview.5.26256.105 -> To Version 11.0.100-preview.5.26258.110 --- eng/Version.Details.props | 20 ++++++++++---------- eng/Version.Details.xml | 40 +++++++++++++++++++-------------------- global.json | 2 +- 3 files changed, 31 insertions(+), 31 deletions(-) diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 3b84c95cc52a..9783745bfa60 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -6,16 +6,16 @@ This file should be imported by eng/Versions.props - 11.0.0-beta.26258.107 - 11.0.0-beta.26258.107 - 0.11.5-preview.26258.107 - 11.0.0-beta.26258.107 - 11.0.0-preview.5.26258.107 - 11.0.0-preview.5.26258.107 - 11.0.0-preview.5.26258.107 - 11.0.100-preview.5.26258.107 - 11.0.0-preview.5.26258.107 - 11.0.100-preview.5.26258.107 + 11.0.0-beta.26258.110 + 11.0.0-beta.26258.110 + 0.11.5-preview.26258.110 + 11.0.0-beta.26258.110 + 11.0.0-preview.5.26258.110 + 11.0.0-preview.5.26258.110 + 11.0.0-preview.5.26258.110 + 11.0.100-preview.5.26258.110 + 11.0.0-preview.5.26258.110 + 11.0.100-preview.5.26258.110 26.0.11017 26.4.10261 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index b35e37861e58..e618646d1905 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,29 +1,29 @@ - + https://github.com/dotnet/dotnet - 6a78ff2ff4f82b8929d58d6af5d97b16737ca756 + 2c9bec4ec0be4c22ce27ece0c2ca0a8a4d481168 - + https://github.com/dotnet/dotnet - 6a78ff2ff4f82b8929d58d6af5d97b16737ca756 + 2c9bec4ec0be4c22ce27ece0c2ca0a8a4d481168 - + https://github.com/dotnet/dotnet - 6a78ff2ff4f82b8929d58d6af5d97b16737ca756 + 2c9bec4ec0be4c22ce27ece0c2ca0a8a4d481168 - + https://github.com/dotnet/dotnet - 6a78ff2ff4f82b8929d58d6af5d97b16737ca756 + 2c9bec4ec0be4c22ce27ece0c2ca0a8a4d481168 - + https://github.com/dotnet/dotnet - 6a78ff2ff4f82b8929d58d6af5d97b16737ca756 + 2c9bec4ec0be4c22ce27ece0c2ca0a8a4d481168 - + https://github.com/dotnet/dotnet - 6a78ff2ff4f82b8929d58d6af5d97b16737ca756 + 2c9bec4ec0be4c22ce27ece0c2ca0a8a4d481168 @@ -61,25 +61,25 @@ - + https://github.com/dotnet/dotnet - 6a78ff2ff4f82b8929d58d6af5d97b16737ca756 + 2c9bec4ec0be4c22ce27ece0c2ca0a8a4d481168 - + https://github.com/dotnet/dotnet - 6a78ff2ff4f82b8929d58d6af5d97b16737ca756 + 2c9bec4ec0be4c22ce27ece0c2ca0a8a4d481168 - + https://github.com/dotnet/dotnet - 6a78ff2ff4f82b8929d58d6af5d97b16737ca756 + 2c9bec4ec0be4c22ce27ece0c2ca0a8a4d481168 https://github.com/dotnet/xharness 866707736d49c2323628744716cda2475b3af9ee - + https://github.com/dotnet/dotnet - 6a78ff2ff4f82b8929d58d6af5d97b16737ca756 + 2c9bec4ec0be4c22ce27ece0c2ca0a8a4d481168 diff --git a/global.json b/global.json index c1cdd2f24872..32ce96cfbd91 100644 --- a/global.json +++ b/global.json @@ -11,6 +11,6 @@ "dotnet": "11.0.100-preview.5.26258.107" }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26258.107" + "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26258.110" } } From 037bae98767c5d4cbc8c6c0eb01c773bd486a6b9 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Sun, 10 May 2026 02:02:14 +0000 Subject: [PATCH 04/54] Re-generate global.json for PR #25379: [net11.0] Update dependencies from dotnet/dotnet --- global.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/global.json b/global.json index 32ce96cfbd91..1877da0f7412 100644 --- a/global.json +++ b/global.json @@ -1,6 +1,6 @@ { "sdk": { - "version": "11.0.100-preview.5.26258.107", + "version": "11.0.100-preview.5.26258.110", "paths": [ "builds/downloads/dotnet", "$host$" @@ -8,7 +8,7 @@ "errorMessage": "The .NET SDK could not be found, please run 'make dotnet -C builds'." }, "tools": { - "dotnet": "11.0.100-preview.5.26258.107" + "dotnet": "11.0.100-preview.5.26258.110" }, "msbuild-sdks": { "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26258.110" From 6df206e29bc327e0ab9a14b6318a262b5f81059a Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Tue, 12 May 2026 02:03:16 +0000 Subject: [PATCH 05/54] Update dependencies from https://github.com/dotnet/dotnet build 20260511.1 On relative base path root Microsoft.NET.Runtime.MonoTargets.Sdk , Microsoft.NET.ILLink , Microsoft.NET.ILLink.Tasks , Microsoft.NETCore.App.Ref From Version 11.0.0-preview.5.26256.105 -> To Version 11.0.0-preview.5.26261.101 Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.SharedFramework.Sdk From Version 11.0.0-beta.26256.105 -> To Version 11.0.0-beta.26261.101 Microsoft.DotNet.Cecil From Version 0.11.5-preview.26256.105 -> To Version 0.11.5-preview.26261.101 Microsoft.NET.Sdk , Microsoft.TemplateEngine.Authoring.Tasks From Version 11.0.100-preview.5.26256.105 -> To Version 11.0.100-preview.5.26261.101 --- eng/Version.Details.props | 20 ++++----- eng/Version.Details.xml | 40 ++++++++--------- eng/common/AGENTS.md | 5 +++ eng/common/core-templates/job/onelocbuild.yml | 3 ++ eng/common/cross/toolchain.cmake | 12 ++++-- eng/common/dotnet-install.ps1 | 6 ++- eng/common/dotnet-install.sh | 6 ++- eng/common/tools.ps1 | 38 +++++++++------- eng/common/tools.sh | 43 +++++++++++-------- global.json | 2 +- 10 files changed, 105 insertions(+), 70 deletions(-) create mode 100644 eng/common/AGENTS.md diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 9783745bfa60..b013cae5d0ce 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -6,16 +6,16 @@ This file should be imported by eng/Versions.props - 11.0.0-beta.26258.110 - 11.0.0-beta.26258.110 - 0.11.5-preview.26258.110 - 11.0.0-beta.26258.110 - 11.0.0-preview.5.26258.110 - 11.0.0-preview.5.26258.110 - 11.0.0-preview.5.26258.110 - 11.0.100-preview.5.26258.110 - 11.0.0-preview.5.26258.110 - 11.0.100-preview.5.26258.110 + 11.0.0-beta.26261.101 + 11.0.0-beta.26261.101 + 0.11.5-preview.26261.101 + 11.0.0-beta.26261.101 + 11.0.0-preview.5.26261.101 + 11.0.0-preview.5.26261.101 + 11.0.0-preview.5.26261.101 + 11.0.100-preview.5.26261.101 + 11.0.0-preview.5.26261.101 + 11.0.100-preview.5.26261.101 26.0.11017 26.4.10261 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index e618646d1905..28c066b393ea 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,29 +1,29 @@ - + https://github.com/dotnet/dotnet - 2c9bec4ec0be4c22ce27ece0c2ca0a8a4d481168 + 547c640d5626b2976499cb3433abc741a63d67c5 - + https://github.com/dotnet/dotnet - 2c9bec4ec0be4c22ce27ece0c2ca0a8a4d481168 + 547c640d5626b2976499cb3433abc741a63d67c5 - + https://github.com/dotnet/dotnet - 2c9bec4ec0be4c22ce27ece0c2ca0a8a4d481168 + 547c640d5626b2976499cb3433abc741a63d67c5 - + https://github.com/dotnet/dotnet - 2c9bec4ec0be4c22ce27ece0c2ca0a8a4d481168 + 547c640d5626b2976499cb3433abc741a63d67c5 - + https://github.com/dotnet/dotnet - 2c9bec4ec0be4c22ce27ece0c2ca0a8a4d481168 + 547c640d5626b2976499cb3433abc741a63d67c5 - + https://github.com/dotnet/dotnet - 2c9bec4ec0be4c22ce27ece0c2ca0a8a4d481168 + 547c640d5626b2976499cb3433abc741a63d67c5 @@ -61,25 +61,25 @@ - + https://github.com/dotnet/dotnet - 2c9bec4ec0be4c22ce27ece0c2ca0a8a4d481168 + 547c640d5626b2976499cb3433abc741a63d67c5 - + https://github.com/dotnet/dotnet - 2c9bec4ec0be4c22ce27ece0c2ca0a8a4d481168 + 547c640d5626b2976499cb3433abc741a63d67c5 - + https://github.com/dotnet/dotnet - 2c9bec4ec0be4c22ce27ece0c2ca0a8a4d481168 + 547c640d5626b2976499cb3433abc741a63d67c5 https://github.com/dotnet/xharness 866707736d49c2323628744716cda2475b3af9ee - + https://github.com/dotnet/dotnet - 2c9bec4ec0be4c22ce27ece0c2ca0a8a4d481168 + 547c640d5626b2976499cb3433abc741a63d67c5 diff --git a/eng/common/AGENTS.md b/eng/common/AGENTS.md new file mode 100644 index 000000000000..a5ed8f72926d --- /dev/null +++ b/eng/common/AGENTS.md @@ -0,0 +1,5 @@ +# `eng/common` + +Files under `eng/common` come from [Arcade](https://github.com/dotnet/arcade). +Edits in `eng/common` will be overwritten by automation unless the changes are made directly in the Arcade repository. +For more information, see the [Arcade documentation](https://github.com/dotnet/arcade/tree/main/Documentation). diff --git a/eng/common/core-templates/job/onelocbuild.yml b/eng/common/core-templates/job/onelocbuild.yml index eefed3b667a4..86ea9f635042 100644 --- a/eng/common/core-templates/job/onelocbuild.yml +++ b/eng/common/core-templates/job/onelocbuild.yml @@ -22,6 +22,7 @@ parameters: GitHubOrg: dotnet MirrorRepo: '' MirrorBranch: main + xLocCustomPowerShellScript: '' condition: '' JobNameSuffix: '' is1ESPipeline: '' @@ -97,6 +98,8 @@ jobs: gitHubOrganization: ${{ parameters.GitHubOrg }} mirrorRepo: ${{ parameters.MirrorRepo }} mirrorBranch: ${{ parameters.MirrorBranch }} + ${{ if ne(parameters.xLocCustomPowerShellScript, '') }}: + xLocCustomPowerShellScript: ${{ parameters.xLocCustomPowerShellScript }} condition: ${{ parameters.condition }} # Copy the locProject.json to the root of the Loc directory, then publish a pipeline artifact diff --git a/eng/common/cross/toolchain.cmake b/eng/common/cross/toolchain.cmake index ff2dfdb4a5bf..99d6dfe82dde 100644 --- a/eng/common/cross/toolchain.cmake +++ b/eng/common/cross/toolchain.cmake @@ -225,13 +225,19 @@ elseif(ILLUMOS) locate_toolchain_exec(g++ CMAKE_CXX_COMPILER) elseif(HAIKU) set(CMAKE_SYSROOT "${CROSS_ROOTFS}") - set(CMAKE_PROGRAM_PATH "${CMAKE_PROGRAM_PATH};${CROSS_ROOTFS}/cross-tools-x86_64/bin") set(CMAKE_SYSTEM_PREFIX_PATH "${CROSS_ROOTFS}") set(CMAKE_C_STANDARD_LIBRARIES "${CMAKE_C_STANDARD_LIBRARIES} -lssp") set(CMAKE_CXX_STANDARD_LIBRARIES "${CMAKE_CXX_STANDARD_LIBRARIES} -lssp") - locate_toolchain_exec(gcc CMAKE_C_COMPILER) - locate_toolchain_exec(g++ CMAKE_CXX_COMPILER) + if ($ENV{CCC_CC} MATCHES ".*gcc.*") + set(CMAKE_PROGRAM_PATH "${CMAKE_PROGRAM_PATH};${CROSS_ROOTFS}/cross-tools-x86_64/bin") + locate_toolchain_exec(gcc CMAKE_C_COMPILER) + locate_toolchain_exec(g++ CMAKE_CXX_COMPILER) + else() + set(CMAKE_C_COMPILER_EXTERNAL_TOOLCHAIN "${CROSS_ROOTFS}/cross-tools-x86_64") + set(CMAKE_CXX_COMPILER_EXTERNAL_TOOLCHAIN "${CROSS_ROOTFS}/cross-tools-x86_64") + set(CMAKE_ASM_COMPILER_EXTERNAL_TOOLCHAIN "${CROSS_ROOTFS}/cross-tools-x86_64") + endif() # let CMake set up the correct search paths include(Platform/Haiku) diff --git a/eng/common/dotnet-install.ps1 b/eng/common/dotnet-install.ps1 index 811f0f717f73..50ae62737687 100644 --- a/eng/common/dotnet-install.ps1 +++ b/eng/common/dotnet-install.ps1 @@ -10,7 +10,11 @@ Param( . $PSScriptRoot\tools.ps1 -$dotnetRoot = Join-Path $RepoRoot '.dotnet' +if (-not [string]::IsNullOrEmpty($env:DOTNET_GLOBAL_INSTALL_DIR)) { + $dotnetRoot = $env:DOTNET_GLOBAL_INSTALL_DIR +} else { + $dotnetRoot = Join-Path $RepoRoot '.dotnet' +} $installdir = $dotnetRoot try { diff --git a/eng/common/dotnet-install.sh b/eng/common/dotnet-install.sh index 61f302bb6775..1cb3f5abac28 100644 --- a/eng/common/dotnet-install.sh +++ b/eng/common/dotnet-install.sh @@ -80,7 +80,11 @@ case $cpuname in ;; esac -dotnetRoot="${repo_root}.dotnet" +if [[ -n "${DOTNET_GLOBAL_INSTALL_DIR:-}" ]]; then + dotnetRoot="$DOTNET_GLOBAL_INSTALL_DIR" +else + dotnetRoot="${repo_root}.dotnet" +fi if [[ $architecture != "" ]] && [[ $architecture != $buildarch ]]; then dotnetRoot="$dotnetRoot/$architecture" fi diff --git a/eng/common/tools.ps1 b/eng/common/tools.ps1 index 65adefc7f268..0e281df8cae5 100644 --- a/eng/common/tools.ps1 +++ b/eng/common/tools.ps1 @@ -168,6 +168,12 @@ function InitializeDotNetCli([bool]$install, [bool]$createSdkLocationFile) { $env:DOTNET_CLI_TELEMETRY_OPTOUT=1 } + # Keep repo builds isolated from machine-installed SDK state and workload advertising. + # This avoids preview SDK builds picking up mismatched workloads on CI images. + $env:DOTNET_MULTILEVEL_LOOKUP = '0' + $env:DOTNET_SKIP_FIRST_TIME_EXPERIENCE = '1' + $env:DOTNET_CLI_WORKLOAD_UPDATE_NOTIFY_DISABLE = '1' + # Find the first path on %PATH% that contains the dotnet.exe if ($useInstalledDotNetCli -and (-not $globalJsonHasRuntimes) -and ($env:DOTNET_INSTALL_DIR -eq $null)) { $dotnetExecutable = GetExecutableFileName 'dotnet' @@ -230,6 +236,9 @@ function InitializeDotNetCli([bool]$install, [bool]$createSdkLocationFile) { Write-PipelinePrependPath -Path $dotnetRoot Write-PipelineSetVariable -Name 'DOTNET_NOLOGO' -Value '1' + Write-PipelineSetVariable -Name 'DOTNET_MULTILEVEL_LOOKUP' -Value '0' + Write-PipelineSetVariable -Name 'DOTNET_SKIP_FIRST_TIME_EXPERIENCE' -Value '1' + Write-PipelineSetVariable -Name 'DOTNET_CLI_WORKLOAD_UPDATE_NOTIFY_DISABLE' -Value '1' return $global:_DotNetInstallDir = $dotnetRoot } @@ -619,11 +628,7 @@ function GetSdkTaskProject([string]$taskName) { if (Test-Path $proj) { return $proj } - # TODO: Remove this fallback once all supported versions use the new layout. - $legacyProj = Join-Path $toolsetDir "SdkTasks\$taskName.proj" - if (Test-Path $legacyProj) { - return $legacyProj - } + throw "Unable to find $taskName.proj in toolset at: $toolsetDir" } @@ -699,23 +704,14 @@ function InitializeToolset() { $packageDir = Join-Path $nugetCache (Join-Path 'microsoft.dotnet.arcade.sdk' $toolsetVersion) $packageToolsetDir = Join-Path $packageDir 'toolset' - $packageToolsDir = Join-Path $packageDir 'tools' - # TODO: Remove the tools/ check once all supported versions have the toolset folder. - if (!(Test-Path $packageToolsetDir) -and !(Test-Path $packageToolsDir)) { + if (!(Test-Path $packageToolsetDir)) { Write-PipelineTelemetryError -Category 'InitializeToolset' -Message "Arcade SDK package does not contain a toolset or tools folder: $packageDir" ExitWithExitCode 3 } New-Item -ItemType Directory -Path $toolsetToolsDir -Force | Out-Null - - # Copy toolset if present at the package root (new layout), otherwise fall back to tools - if (Test-Path $packageToolsetDir) { - Copy-Item -Path "$packageToolsetDir\*" -Destination $toolsetToolsDir -Recurse -Force - } else { - # TODO: Remove this fallback once all supported versions have the toolset folder. - Copy-Item -Path "$packageToolsDir\*" -Destination $toolsetToolsDir -Recurse -Force - } + Copy-Item -Path "$packageToolsetDir\*" -Destination $toolsetToolsDir -Recurse -Force if (Test-Path $buildProjPath) { $toolsetBuildProj = $buildProjPath @@ -842,6 +838,10 @@ function MSBuild-Core() { $cmdArgs = "$($buildTool.Command) /m /nologo /clp:Summary /v:$verbosity /nr:$nodeReuse /p:ContinuousIntegrationBuild=$ci" + if ($ci -and $buildTool.Tool -eq 'dotnet') { + $cmdArgs += ' /p:MSBuildEnableWorkloadResolver=false' + } + # Add -mt flag for MSBuild multithreaded mode if enabled via environment variable if ($env:MSBUILD_MT_ENABLED -eq "1") { $cmdArgs += ' -mt' @@ -952,6 +952,12 @@ Create-Directory $ToolsetDir Create-Directory $TempDir Create-Directory $LogDir +# Direct MSBuild crash diagnostics (MSB4166 failure.txt files) to a known location +# under artifacts/log so they are captured as build artifacts in CI. +if (-not $env:MSBUILDDEBUGPATH) { + $env:MSBUILDDEBUGPATH = Join-Path $LogDir 'MsbuildDebugLogs' +} + Write-PipelineSetVariable -Name 'Artifacts' -Value $ArtifactsDir Write-PipelineSetVariable -Name 'Artifacts.Toolset' -Value $ToolsetDir Write-PipelineSetVariable -Name 'Artifacts.Log' -Value $LogDir diff --git a/eng/common/tools.sh b/eng/common/tools.sh index 95c55ce9b4d9..5ff37cfb7000 100644 --- a/eng/common/tools.sh +++ b/eng/common/tools.sh @@ -126,6 +126,12 @@ function InitializeDotNetCli { export DOTNET_CLI_TELEMETRY_OPTOUT=1 fi + # Keep repo builds isolated from machine-installed SDK state and workload advertising. + # This avoids preview SDK builds picking up mismatched workloads on CI images. + export DOTNET_MULTILEVEL_LOOKUP=0 + export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 + export DOTNET_CLI_WORKLOAD_UPDATE_NOTIFY_DISABLE=1 + # LTTNG is the logging infrastructure used by Core CLR. Need this variable set # so it doesn't output warnings to the console. export LTTNG_HOME="$HOME" @@ -171,6 +177,9 @@ function InitializeDotNetCli { Write-PipelinePrependPath -path "$dotnet_root" Write-PipelineSetVariable -name "DOTNET_NOLOGO" -value "1" + Write-PipelineSetVariable -name "DOTNET_MULTILEVEL_LOOKUP" -value "0" + Write-PipelineSetVariable -name "DOTNET_SKIP_FIRST_TIME_EXPERIENCE" -value "1" + Write-PipelineSetVariable -name "DOTNET_CLI_WORKLOAD_UPDATE_NOTIFY_DISABLE" -value "1" # return value _InitializeDotNetCli="$dotnet_root" @@ -449,21 +458,13 @@ function InitializeToolset { local package_dir="$_GetNuGetPackageCachePath/microsoft.dotnet.arcade.sdk/$toolset_version" - # TODO: Remove the tools/ check once all supported versions have the toolset folder. - if [[ ! -d "$package_dir/toolset" && ! -d "$package_dir/tools" ]]; then - Write-PipelineTelemetryError -category 'InitializeToolset' "Arcade SDK package does not contain a toolset or tools folder: $package_dir" + if [[ ! -d "$package_dir/toolset" ]]; then + Write-PipelineTelemetryError -category 'InitializeToolset' "Arcade SDK package does not contain a toolset folder: $package_dir" ExitWithExitCode 3 fi mkdir -p "$toolset_tools_dir" - - # Copy toolset if present at the package root (new layout), otherwise fall back to tools - if [[ -d "$package_dir/toolset" ]]; then - cp -r "$package_dir/toolset/." "$toolset_tools_dir" - else - # TODO: Remove this fallback once all supported versions have the toolset folder. - cp -r "$package_dir/tools/." "$toolset_tools_dir" - fi + cp -r "$package_dir/toolset/." "$toolset_tools_dir" if [[ -a "$toolset_tools_dir/Build.proj" ]]; then toolset_build_proj="$toolset_tools_dir/Build.proj" @@ -590,7 +591,12 @@ function MSBuild-Core { warnnotaserror_switch="/warnnotaserror:$warn_not_as_error /p:AdditionalWarningsNotAsErrors=$warn_not_as_error" fi - RunBuildTool "$_InitializeBuildToolCommand" /m /nologo /clp:Summary /v:$verbosity /nr:$node_reuse $warnaserror_switch $mt_switch $warnnotaserror_switch /p:TreatWarningsAsErrors=$warn_as_error /p:ContinuousIntegrationBuild=$ci "$@" + local workload_resolver_switch="" + if [[ "$ci" == true && -n "${_InitializeBuildToolCommand:-}" ]]; then + workload_resolver_switch="/p:MSBuildEnableWorkloadResolver=false" + fi + + RunBuildTool "$_InitializeBuildToolCommand" /m /nologo /clp:Summary /v:$verbosity /nr:$node_reuse $warnaserror_switch $mt_switch $warnnotaserror_switch $workload_resolver_switch /p:TreatWarningsAsErrors=$warn_as_error /p:ContinuousIntegrationBuild=$ci "$@" } function GetDarc { @@ -615,12 +621,7 @@ function GetSdkTaskProject { echo "$proj" return fi - # TODO: Remove this fallback once all supported versions use the new layout. - local legacyProj="$toolsetDir/SdkTasks/$taskName.proj" - if [[ -a "$legacyProj" ]]; then - echo "$legacyProj" - return - fi + Write-PipelineTelemetryError -category 'Build' "Unable to find $taskName.proj in toolset at: $toolsetDir" ExitWithExitCode 3 } @@ -660,6 +661,12 @@ mkdir -p "$toolset_dir" mkdir -p "$temp_dir" mkdir -p "$log_dir" +# Direct MSBuild crash diagnostics (MSB4166 failure.txt files) to a known location +# under artifacts/log so they are captured as build artifacts in CI. +if [[ -z "${MSBUILDDEBUGPATH:-}" ]]; then + export MSBUILDDEBUGPATH="$log_dir/MsbuildDebugLogs" +fi + Write-PipelineSetVariable -name "Artifacts" -value "$artifacts_dir" Write-PipelineSetVariable -name "Artifacts.Toolset" -value "$toolset_dir" Write-PipelineSetVariable -name "Artifacts.Log" -value "$log_dir" diff --git a/global.json b/global.json index 1877da0f7412..084b41a7e6dd 100644 --- a/global.json +++ b/global.json @@ -11,6 +11,6 @@ "dotnet": "11.0.100-preview.5.26258.110" }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26258.110" + "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26261.101" } } From f6f56e16c7f8bd7578e12a45ea5117a43a8f9080 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Tue, 12 May 2026 02:04:07 +0000 Subject: [PATCH 06/54] Re-generate global.json for PR #25379: [net11.0] Update dependencies from dotnet/dotnet --- global.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/global.json b/global.json index 084b41a7e6dd..1bf6bb0b81b7 100644 --- a/global.json +++ b/global.json @@ -1,6 +1,6 @@ { "sdk": { - "version": "11.0.100-preview.5.26258.110", + "version": "11.0.100-preview.5.26261.101", "paths": [ "builds/downloads/dotnet", "$host$" @@ -8,7 +8,7 @@ "errorMessage": "The .NET SDK could not be found, please run 'make dotnet -C builds'." }, "tools": { - "dotnet": "11.0.100-preview.5.26258.110" + "dotnet": "11.0.100-preview.5.26261.101" }, "msbuild-sdks": { "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26261.101" From 79d437da99ae9201113edf728af411ff5fac07b4 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Thu, 14 May 2026 02:01:56 +0000 Subject: [PATCH 07/54] Update dependencies from https://github.com/dotnet/dotnet build 20260513.12 On relative base path root Microsoft.NET.Runtime.MonoTargets.Sdk , Microsoft.NET.ILLink , Microsoft.NET.ILLink.Tasks , Microsoft.NETCore.App.Ref From Version 11.0.0-preview.5.26256.105 -> To Version 11.0.0-preview.5.26263.112 Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.SharedFramework.Sdk From Version 11.0.0-beta.26256.105 -> To Version 11.0.0-beta.26263.112 Microsoft.DotNet.Cecil From Version 0.11.5-preview.26256.105 -> To Version 0.11.5-preview.26263.112 Microsoft.NET.Sdk , Microsoft.TemplateEngine.Authoring.Tasks From Version 11.0.100-preview.5.26256.105 -> To Version 11.0.100-preview.5.26263.112 --- eng/Version.Details.props | 20 ++++++++++---------- eng/Version.Details.xml | 40 +++++++++++++++++++-------------------- global.json | 2 +- 3 files changed, 31 insertions(+), 31 deletions(-) diff --git a/eng/Version.Details.props b/eng/Version.Details.props index b013cae5d0ce..8da61441d07d 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -6,16 +6,16 @@ This file should be imported by eng/Versions.props - 11.0.0-beta.26261.101 - 11.0.0-beta.26261.101 - 0.11.5-preview.26261.101 - 11.0.0-beta.26261.101 - 11.0.0-preview.5.26261.101 - 11.0.0-preview.5.26261.101 - 11.0.0-preview.5.26261.101 - 11.0.100-preview.5.26261.101 - 11.0.0-preview.5.26261.101 - 11.0.100-preview.5.26261.101 + 11.0.0-beta.26263.112 + 11.0.0-beta.26263.112 + 0.11.5-preview.26263.112 + 11.0.0-beta.26263.112 + 11.0.0-preview.5.26263.112 + 11.0.0-preview.5.26263.112 + 11.0.0-preview.5.26263.112 + 11.0.100-preview.5.26263.112 + 11.0.0-preview.5.26263.112 + 11.0.100-preview.5.26263.112 26.0.11017 26.4.10261 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 28c066b393ea..fadffa98ac4d 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,29 +1,29 @@ - + https://github.com/dotnet/dotnet - 547c640d5626b2976499cb3433abc741a63d67c5 + 0d945d08da237ae1726e34e0dba13aabba06e593 - + https://github.com/dotnet/dotnet - 547c640d5626b2976499cb3433abc741a63d67c5 + 0d945d08da237ae1726e34e0dba13aabba06e593 - + https://github.com/dotnet/dotnet - 547c640d5626b2976499cb3433abc741a63d67c5 + 0d945d08da237ae1726e34e0dba13aabba06e593 - + https://github.com/dotnet/dotnet - 547c640d5626b2976499cb3433abc741a63d67c5 + 0d945d08da237ae1726e34e0dba13aabba06e593 - + https://github.com/dotnet/dotnet - 547c640d5626b2976499cb3433abc741a63d67c5 + 0d945d08da237ae1726e34e0dba13aabba06e593 - + https://github.com/dotnet/dotnet - 547c640d5626b2976499cb3433abc741a63d67c5 + 0d945d08da237ae1726e34e0dba13aabba06e593 @@ -61,25 +61,25 @@ - + https://github.com/dotnet/dotnet - 547c640d5626b2976499cb3433abc741a63d67c5 + 0d945d08da237ae1726e34e0dba13aabba06e593 - + https://github.com/dotnet/dotnet - 547c640d5626b2976499cb3433abc741a63d67c5 + 0d945d08da237ae1726e34e0dba13aabba06e593 - + https://github.com/dotnet/dotnet - 547c640d5626b2976499cb3433abc741a63d67c5 + 0d945d08da237ae1726e34e0dba13aabba06e593 https://github.com/dotnet/xharness 866707736d49c2323628744716cda2475b3af9ee - + https://github.com/dotnet/dotnet - 547c640d5626b2976499cb3433abc741a63d67c5 + 0d945d08da237ae1726e34e0dba13aabba06e593 diff --git a/global.json b/global.json index 1bf6bb0b81b7..c32e472197cc 100644 --- a/global.json +++ b/global.json @@ -11,6 +11,6 @@ "dotnet": "11.0.100-preview.5.26261.101" }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26261.101" + "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26263.112" } } From 4f6f7a58c037f6edcf78a6fb7615b39fce6d546b Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Thu, 14 May 2026 02:02:46 +0000 Subject: [PATCH 08/54] Re-generate global.json for PR #25379: [net11.0] Update dependencies from dotnet/dotnet --- global.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/global.json b/global.json index c32e472197cc..72dd059a0a56 100644 --- a/global.json +++ b/global.json @@ -1,6 +1,6 @@ { "sdk": { - "version": "11.0.100-preview.5.26261.101", + "version": "11.0.100-preview.5.26263.112", "paths": [ "builds/downloads/dotnet", "$host$" @@ -8,7 +8,7 @@ "errorMessage": "The .NET SDK could not be found, please run 'make dotnet -C builds'." }, "tools": { - "dotnet": "11.0.100-preview.5.26261.101" + "dotnet": "11.0.100-preview.5.26263.112" }, "msbuild-sdks": { "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26263.112" From 5d391ecdd858b5023a5156d0b69beeb663507ff9 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Fri, 15 May 2026 02:02:00 +0000 Subject: [PATCH 09/54] Update dependencies from https://github.com/dotnet/dotnet build 20260514.5 On relative base path root Microsoft.NET.Runtime.MonoTargets.Sdk , Microsoft.NET.ILLink , Microsoft.NET.ILLink.Tasks , Microsoft.NETCore.App.Ref From Version 11.0.0-preview.5.26256.105 -> To Version 11.0.0-preview.5.26264.105 Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.SharedFramework.Sdk From Version 11.0.0-beta.26256.105 -> To Version 11.0.0-beta.26264.105 Microsoft.DotNet.Cecil From Version 0.11.5-preview.26256.105 -> To Version 0.11.5-preview.26264.105 Microsoft.NET.Sdk , Microsoft.TemplateEngine.Authoring.Tasks From Version 11.0.100-preview.5.26256.105 -> To Version 11.0.100-preview.5.26264.105 --- eng/Version.Details.props | 20 +-- eng/Version.Details.xml | 40 +++--- .../core-templates/steps/publish-logs.yml | 2 - eng/common/cross/build-rootfs.sh | 107 ++++++-------- eng/common/cross/install-debs.py | 136 +++++++++++++----- global.json | 2 +- 6 files changed, 170 insertions(+), 137 deletions(-) diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 8da61441d07d..da6a17c3e8c6 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -6,16 +6,16 @@ This file should be imported by eng/Versions.props - 11.0.0-beta.26263.112 - 11.0.0-beta.26263.112 - 0.11.5-preview.26263.112 - 11.0.0-beta.26263.112 - 11.0.0-preview.5.26263.112 - 11.0.0-preview.5.26263.112 - 11.0.0-preview.5.26263.112 - 11.0.100-preview.5.26263.112 - 11.0.0-preview.5.26263.112 - 11.0.100-preview.5.26263.112 + 11.0.0-beta.26264.105 + 11.0.0-beta.26264.105 + 0.11.5-preview.26264.105 + 11.0.0-beta.26264.105 + 11.0.0-preview.5.26264.105 + 11.0.0-preview.5.26264.105 + 11.0.0-preview.5.26264.105 + 11.0.100-preview.5.26264.105 + 11.0.0-preview.5.26264.105 + 11.0.100-preview.5.26264.105 26.0.11017 26.4.10261 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index fadffa98ac4d..b50d23ec0bbb 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,29 +1,29 @@ - + https://github.com/dotnet/dotnet - 0d945d08da237ae1726e34e0dba13aabba06e593 + 008122261807c899eedca718a431fb5b7a07b8f2 - + https://github.com/dotnet/dotnet - 0d945d08da237ae1726e34e0dba13aabba06e593 + 008122261807c899eedca718a431fb5b7a07b8f2 - + https://github.com/dotnet/dotnet - 0d945d08da237ae1726e34e0dba13aabba06e593 + 008122261807c899eedca718a431fb5b7a07b8f2 - + https://github.com/dotnet/dotnet - 0d945d08da237ae1726e34e0dba13aabba06e593 + 008122261807c899eedca718a431fb5b7a07b8f2 - + https://github.com/dotnet/dotnet - 0d945d08da237ae1726e34e0dba13aabba06e593 + 008122261807c899eedca718a431fb5b7a07b8f2 - + https://github.com/dotnet/dotnet - 0d945d08da237ae1726e34e0dba13aabba06e593 + 008122261807c899eedca718a431fb5b7a07b8f2 @@ -61,25 +61,25 @@ - + https://github.com/dotnet/dotnet - 0d945d08da237ae1726e34e0dba13aabba06e593 + 008122261807c899eedca718a431fb5b7a07b8f2 - + https://github.com/dotnet/dotnet - 0d945d08da237ae1726e34e0dba13aabba06e593 + 008122261807c899eedca718a431fb5b7a07b8f2 - + https://github.com/dotnet/dotnet - 0d945d08da237ae1726e34e0dba13aabba06e593 + 008122261807c899eedca718a431fb5b7a07b8f2 https://github.com/dotnet/xharness 866707736d49c2323628744716cda2475b3af9ee - + https://github.com/dotnet/dotnet - 0d945d08da237ae1726e34e0dba13aabba06e593 + 008122261807c899eedca718a431fb5b7a07b8f2 diff --git a/eng/common/core-templates/steps/publish-logs.yml b/eng/common/core-templates/steps/publish-logs.yml index 84a1922c73f3..5fc099a1143d 100644 --- a/eng/common/core-templates/steps/publish-logs.yml +++ b/eng/common/core-templates/steps/publish-logs.yml @@ -33,8 +33,6 @@ steps: '$(publishing-dnceng-devdiv-code-r-build-re)' '$(dn-bot-all-orgs-artifact-feeds-rw)' '$(akams-client-id)' - '$(microsoft-symbol-server-pat)' - '$(symweb-symbol-server-pat)' '$(dnceng-symbol-server-pat)' '$(dn-bot-all-orgs-build-rw-code-rw)' '$(System.AccessToken)' diff --git a/eng/common/cross/build-rootfs.sh b/eng/common/cross/build-rootfs.sh index 314c93c57598..cef5d2d6716a 100644 --- a/eng/common/cross/build-rootfs.sh +++ b/eng/common/cross/build-rootfs.sh @@ -5,7 +5,7 @@ set -e usage() { echo "Usage: $0 [BuildArch] [CodeName] [lldbx.y] [llvmx[.y]] [--skipunmount] --rootfsdir ]" - echo "BuildArch can be: arm(default), arm64, armel, armv6, loongarch64, ppc64le, riscv64, s390x, x64, x86" + echo "BuildArch can be: arm(default), arm64, loongarch64, ppc64le, riscv64, s390x, x64, x86" echo "CodeName - optional, Code name for Linux, can be: xenial(default), zesty, bionic, alpine" echo " for alpine can be specified with version: alpineX.YY or alpineedge" echo " for FreeBSD can be: freebsd13, freebsd14" @@ -139,7 +139,6 @@ __AlpineKeys=' 616db30d:MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnpUpyWDWjlUk3smlWeA0\nlIMW+oJ38t92CRLHH3IqRhyECBRW0d0aRGtq7TY8PmxjjvBZrxTNDpJT6KUk4LRm\na6A6IuAI7QnNK8SJqM0DLzlpygd7GJf8ZL9SoHSH+gFsYF67Cpooz/YDqWrlN7Vw\ntO00s0B+eXy+PCXYU7VSfuWFGK8TGEv6HfGMALLjhqMManyvfp8hz3ubN1rK3c8C\nUS/ilRh1qckdbtPvoDPhSbTDmfU1g/EfRSIEXBrIMLg9ka/XB9PvWRrekrppnQzP\nhP9YE3x/wbFc5QqQWiRCYyQl/rgIMOXvIxhkfe8H5n1Et4VAorkpEAXdsfN8KSVv\nLSMazVlLp9GYq5SUpqYX3KnxdWBgN7BJoZ4sltsTpHQ/34SXWfu3UmyUveWj7wp0\nx9hwsPirVI00EEea9AbP7NM2rAyu6ukcm4m6ATd2DZJIViq2es6m60AE6SMCmrQF\nwmk4H/kdQgeAELVfGOm2VyJ3z69fQuywz7xu27S6zTKi05Qlnohxol4wVb6OB7qG\nLPRtK9ObgzRo/OPumyXqlzAi/Yvyd1ZQk8labZps3e16bQp8+pVPiumWioMFJDWV\nGZjCmyMSU8V6MB6njbgLHoyg2LCukCAeSjbPGGGYhnKLm1AKSoJh3IpZuqcKCk5C\n8CM1S15HxV78s9dFntEqIokCAwEAAQ== 66ba20fe:MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAtfB12w4ZgqsXWZDfUAV/\n6Y4aHUKIu3q4SXrNZ7CXF9nXoAVYrS7NAxJdAodsY3vPCN0g5O8DFXR+390LdOuQ\n+HsGKCc1k5tX5ZXld37EZNTNSbR0k+NKhd9h6X3u6wqPOx7SIKxwAQR8qeeFq4pP\nrt9GAGlxtuYgzIIcKJPwE0dZlcBCg+GnptCUZXp/38BP1eYC+xTXSL6Muq1etYfg\nodXdb7Yl+2h1IHuOwo5rjgY5kpY7GcAs8AjGk3lDD/av60OTYccknH0NCVSmPoXK\nvrxDBOn0LQRNBLcAfnTKgHrzy0Q5h4TNkkyTgxkoQw5ObDk9nnabTxql732yy9BY\ns+hM9+dSFO1HKeVXreYSA2n1ndF18YAvAumzgyqzB7I4pMHXq1kC/8bONMJxwSkS\nYm6CoXKyavp7RqGMyeVpRC7tV+blkrrUml0BwNkxE+XnwDRB3xDV6hqgWe0XrifD\nYTfvd9ScZQP83ip0r4IKlq4GMv/R5shcCRJSkSZ6QSGshH40JYSoiwJf5FHbj9ND\n7do0UAqebWo4yNx63j/wb2ULorW3AClv0BCFSdPsIrCStiGdpgJDBR2P2NZOCob3\nG9uMj+wJD6JJg2nWqNJxkANXX37Qf8plgzssrhrgOvB0fjjS7GYhfkfmZTJ0wPOw\nA8+KzFseBh4UFGgue78KwgkCAwEAAQ== ' -__Keyring= __KeyringFile="/usr/share/keyrings/ubuntu-archive-keyring.gpg" __SkipSigCheck=0 __SkipEmulation=0 @@ -162,6 +161,10 @@ while :; do __AlpineArch=armv7 __QEMUArch=arm ;; + armel) + # this is only used for tizen-build-rootfs.sh + __BuildArch=armel + ;; arm64) __BuildArch=arm64 __UbuntuArch=arm64 @@ -172,31 +175,6 @@ while :; do __OpenBSDArch=arm64 __OpenBSDMachineArch=aarch64 ;; - armel) - __BuildArch=armel - __UbuntuArch=armel - __UbuntuRepo="http://archive.debian.org/debian/" - __CodeName=buster - __KeyringFile="/usr/share/keyrings/debian-archive-keyring.gpg" - __LLDB_Package="liblldb-6.0-dev" - __UbuntuPackages="${__UbuntuPackages// libomp-dev/}" - __UbuntuPackages="${__UbuntuPackages// libomp5/}" - __UbuntuSuites= - ;; - armv6) - __BuildArch=armv6 - __UbuntuArch=armhf - __QEMUArch=arm - __UbuntuRepo="http://raspbian.raspberrypi.org/raspbian/" - __CodeName=buster - __KeyringFile="/usr/share/keyrings/raspbian-archive-keyring.gpg" - __LLDB_Package="liblldb-6.0-dev" - __UbuntuSuites= - - if [[ -e "$__KeyringFile" ]]; then - __Keyring="--keyring $__KeyringFile" - fi - ;; loongarch64) __BuildArch=loongarch64 __AlpineArch=loongarch64 @@ -204,10 +182,6 @@ while :; do __UbuntuArch=loong64 __UbuntuSuites=unreleased __LLDB_Package="liblldb-19-dev" - - if [[ "$__CodeName" == "sid" ]]; then - __UbuntuRepo="http://ftp.ports.debian.org/debian-ports/" - fi ;; riscv64) __BuildArch=riscv64 @@ -223,7 +197,7 @@ while :; do __AlpineArch=ppc64le __QEMUArch=ppc64le __UbuntuArch=ppc64el - __UbuntuRepo="http://ports.ubuntu.com/ubuntu-ports/" + __UbuntuRepo="https://ports.ubuntu.com/ubuntu-ports/" __UbuntuPackages="${__UbuntuPackages// libunwind8-dev/}" __UbuntuPackages="${__UbuntuPackages// libomp-dev/}" __UbuntuPackages="${__UbuntuPackages// libomp5/}" @@ -234,7 +208,7 @@ while :; do __AlpineArch=s390x __QEMUArch=s390x __UbuntuArch=s390x - __UbuntuRepo="http://ports.ubuntu.com/ubuntu-ports/" + __UbuntuRepo="https://ports.ubuntu.com/ubuntu-ports/" __UbuntuPackages="${__UbuntuPackages// libunwind8-dev/}" __UbuntuPackages="${__UbuntuPackages// libomp-dev/}" __UbuntuPackages="${__UbuntuPackages// libomp5/}" @@ -250,13 +224,13 @@ while :; do __OpenBSDMachineArch=amd64 __illumosArch=x86_64 __HaikuArch=x86_64 - __UbuntuRepo="http://archive.ubuntu.com/ubuntu/" + __UbuntuRepo="https://archive.ubuntu.com/ubuntu/" ;; x86) __BuildArch=x86 __UbuntuArch=i386 __AlpineArch=x86 - __UbuntuRepo="http://archive.ubuntu.com/ubuntu/" + __UbuntuRepo="https://archive.ubuntu.com/ubuntu/" ;; lldb*) version="$(echo "$lowerI" | tr -d '[:alpha:]-=')" @@ -316,7 +290,7 @@ while :; do __KeyringFile="/usr/share/keyrings/debian-archive-keyring.gpg" if [[ -z "$__UbuntuRepo" ]]; then - __UbuntuRepo="http://ftp.debian.org/debian/" + __UbuntuRepo="https://archive.debian.org/debian/" fi ;; buster) # Debian 10 @@ -325,7 +299,7 @@ while :; do __KeyringFile="/usr/share/keyrings/debian-archive-keyring.gpg" if [[ -z "$__UbuntuRepo" ]]; then - __UbuntuRepo="http://archive.debian.org/debian/" + __UbuntuRepo="https://archive.debian.org/debian/" fi ;; bullseye) # Debian 11 @@ -333,7 +307,7 @@ while :; do __KeyringFile="/usr/share/keyrings/debian-archive-keyring.gpg" if [[ -z "$__UbuntuRepo" ]]; then - __UbuntuRepo="http://ftp.debian.org/debian/" + __UbuntuRepo="https://ftp.debian.org/debian/" fi ;; bookworm) # Debian 12 @@ -341,7 +315,7 @@ while :; do __KeyringFile="/usr/share/keyrings/debian-archive-keyring.gpg" if [[ -z "$__UbuntuRepo" ]]; then - __UbuntuRepo="http://ftp.debian.org/debian/" + __UbuntuRepo="https://ftp.debian.org/debian/" fi ;; sid) # Debian sid @@ -350,25 +324,21 @@ while :; do # Debian-Ports architectures need different values case "$__UbuntuArch" in - amd64|arm64|armel|armhf|i386|mips64el|ppc64el|riscv64|s390x) + amd64|arm64|armhf|i386|mips64el|ppc64el|riscv64|s390x) __KeyringFile="/usr/share/keyrings/debian-archive-keyring.gpg" if [[ -z "$__UbuntuRepo" ]]; then - __UbuntuRepo="http://ftp.debian.org/debian/" + __UbuntuRepo="https://ftp.debian.org/debian/" fi ;; *) __KeyringFile="/usr/share/keyrings/debian-ports-archive-keyring.gpg" if [[ -z "$__UbuntuRepo" ]]; then - __UbuntuRepo="http://ftp.ports.debian.org/debian-ports/" + __UbuntuRepo="https://ftp.debian.org/debian-ports/" fi ;; esac - - if [[ -e "$__KeyringFile" ]]; then - __Keyring="--keyring $__KeyringFile" - fi ;; tizen) __CodeName= @@ -472,7 +442,7 @@ fi __UbuntuPackages+=" ${__LLDB_Package:-}" if [[ -z "$__UbuntuRepo" ]]; then - __UbuntuRepo="http://ports.ubuntu.com/" + __UbuntuRepo="https://ports.ubuntu.com/" fi if [[ -n "$__LLVM_MajorVersion" ]]; then @@ -559,15 +529,15 @@ if [[ "$__CodeName" == "alpine" ]]; then # initialize DB # shellcheck disable=SC2086 "$__ApkToolsDir/apk.static" \ - -X "http://dl-cdn.alpinelinux.org/alpine/$version/main" \ - -X "http://dl-cdn.alpinelinux.org/alpine/$version/community" \ + -X "https://dl-cdn.alpinelinux.org/alpine/$version/main" \ + -X "https://dl-cdn.alpinelinux.org/alpine/$version/community" \ -U $__ApkSignatureArg --root "$__RootfsDir" --arch "$__AlpineArch" --initdb add if [[ "$__AlpineLlvmLibsLookup" == 1 ]]; then # shellcheck disable=SC2086 __AlpinePackages+=" $("$__ApkToolsDir/apk.static" \ - -X "http://dl-cdn.alpinelinux.org/alpine/$version/main" \ - -X "http://dl-cdn.alpinelinux.org/alpine/$version/community" \ + -X "https://dl-cdn.alpinelinux.org/alpine/$version/main" \ + -X "https://dl-cdn.alpinelinux.org/alpine/$version/community" \ -U $__ApkSignatureArg --root "$__RootfsDir" --arch "$__AlpineArch" \ search 'llvm*-libs' | grep -E '^llvm' | sort | tail -1 | sed 's/-[^-]*//2g')" fi @@ -575,8 +545,8 @@ if [[ "$__CodeName" == "alpine" ]]; then # install all packages in one go # shellcheck disable=SC2086 "$__ApkToolsDir/apk.static" \ - -X "http://dl-cdn.alpinelinux.org/alpine/$version/main" \ - -X "http://dl-cdn.alpinelinux.org/alpine/$version/community" \ + -X "https://dl-cdn.alpinelinux.org/alpine/$version/main" \ + -X "https://dl-cdn.alpinelinux.org/alpine/$version/community" \ -U $__ApkSignatureArg --root "$__RootfsDir" --arch "$__AlpineArch" $__NoEmulationArg \ add $__AlpinePackages @@ -593,7 +563,7 @@ elif [[ "$__CodeName" == "freebsd" ]]; then curl -SL "https://download.freebsd.org/ftp/releases/${__FreeBSDArch}/${__FreeBSDMachineArch}/${__FreeBSDBase}/base.txz" | tar -C "$__RootfsDir" -Jxf - ./lib ./usr/lib ./usr/libdata ./usr/include ./usr/share/keys ./etc ./bin/freebsd-version fi echo "ABI = \"FreeBSD:${__FreeBSDABI}:${__FreeBSDMachineArch}\"; FINGERPRINTS = \"${__RootfsDir}/usr/share/keys\"; REPOS_DIR = [\"${__RootfsDir}/etc/pkg\"]; REPO_AUTOUPDATE = NO; RUN_SCRIPTS = NO;" > "${__RootfsDir}"/usr/local/etc/pkg.conf - echo "FreeBSD: { url: \"pkg+http://pkg.FreeBSD.org/\${ABI}/quarterly\", mirror_type: \"srv\", signature_type: \"fingerprints\", fingerprints: \"/usr/share/keys/pkg\", enabled: yes }" > "${__RootfsDir}"/etc/pkg/FreeBSD.conf + echo "FreeBSD: { url: \"pkg+https://pkg.FreeBSD.org/\${ABI}/quarterly\", mirror_type: \"srv\", signature_type: \"fingerprints\", fingerprints: \"/usr/share/keys/pkg\", enabled: yes }" > "${__RootfsDir}"/etc/pkg/FreeBSD.conf mkdir -p "$__RootfsDir"/tmp # get and build package manager if [[ "$__hasWget" == 1 ]]; then @@ -830,6 +800,14 @@ elif [[ "$__CodeName" == "haiku" ]]; then elif [[ -n "$__CodeName" ]]; then __Suites="$__CodeName $(for suite in $__UbuntuSuites; do echo -n "$__CodeName-$suite "; done)" + __SigCheckArgs= + if [[ "$__SkipSigCheck" == "0" ]]; then + if [[ -e "$__KeyringFile" ]]; then + __SigCheckArgs="--keyring $__KeyringFile" + fi + __SigCheckArgs="$__SigCheckArgs --force-check-gpg" + fi + if [[ "$__SkipEmulation" == "1" ]]; then if [[ -z "$AR" ]]; then if command -v ar &>/dev/null; then @@ -845,31 +823,23 @@ elif [[ -n "$__CodeName" ]]; then PYTHON=${PYTHON_EXECUTABLE:-python3} # shellcheck disable=SC2086,SC2046 - echo running "$PYTHON" "$__CrossDir/install-debs.py" --arch "$__UbuntuArch" --mirror "$__UbuntuRepo" --rootfsdir "$__RootfsDir" --artool "$AR" \ + echo running "$PYTHON" "$__CrossDir/install-debs.py" $__SigCheckArgs --arch "$__UbuntuArch" --mirror "$__UbuntuRepo" --rootfsdir "$__RootfsDir" --artool "$AR" \ $(for suite in $__Suites; do echo -n "--suite $suite "; done) \ $__UbuntuPackages # shellcheck disable=SC2086,SC2046 - "$PYTHON" "$__CrossDir/install-debs.py" --arch "$__UbuntuArch" --mirror "$__UbuntuRepo" --rootfsdir "$__RootfsDir" --artool "$AR" \ + "$PYTHON" "$__CrossDir/install-debs.py" $__SigCheckArgs --arch "$__UbuntuArch" --mirror "$__UbuntuRepo" --rootfsdir "$__RootfsDir" --artool "$AR" \ $(for suite in $__Suites; do echo -n "--suite $suite "; done) \ $__UbuntuPackages exit 0 fi - __UpdateOptions= - if [[ "$__SkipSigCheck" == "0" ]]; then - __Keyring="$__Keyring --force-check-gpg" - else - __Keyring= - __UpdateOptions="--allow-unauthenticated --allow-insecure-repositories" - fi - # shellcheck disable=SC2086 - echo running debootstrap "--variant=minbase" $__Keyring --arch "$__UbuntuArch" "$__CodeName" "$__RootfsDir" "$__UbuntuRepo" + echo running debootstrap "--variant=minbase" $__SigCheckArgs --arch "$__UbuntuArch" "$__CodeName" "$__RootfsDir" "$__UbuntuRepo" # shellcheck disable=SC2086 - if ! debootstrap "--variant=minbase" $__Keyring --arch "$__UbuntuArch" "$__CodeName" "$__RootfsDir" "$__UbuntuRepo"; then + if ! debootstrap "--variant=minbase" $__SigCheckArgs --arch "$__UbuntuArch" "$__CodeName" "$__RootfsDir" "$__UbuntuRepo"; then echo "debootstrap failed! dumping debootstrap.log" cat "$__RootfsDir/debootstrap/debootstrap.log" exit 1 @@ -887,6 +857,11 @@ Components: main universe Signed-By: $__KeyringFile EOF + __UpdateOptions= + if [[ "$__SkipSigCheck" == "1" ]]; then + __UpdateOptions="--allow-unauthenticated --allow-insecure-repositories" + fi + # shellcheck disable=SC2086 chroot "$__RootfsDir" apt-get update $__UpdateOptions chroot "$__RootfsDir" apt-get -f -y install diff --git a/eng/common/cross/install-debs.py b/eng/common/cross/install-debs.py index c81eb37e522e..100c4378da3b 100644 --- a/eng/common/cross/install-debs.py +++ b/eng/common/cross/install-debs.py @@ -4,6 +4,7 @@ import asyncio import aiohttp import gzip +import hashlib import os import re import shutil @@ -16,7 +17,7 @@ from collections import deque from functools import cmp_to_key -async def download_file(session, url, dest_path, max_retries=3, retry_delay=2, timeout=60): +async def download_file(session, url, dest_path, max_retries=3, retry_delay=2, timeout=60, checksum=None): """Asynchronous file download with retries.""" attempt = 0 while attempt < max_retries: @@ -25,19 +26,25 @@ async def download_file(session, url, dest_path, max_retries=3, retry_delay=2, t if response.status == 200: with open(dest_path, "wb") as f: content = await response.read() + + # verify checksum if provided + if checksum: + sha256 = hashlib.sha256(content).hexdigest() + if sha256 != checksum: + raise Exception(f"SHA256 mismatch for {url}: expected {checksum}, got {sha256}") + f.write(content) print(f"Downloaded {url} at {dest_path}") return else: - print(f"Failed to download {url}, Status Code: {response.status}") - break + raise Exception(f"Failed to download {url}, Status Code: {response.status}") except (asyncio.CancelledError, asyncio.TimeoutError, aiohttp.ClientError) as e: print(f"Error downloading {url}: {type(e).__name__} - {e}. Retrying...") attempt += 1 await asyncio.sleep(retry_delay) - print(f"Failed to download {url} after {max_retries} attempts.") + raise Exception(f"Failed to download {url} after {max_retries} attempts.") async def download_deb_files_parallel(mirror, packages, tmp_dir): """Download .deb files in parallel.""" @@ -51,11 +58,11 @@ async def download_deb_files_parallel(mirror, packages, tmp_dir): if filename: url = f"{mirror}/{filename}" dest_path = os.path.join(tmp_dir, os.path.basename(filename)) - tasks.append(asyncio.create_task(download_file(session, url, dest_path))) + tasks.append(asyncio.create_task(download_file(session, url, dest_path, checksum=info.get("SHA256")))) await asyncio.gather(*tasks) -async def download_package_index_parallel(mirror, arch, suites): +async def download_package_index_parallel(mirror, arch, suites, check_sig, keyring): """Download package index files for specified suites and components entirely in memory.""" tasks = [] timeout = aiohttp.ClientTimeout(total=60) @@ -63,10 +70,9 @@ async def download_package_index_parallel(mirror, arch, suites): async with aiohttp.ClientSession(timeout=timeout) as session: for suite in suites: for component in ["main", "universe"]: - url = f"{mirror}/dists/{suite}/{component}/binary-{arch}/Packages.gz" - tasks.append(fetch_and_decompress(session, url)) + tasks.append(fetch_and_decompress(session, mirror, arch, suite, component, check_sig, keyring)) - results = await asyncio.gather(*tasks, return_exceptions=True) + results = await asyncio.gather(*tasks) merged_content = "" for result in results: @@ -77,20 +83,71 @@ async def download_package_index_parallel(mirror, arch, suites): return merged_content -async def fetch_and_decompress(session, url): +async def fetch_and_decompress(session, mirror, arch, suite, component, check_sig, keyring): """Fetch and decompress the Packages.gz file.""" - try: - async with session.get(url) as response: - if response.status == 200: - compressed_data = await response.read() - decompressed_data = gzip.decompress(compressed_data).decode('utf-8') - print(f"Downloaded index: {url}") - return decompressed_data - else: - print(f"Skipped index: {url} (doesn't exist)") - return None - except Exception as e: - print(f"Error fetching {url}: {e}") + + path = f"{component}/binary-{arch}/Packages.gz" + url = f"{mirror}/dists/{suite}/{path}" + + async with session.get(url) as response: + if response.status == 200: + compressed_data = await response.read() + decompressed_data = gzip.decompress(compressed_data).decode('utf-8') + print(f"Downloaded index: {url}") + + if check_sig: + # Verify the package index against the sha256 recorded in the Release file + release_file_content = await fetch_release_file(session, mirror, suite, keyring) + packages_sha = parse_release_file(release_file_content, path) + + sha256 = hashlib.sha256(compressed_data).hexdigest() + if sha256 != packages_sha: + raise Exception(f"SHA256 mismatch for {path}: expected {packages_sha}, got {sha256}") + print(f"Checksum verified for {path}") + + return decompressed_data + else: + print(f"Skipped index: {url} (doesn't exist)") + return None + +async def fetch_release_file(session, mirror, suite, keyring): + """Fetch Release and Release.gpg files and verify the signature.""" + + release_url = f"{mirror}/dists/{suite}/Release" + release_gpg_url = f"{mirror}/dists/{suite}/Release.gpg" + + with tempfile.NamedTemporaryFile() as release_file, tempfile.NamedTemporaryFile() as release_gpg_file: + await download_file(session, release_url, release_file.name) + await download_file(session, release_gpg_url, release_gpg_file.name) + + print("Verifying signature of Release with Release.gpg.") + verify_command = ["gpg"] + if keyring: + verify_command += ["--keyring", keyring] + verify_command += ["--verify", release_gpg_file.name, release_file.name] + result = subprocess.run(verify_command, stdout=subprocess.PIPE, stderr=subprocess.PIPE) + + if result.returncode != 0: + raise Exception(f"Signature verification failed: {result.stderr.decode('utf-8')}") + + print("Signature verified successfully.") + + with open(release_file.name) as f: + return f.read() + +def parse_release_file(content, path): + """Parses the Release file and returns sha256 checksum of the specified path.""" + + # data looks like this: + # + matches = re.findall(r'^ (\S*) +(\S*) +(\S*)$', content, re.MULTILINE) + + for entry in matches: + # the file has both md5 and sha256 checksums, we want sha256 which has a length of 64 + if entry[2] == path and len(entry[0]) == 64: + return entry[0] + + raise Exception(f"Could not find checksum for {path} in Release file.") def parse_debian_version(version): """Parse a Debian package version into epoch, upstream version, and revision.""" @@ -171,13 +228,15 @@ def parse_package_index(content): filename = fields.get("Filename") depends = fields.get("Depends") provides = fields.get("Provides", None) + sha256 = fields.get("SHA256") # Only update if package_name is not in packages or if the new version is higher if package_name not in packages or compare_debian_versions(version, packages[package_name]["Version"]) > 0: packages[package_name] = { "Version": version, "Filename": filename, - "Depends": depends + "Depends": depends, + "SHA256": sha256 } # Update aliases if package provides any alternatives @@ -233,7 +292,7 @@ def extract_deb_file(deb_file, tmp_dir, extract_dir, ar_tool): os.makedirs(extract_dir, exist_ok=True) with tempfile.TemporaryDirectory(dir=tmp_dir) as tmp_subdir: - result = subprocess.run(f"{ar_tool} t {os.path.abspath(deb_file)}", cwd=tmp_subdir, check=True, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) + result = subprocess.run([ar_tool, "t", os.path.abspath(deb_file)], cwd=tmp_subdir, check=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) tar_filename = None for line in result.stdout.decode().splitlines(): @@ -247,7 +306,8 @@ def extract_deb_file(deb_file, tmp_dir, extract_dir, ar_tool): tar_file_path = os.path.join(tmp_subdir, tar_filename) print(f"Extracting {tar_filename} from {deb_file}..") - subprocess.run(f"{ar_tool} p {os.path.abspath(deb_file)} {tar_filename} > {tar_file_path}", check=True, shell=True) + with open(tar_file_path, "wb") as outfile: + subprocess.run([ar_tool, "p", os.path.abspath(deb_file), tar_filename], check=True, stdout=outfile, stderr=subprocess.PIPE) file_extension = os.path.splitext(tar_file_path)[1].lower() @@ -268,7 +328,7 @@ def extract_deb_file(deb_file, tmp_dir, extract_dir, ar_tool): raise ValueError(f"Unsupported compression format: {file_extension}") with tarfile.open(tar_file_path, mode) as tar: - tar.extractall(path=extract_dir, filter='fully_trusted') + tar.extractall(path=extract_dir, filter='tar') def finalize_setup(rootfsdir): lib_dir = os.path.join(rootfsdir, 'lib') @@ -295,24 +355,17 @@ def finalize_setup(rootfsdir): if __name__ == "__main__": parser = argparse.ArgumentParser(description="Generate rootfs for .NET runtime on Debian-like OS") - parser.add_argument("--distro", required=False, help="Distro name (e.g., debian, ubuntu, etc.)") parser.add_argument("--arch", required=True, help="Architecture (e.g., amd64, loong64, etc.)") parser.add_argument("--rootfsdir", required=True, help="Destination directory.") parser.add_argument('--suite', required=True, action='append', help='Specify one or more repository suites to collect index data.') - parser.add_argument("--mirror", required=False, help="Mirror (e.g., http://ftp.debian.org/debian-ports etc.)") + parser.add_argument("--mirror", required=True, help="Mirror (e.g., http://ftp.debian.org/debian-ports etc.)") parser.add_argument("--artool", required=False, default="ar", help="ar tool to extract debs (e.g., ar, llvm-ar etc.)") + parser.add_argument("--force-check-gpg", required=False, action='store_true', help="Verify the packages against signatures in Release file.") + parser.add_argument("--keyring", required=False, default='', help="Keyring file to check signature of Release file.") parser.add_argument("packages", nargs="+", help="List of package names to be installed.") args = parser.parse_args() - if args.mirror is None: - if args.distro == "ubuntu": - args.mirror = "http://archive.ubuntu.com/ubuntu" if args.arch in ["amd64", "i386"] else "http://ports.ubuntu.com/ubuntu-ports" - elif args.distro == "debian": - args.mirror = "http://ftp.debian.org/debian-ports" - else: - raise Exception("Unsupported distro") - DESIRED_PACKAGES = args.packages + [ # base packages "dpkg", "busybox", @@ -322,9 +375,16 @@ def finalize_setup(rootfsdir): "debianutils" ] - print(f"Creating rootfs. rootfsdir: {args.rootfsdir}, distro: {args.distro}, arch: {args.arch}, suites: {args.suite}, mirror: {args.mirror}") + print(f"Creating rootfs. rootfsdir: {args.rootfsdir}, arch: {args.arch}, suites: {args.suite}, mirror: {args.mirror}") + + check_sig = args.force_check_gpg + if check_sig and not args.keyring: + print("ERROR: --force-check-gpg requires --keyring to specify a keyring file for signature verification.") + print("Install the appropriate keyring package (e.g., debian-ports-archive-keyring, ubuntu-archive-keyring)") + print("or pass --skipsigcheck to build-rootfs.sh to disable signature checking.") + sys.exit(1) - package_index_content = asyncio.run(download_package_index_parallel(args.mirror, args.arch, args.suite)) + package_index_content = asyncio.run(download_package_index_parallel(args.mirror, args.arch, args.suite, check_sig, args.keyring)) packages_info, aliases = parse_package_index(package_index_content) diff --git a/global.json b/global.json index 72dd059a0a56..a050c89b4e5d 100644 --- a/global.json +++ b/global.json @@ -11,6 +11,6 @@ "dotnet": "11.0.100-preview.5.26263.112" }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26263.112" + "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26264.105" } } From 05d50b392d9d75612fc98ab9a1dd90598106b542 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Fri, 15 May 2026 02:02:49 +0000 Subject: [PATCH 10/54] Re-generate global.json for PR #25379: [net11.0] Update dependencies from dotnet/dotnet --- global.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/global.json b/global.json index a050c89b4e5d..9e94d7249d03 100644 --- a/global.json +++ b/global.json @@ -1,6 +1,6 @@ { "sdk": { - "version": "11.0.100-preview.5.26263.112", + "version": "11.0.100-preview.5.26264.105", "paths": [ "builds/downloads/dotnet", "$host$" @@ -8,7 +8,7 @@ "errorMessage": "The .NET SDK could not be found, please run 'make dotnet -C builds'." }, "tools": { - "dotnet": "11.0.100-preview.5.26263.112" + "dotnet": "11.0.100-preview.5.26264.105" }, "msbuild-sdks": { "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26264.105" From cccac6da275eeaeb58e9c3815b444155545443e7 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Sat, 16 May 2026 02:01:57 +0000 Subject: [PATCH 11/54] Update dependencies from https://github.com/dotnet/dotnet build 20260515.16 On relative base path root Microsoft.NET.Runtime.MonoTargets.Sdk , Microsoft.NET.ILLink , Microsoft.NET.ILLink.Tasks , Microsoft.NETCore.App.Ref From Version 11.0.0-preview.5.26256.105 -> To Version 11.0.0-preview.5.26265.116 Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.SharedFramework.Sdk From Version 11.0.0-beta.26256.105 -> To Version 11.0.0-beta.26265.116 Microsoft.DotNet.Cecil From Version 0.11.5-preview.26256.105 -> To Version 0.11.5-preview.26265.116 Microsoft.NET.Sdk , Microsoft.TemplateEngine.Authoring.Tasks From Version 11.0.100-preview.5.26256.105 -> To Version 11.0.100-preview.5.26265.116 --- eng/Version.Details.props | 20 ++++++++++---------- eng/Version.Details.xml | 40 +++++++++++++++++++-------------------- global.json | 2 +- 3 files changed, 31 insertions(+), 31 deletions(-) diff --git a/eng/Version.Details.props b/eng/Version.Details.props index da6a17c3e8c6..4e36897d3b45 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -6,16 +6,16 @@ This file should be imported by eng/Versions.props - 11.0.0-beta.26264.105 - 11.0.0-beta.26264.105 - 0.11.5-preview.26264.105 - 11.0.0-beta.26264.105 - 11.0.0-preview.5.26264.105 - 11.0.0-preview.5.26264.105 - 11.0.0-preview.5.26264.105 - 11.0.100-preview.5.26264.105 - 11.0.0-preview.5.26264.105 - 11.0.100-preview.5.26264.105 + 11.0.0-beta.26265.116 + 11.0.0-beta.26265.116 + 0.11.5-preview.26265.116 + 11.0.0-beta.26265.116 + 11.0.0-preview.5.26265.116 + 11.0.0-preview.5.26265.116 + 11.0.0-preview.5.26265.116 + 11.0.100-preview.5.26265.116 + 11.0.0-preview.5.26265.116 + 11.0.100-preview.5.26265.116 26.0.11017 26.4.10261 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index b50d23ec0bbb..1edadf0cf860 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,29 +1,29 @@ - + https://github.com/dotnet/dotnet - 008122261807c899eedca718a431fb5b7a07b8f2 + 3e9fc624ad2776475510f024f8f662828f4cb2a6 - + https://github.com/dotnet/dotnet - 008122261807c899eedca718a431fb5b7a07b8f2 + 3e9fc624ad2776475510f024f8f662828f4cb2a6 - + https://github.com/dotnet/dotnet - 008122261807c899eedca718a431fb5b7a07b8f2 + 3e9fc624ad2776475510f024f8f662828f4cb2a6 - + https://github.com/dotnet/dotnet - 008122261807c899eedca718a431fb5b7a07b8f2 + 3e9fc624ad2776475510f024f8f662828f4cb2a6 - + https://github.com/dotnet/dotnet - 008122261807c899eedca718a431fb5b7a07b8f2 + 3e9fc624ad2776475510f024f8f662828f4cb2a6 - + https://github.com/dotnet/dotnet - 008122261807c899eedca718a431fb5b7a07b8f2 + 3e9fc624ad2776475510f024f8f662828f4cb2a6 @@ -61,25 +61,25 @@ - + https://github.com/dotnet/dotnet - 008122261807c899eedca718a431fb5b7a07b8f2 + 3e9fc624ad2776475510f024f8f662828f4cb2a6 - + https://github.com/dotnet/dotnet - 008122261807c899eedca718a431fb5b7a07b8f2 + 3e9fc624ad2776475510f024f8f662828f4cb2a6 - + https://github.com/dotnet/dotnet - 008122261807c899eedca718a431fb5b7a07b8f2 + 3e9fc624ad2776475510f024f8f662828f4cb2a6 https://github.com/dotnet/xharness 866707736d49c2323628744716cda2475b3af9ee - + https://github.com/dotnet/dotnet - 008122261807c899eedca718a431fb5b7a07b8f2 + 3e9fc624ad2776475510f024f8f662828f4cb2a6 diff --git a/global.json b/global.json index 9e94d7249d03..4bbc8412219f 100644 --- a/global.json +++ b/global.json @@ -11,6 +11,6 @@ "dotnet": "11.0.100-preview.5.26264.105" }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26264.105" + "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26265.116" } } From e6b803c7f2ba68a0a5fbe93574f1cbc85adc895c Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Sat, 16 May 2026 02:02:47 +0000 Subject: [PATCH 12/54] Re-generate global.json for PR #25379: [net11.0] Update dependencies from dotnet/dotnet --- global.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/global.json b/global.json index 4bbc8412219f..6f208182b8fa 100644 --- a/global.json +++ b/global.json @@ -1,6 +1,6 @@ { "sdk": { - "version": "11.0.100-preview.5.26264.105", + "version": "11.0.100-preview.5.26265.116", "paths": [ "builds/downloads/dotnet", "$host$" @@ -8,7 +8,7 @@ "errorMessage": "The .NET SDK could not be found, please run 'make dotnet -C builds'." }, "tools": { - "dotnet": "11.0.100-preview.5.26264.105" + "dotnet": "11.0.100-preview.5.26265.116" }, "msbuild-sdks": { "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26265.116" From d8f3f5adecf7f27cc06491250c9ddc0a1d3c8348 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Sun, 17 May 2026 02:01:43 +0000 Subject: [PATCH 13/54] Update dependencies from https://github.com/dotnet/dotnet build 20260516.3 On relative base path root Microsoft.NET.Runtime.MonoTargets.Sdk , Microsoft.NET.ILLink , Microsoft.NET.ILLink.Tasks , Microsoft.NETCore.App.Ref From Version 11.0.0-preview.5.26256.105 -> To Version 11.0.0-preview.5.26266.103 Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.SharedFramework.Sdk From Version 11.0.0-beta.26256.105 -> To Version 11.0.0-beta.26266.103 Microsoft.DotNet.Cecil From Version 0.11.5-preview.26256.105 -> To Version 0.11.5-preview.26266.103 Microsoft.NET.Sdk , Microsoft.TemplateEngine.Authoring.Tasks From Version 11.0.100-preview.5.26256.105 -> To Version 11.0.100-preview.5.26266.103 --- eng/Version.Details.props | 20 ++++++++++---------- eng/Version.Details.xml | 40 +++++++++++++++++++-------------------- global.json | 2 +- 3 files changed, 31 insertions(+), 31 deletions(-) diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 4e36897d3b45..45fac3277d7b 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -6,16 +6,16 @@ This file should be imported by eng/Versions.props - 11.0.0-beta.26265.116 - 11.0.0-beta.26265.116 - 0.11.5-preview.26265.116 - 11.0.0-beta.26265.116 - 11.0.0-preview.5.26265.116 - 11.0.0-preview.5.26265.116 - 11.0.0-preview.5.26265.116 - 11.0.100-preview.5.26265.116 - 11.0.0-preview.5.26265.116 - 11.0.100-preview.5.26265.116 + 11.0.0-beta.26266.103 + 11.0.0-beta.26266.103 + 0.11.5-preview.26266.103 + 11.0.0-beta.26266.103 + 11.0.0-preview.5.26266.103 + 11.0.0-preview.5.26266.103 + 11.0.0-preview.5.26266.103 + 11.0.100-preview.5.26266.103 + 11.0.0-preview.5.26266.103 + 11.0.100-preview.5.26266.103 26.0.11017 26.4.10261 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 1edadf0cf860..016bdc2d259e 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,29 +1,29 @@ - + https://github.com/dotnet/dotnet - 3e9fc624ad2776475510f024f8f662828f4cb2a6 + 3a62cc842c76761d4742f1d103892f19fd06dd3a - + https://github.com/dotnet/dotnet - 3e9fc624ad2776475510f024f8f662828f4cb2a6 + 3a62cc842c76761d4742f1d103892f19fd06dd3a - + https://github.com/dotnet/dotnet - 3e9fc624ad2776475510f024f8f662828f4cb2a6 + 3a62cc842c76761d4742f1d103892f19fd06dd3a - + https://github.com/dotnet/dotnet - 3e9fc624ad2776475510f024f8f662828f4cb2a6 + 3a62cc842c76761d4742f1d103892f19fd06dd3a - + https://github.com/dotnet/dotnet - 3e9fc624ad2776475510f024f8f662828f4cb2a6 + 3a62cc842c76761d4742f1d103892f19fd06dd3a - + https://github.com/dotnet/dotnet - 3e9fc624ad2776475510f024f8f662828f4cb2a6 + 3a62cc842c76761d4742f1d103892f19fd06dd3a @@ -61,25 +61,25 @@ - + https://github.com/dotnet/dotnet - 3e9fc624ad2776475510f024f8f662828f4cb2a6 + 3a62cc842c76761d4742f1d103892f19fd06dd3a - + https://github.com/dotnet/dotnet - 3e9fc624ad2776475510f024f8f662828f4cb2a6 + 3a62cc842c76761d4742f1d103892f19fd06dd3a - + https://github.com/dotnet/dotnet - 3e9fc624ad2776475510f024f8f662828f4cb2a6 + 3a62cc842c76761d4742f1d103892f19fd06dd3a https://github.com/dotnet/xharness 866707736d49c2323628744716cda2475b3af9ee - + https://github.com/dotnet/dotnet - 3e9fc624ad2776475510f024f8f662828f4cb2a6 + 3a62cc842c76761d4742f1d103892f19fd06dd3a diff --git a/global.json b/global.json index 6f208182b8fa..f8b8fe50d707 100644 --- a/global.json +++ b/global.json @@ -11,6 +11,6 @@ "dotnet": "11.0.100-preview.5.26265.116" }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26265.116" + "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26266.103" } } From dfa5bbcc079cce8e5a5853303736964b0d37ed83 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Sun, 17 May 2026 02:02:28 +0000 Subject: [PATCH 14/54] Re-generate global.json for PR #25379: [net11.0] Update dependencies from dotnet/dotnet --- global.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/global.json b/global.json index f8b8fe50d707..8e26b42e5316 100644 --- a/global.json +++ b/global.json @@ -1,6 +1,6 @@ { "sdk": { - "version": "11.0.100-preview.5.26265.116", + "version": "11.0.100-preview.5.26266.103", "paths": [ "builds/downloads/dotnet", "$host$" @@ -8,7 +8,7 @@ "errorMessage": "The .NET SDK could not be found, please run 'make dotnet -C builds'." }, "tools": { - "dotnet": "11.0.100-preview.5.26265.116" + "dotnet": "11.0.100-preview.5.26266.103" }, "msbuild-sdks": { "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26266.103" From 602b2bdb9a42683631065c1454872ba436dff900 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Tue, 19 May 2026 02:02:20 +0000 Subject: [PATCH 15/54] Update dependencies from https://github.com/dotnet/dotnet build 20260518.12 On relative base path root Microsoft.NET.Runtime.MonoTargets.Sdk , Microsoft.NET.ILLink , Microsoft.NET.ILLink.Tasks , Microsoft.NETCore.App.Ref From Version 11.0.0-preview.5.26256.105 -> To Version 11.0.0-preview.5.26268.112 Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.SharedFramework.Sdk From Version 11.0.0-beta.26256.105 -> To Version 11.0.0-beta.26268.112 Microsoft.DotNet.Cecil From Version 0.11.5-preview.26256.105 -> To Version 0.11.5-preview.26268.112 Microsoft.NET.Sdk , Microsoft.TemplateEngine.Authoring.Tasks From Version 11.0.100-preview.5.26256.105 -> To Version 11.0.100-preview.5.26268.112 --- eng/Version.Details.props | 20 ++++++++++---------- eng/Version.Details.xml | 40 +++++++++++++++++++-------------------- global.json | 2 +- 3 files changed, 31 insertions(+), 31 deletions(-) diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 45fac3277d7b..7cc683c02a1b 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -6,16 +6,16 @@ This file should be imported by eng/Versions.props - 11.0.0-beta.26266.103 - 11.0.0-beta.26266.103 - 0.11.5-preview.26266.103 - 11.0.0-beta.26266.103 - 11.0.0-preview.5.26266.103 - 11.0.0-preview.5.26266.103 - 11.0.0-preview.5.26266.103 - 11.0.100-preview.5.26266.103 - 11.0.0-preview.5.26266.103 - 11.0.100-preview.5.26266.103 + 11.0.0-beta.26268.112 + 11.0.0-beta.26268.112 + 0.11.5-preview.26268.112 + 11.0.0-beta.26268.112 + 11.0.0-preview.5.26268.112 + 11.0.0-preview.5.26268.112 + 11.0.0-preview.5.26268.112 + 11.0.100-preview.5.26268.112 + 11.0.0-preview.5.26268.112 + 11.0.100-preview.5.26268.112 26.0.11017 26.4.10261 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 016bdc2d259e..1e0730c4507d 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,29 +1,29 @@ - + https://github.com/dotnet/dotnet - 3a62cc842c76761d4742f1d103892f19fd06dd3a + c5d1f734662eb718e7431a4e679a29e47c380f04 - + https://github.com/dotnet/dotnet - 3a62cc842c76761d4742f1d103892f19fd06dd3a + c5d1f734662eb718e7431a4e679a29e47c380f04 - + https://github.com/dotnet/dotnet - 3a62cc842c76761d4742f1d103892f19fd06dd3a + c5d1f734662eb718e7431a4e679a29e47c380f04 - + https://github.com/dotnet/dotnet - 3a62cc842c76761d4742f1d103892f19fd06dd3a + c5d1f734662eb718e7431a4e679a29e47c380f04 - + https://github.com/dotnet/dotnet - 3a62cc842c76761d4742f1d103892f19fd06dd3a + c5d1f734662eb718e7431a4e679a29e47c380f04 - + https://github.com/dotnet/dotnet - 3a62cc842c76761d4742f1d103892f19fd06dd3a + c5d1f734662eb718e7431a4e679a29e47c380f04 @@ -61,25 +61,25 @@ - + https://github.com/dotnet/dotnet - 3a62cc842c76761d4742f1d103892f19fd06dd3a + c5d1f734662eb718e7431a4e679a29e47c380f04 - + https://github.com/dotnet/dotnet - 3a62cc842c76761d4742f1d103892f19fd06dd3a + c5d1f734662eb718e7431a4e679a29e47c380f04 - + https://github.com/dotnet/dotnet - 3a62cc842c76761d4742f1d103892f19fd06dd3a + c5d1f734662eb718e7431a4e679a29e47c380f04 https://github.com/dotnet/xharness 866707736d49c2323628744716cda2475b3af9ee - + https://github.com/dotnet/dotnet - 3a62cc842c76761d4742f1d103892f19fd06dd3a + c5d1f734662eb718e7431a4e679a29e47c380f04 diff --git a/global.json b/global.json index 8e26b42e5316..10c0e9393442 100644 --- a/global.json +++ b/global.json @@ -11,6 +11,6 @@ "dotnet": "11.0.100-preview.5.26266.103" }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26266.103" + "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26268.112" } } From 52896c3a8dfc8af93e00ba3d834182d7be29ab7b Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Tue, 19 May 2026 02:03:06 +0000 Subject: [PATCH 16/54] Re-generate global.json for PR #25379: [net11.0] Update dependencies from dotnet/dotnet --- global.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/global.json b/global.json index 10c0e9393442..2e53cbf36951 100644 --- a/global.json +++ b/global.json @@ -1,6 +1,6 @@ { "sdk": { - "version": "11.0.100-preview.5.26266.103", + "version": "11.0.100-preview.5.26268.112", "paths": [ "builds/downloads/dotnet", "$host$" @@ -8,7 +8,7 @@ "errorMessage": "The .NET SDK could not be found, please run 'make dotnet -C builds'." }, "tools": { - "dotnet": "11.0.100-preview.5.26266.103" + "dotnet": "11.0.100-preview.5.26268.112" }, "msbuild-sdks": { "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26268.112" From b7939ca4384350c189ac8fcce346e8f750884faf Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Wed, 20 May 2026 02:02:34 +0000 Subject: [PATCH 17/54] Update dependencies from https://github.com/dotnet/dotnet build 20260519.8 On relative base path root Microsoft.NET.Runtime.MonoTargets.Sdk , Microsoft.NET.ILLink , Microsoft.NET.ILLink.Tasks , Microsoft.NETCore.App.Ref From Version 11.0.0-preview.5.26256.105 -> To Version 11.0.0-preview.5.26269.108 Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.SharedFramework.Sdk From Version 11.0.0-beta.26256.105 -> To Version 11.0.0-beta.26269.108 Microsoft.DotNet.Cecil From Version 0.11.5-preview.26256.105 -> To Version 0.11.5-preview.26269.108 Microsoft.NET.Sdk , Microsoft.TemplateEngine.Authoring.Tasks From Version 11.0.100-preview.5.26256.105 -> To Version 11.0.100-preview.5.26269.108 --- eng/Version.Details.props | 20 ++++++++++---------- eng/Version.Details.xml | 40 +++++++++++++++++++-------------------- global.json | 2 +- 3 files changed, 31 insertions(+), 31 deletions(-) diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 7cc683c02a1b..a4bf9e4d5f17 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -6,16 +6,16 @@ This file should be imported by eng/Versions.props - 11.0.0-beta.26268.112 - 11.0.0-beta.26268.112 - 0.11.5-preview.26268.112 - 11.0.0-beta.26268.112 - 11.0.0-preview.5.26268.112 - 11.0.0-preview.5.26268.112 - 11.0.0-preview.5.26268.112 - 11.0.100-preview.5.26268.112 - 11.0.0-preview.5.26268.112 - 11.0.100-preview.5.26268.112 + 11.0.0-beta.26269.108 + 11.0.0-beta.26269.108 + 0.11.5-preview.26269.108 + 11.0.0-beta.26269.108 + 11.0.0-preview.5.26269.108 + 11.0.0-preview.5.26269.108 + 11.0.0-preview.5.26269.108 + 11.0.100-preview.5.26269.108 + 11.0.0-preview.5.26269.108 + 11.0.100-preview.5.26269.108 26.0.11017 26.4.10261 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 1e0730c4507d..b1afbe3c6f00 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,29 +1,29 @@ - + https://github.com/dotnet/dotnet - c5d1f734662eb718e7431a4e679a29e47c380f04 + 48eb45384d29585a3476284ae7ccac857f21a2a3 - + https://github.com/dotnet/dotnet - c5d1f734662eb718e7431a4e679a29e47c380f04 + 48eb45384d29585a3476284ae7ccac857f21a2a3 - + https://github.com/dotnet/dotnet - c5d1f734662eb718e7431a4e679a29e47c380f04 + 48eb45384d29585a3476284ae7ccac857f21a2a3 - + https://github.com/dotnet/dotnet - c5d1f734662eb718e7431a4e679a29e47c380f04 + 48eb45384d29585a3476284ae7ccac857f21a2a3 - + https://github.com/dotnet/dotnet - c5d1f734662eb718e7431a4e679a29e47c380f04 + 48eb45384d29585a3476284ae7ccac857f21a2a3 - + https://github.com/dotnet/dotnet - c5d1f734662eb718e7431a4e679a29e47c380f04 + 48eb45384d29585a3476284ae7ccac857f21a2a3 @@ -61,25 +61,25 @@ - + https://github.com/dotnet/dotnet - c5d1f734662eb718e7431a4e679a29e47c380f04 + 48eb45384d29585a3476284ae7ccac857f21a2a3 - + https://github.com/dotnet/dotnet - c5d1f734662eb718e7431a4e679a29e47c380f04 + 48eb45384d29585a3476284ae7ccac857f21a2a3 - + https://github.com/dotnet/dotnet - c5d1f734662eb718e7431a4e679a29e47c380f04 + 48eb45384d29585a3476284ae7ccac857f21a2a3 https://github.com/dotnet/xharness 866707736d49c2323628744716cda2475b3af9ee - + https://github.com/dotnet/dotnet - c5d1f734662eb718e7431a4e679a29e47c380f04 + 48eb45384d29585a3476284ae7ccac857f21a2a3 diff --git a/global.json b/global.json index 2e53cbf36951..745403f72cbc 100644 --- a/global.json +++ b/global.json @@ -11,6 +11,6 @@ "dotnet": "11.0.100-preview.5.26268.112" }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26268.112" + "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26269.108" } } From a10d2183e68dba2a13f8f2cd9d3dfbb13524e08c Mon Sep 17 00:00:00 2001 From: Rolf Bjarne Kvinge Date: Wed, 20 May 2026 09:56:36 +0200 Subject: [PATCH 18/54] Update global.json. --- global.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/global.json b/global.json index 745403f72cbc..f8f726416221 100644 --- a/global.json +++ b/global.json @@ -1,6 +1,6 @@ { "sdk": { - "version": "11.0.100-preview.5.26268.112", + "version": "11.0.100-preview.5.26269.108", "paths": [ "builds/downloads/dotnet", "$host$" @@ -8,7 +8,7 @@ "errorMessage": "The .NET SDK could not be found, please run 'make dotnet -C builds'." }, "tools": { - "dotnet": "11.0.100-preview.5.26268.112" + "dotnet": "11.0.100-preview.5.26269.108" }, "msbuild-sdks": { "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26269.108" From 79575ad461694d1f05e7b3ecff6cae48af6e6e79 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Thu, 21 May 2026 02:02:35 +0000 Subject: [PATCH 19/54] Update dependencies from https://github.com/dotnet/dotnet build 20260519.19 On relative base path root Microsoft.NET.Runtime.MonoTargets.Sdk , Microsoft.NET.ILLink , Microsoft.NET.ILLink.Tasks , Microsoft.NETCore.App.Ref From Version 11.0.0-preview.5.26256.105 -> To Version 11.0.0-preview.5.26269.119 Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.SharedFramework.Sdk From Version 11.0.0-beta.26256.105 -> To Version 11.0.0-beta.26269.119 Microsoft.DotNet.Cecil From Version 0.11.5-preview.26256.105 -> To Version 0.11.5-preview.26269.119 Microsoft.NET.Sdk , Microsoft.TemplateEngine.Authoring.Tasks From Version 11.0.100-preview.5.26256.105 -> To Version 11.0.100-preview.5.26269.119 --- eng/Version.Details.props | 20 ++++++++++---------- eng/Version.Details.xml | 40 +++++++++++++++++++-------------------- global.json | 2 +- 3 files changed, 31 insertions(+), 31 deletions(-) diff --git a/eng/Version.Details.props b/eng/Version.Details.props index a4bf9e4d5f17..3ef36b5ff7ef 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -6,16 +6,16 @@ This file should be imported by eng/Versions.props - 11.0.0-beta.26269.108 - 11.0.0-beta.26269.108 - 0.11.5-preview.26269.108 - 11.0.0-beta.26269.108 - 11.0.0-preview.5.26269.108 - 11.0.0-preview.5.26269.108 - 11.0.0-preview.5.26269.108 - 11.0.100-preview.5.26269.108 - 11.0.0-preview.5.26269.108 - 11.0.100-preview.5.26269.108 + 11.0.0-beta.26269.119 + 11.0.0-beta.26269.119 + 0.11.5-preview.26269.119 + 11.0.0-beta.26269.119 + 11.0.0-preview.5.26269.119 + 11.0.0-preview.5.26269.119 + 11.0.0-preview.5.26269.119 + 11.0.100-preview.5.26269.119 + 11.0.0-preview.5.26269.119 + 11.0.100-preview.5.26269.119 26.0.11017 26.4.10261 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index b1afbe3c6f00..fee7131f41e8 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,29 +1,29 @@ - + https://github.com/dotnet/dotnet - 48eb45384d29585a3476284ae7ccac857f21a2a3 + 85afae000275066ce60df20227f736154bf172ab - + https://github.com/dotnet/dotnet - 48eb45384d29585a3476284ae7ccac857f21a2a3 + 85afae000275066ce60df20227f736154bf172ab - + https://github.com/dotnet/dotnet - 48eb45384d29585a3476284ae7ccac857f21a2a3 + 85afae000275066ce60df20227f736154bf172ab - + https://github.com/dotnet/dotnet - 48eb45384d29585a3476284ae7ccac857f21a2a3 + 85afae000275066ce60df20227f736154bf172ab - + https://github.com/dotnet/dotnet - 48eb45384d29585a3476284ae7ccac857f21a2a3 + 85afae000275066ce60df20227f736154bf172ab - + https://github.com/dotnet/dotnet - 48eb45384d29585a3476284ae7ccac857f21a2a3 + 85afae000275066ce60df20227f736154bf172ab @@ -61,25 +61,25 @@ - + https://github.com/dotnet/dotnet - 48eb45384d29585a3476284ae7ccac857f21a2a3 + 85afae000275066ce60df20227f736154bf172ab - + https://github.com/dotnet/dotnet - 48eb45384d29585a3476284ae7ccac857f21a2a3 + 85afae000275066ce60df20227f736154bf172ab - + https://github.com/dotnet/dotnet - 48eb45384d29585a3476284ae7ccac857f21a2a3 + 85afae000275066ce60df20227f736154bf172ab https://github.com/dotnet/xharness 866707736d49c2323628744716cda2475b3af9ee - + https://github.com/dotnet/dotnet - 48eb45384d29585a3476284ae7ccac857f21a2a3 + 85afae000275066ce60df20227f736154bf172ab diff --git a/global.json b/global.json index f8f726416221..9911491423f6 100644 --- a/global.json +++ b/global.json @@ -11,6 +11,6 @@ "dotnet": "11.0.100-preview.5.26269.108" }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26269.108" + "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26269.119" } } From c3794be9a06be46f5cdfbf22161c48fa70e05e5a Mon Sep 17 00:00:00 2001 From: Rolf Bjarne Kvinge Date: Thu, 21 May 2026 08:51:27 +0200 Subject: [PATCH 20/54] Bump global.json. --- global.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/global.json b/global.json index 9911491423f6..f330cf169d60 100644 --- a/global.json +++ b/global.json @@ -1,6 +1,6 @@ { "sdk": { - "version": "11.0.100-preview.5.26269.108", + "version": "11.0.100-preview.5.26269.119", "paths": [ "builds/downloads/dotnet", "$host$" @@ -8,7 +8,7 @@ "errorMessage": "The .NET SDK could not be found, please run 'make dotnet -C builds'." }, "tools": { - "dotnet": "11.0.100-preview.5.26269.108" + "dotnet": "11.0.100-preview.5.26269.119" }, "msbuild-sdks": { "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26269.119" From ad000fe6b01401b1a89df4750de8b3f7f14522ea Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Sat, 23 May 2026 02:02:47 +0000 Subject: [PATCH 21/54] Update dependencies from https://github.com/dotnet/dotnet build 20260522.1 On relative base path root Microsoft.NET.Runtime.MonoTargets.Sdk , Microsoft.NET.ILLink , Microsoft.NET.ILLink.Tasks , Microsoft.NETCore.App.Ref From Version 11.0.0-preview.5.26256.105 -> To Version 11.0.0-preview.5.26272.101 Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.SharedFramework.Sdk From Version 11.0.0-beta.26256.105 -> To Version 11.0.0-beta.26272.101 Microsoft.DotNet.Cecil From Version 0.11.5-preview.26256.105 -> To Version 0.11.5-preview.26272.101 Microsoft.NET.Sdk , Microsoft.TemplateEngine.Authoring.Tasks From Version 11.0.100-preview.5.26256.105 -> To Version 11.0.100-preview.5.26272.101 --- NuGet.config | 3 --- eng/Version.Details.props | 20 ++++++++++---------- eng/Version.Details.xml | 40 +++++++++++++++++++-------------------- global.json | 2 +- 4 files changed, 31 insertions(+), 34 deletions(-) diff --git a/NuGet.config b/NuGet.config index 02af45349129..a37ee5395fb6 100644 --- a/NuGet.config +++ b/NuGet.config @@ -10,9 +10,6 @@ - - - diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 33ae364976eb..db28dc300f08 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -6,16 +6,16 @@ This file should be imported by eng/Versions.props - 11.0.0-beta.26269.119 - 11.0.0-beta.26269.119 - 0.11.5-preview.26269.119 - 11.0.0-beta.26269.119 - 11.0.0-preview.5.26269.119 - 11.0.0-preview.5.26269.119 - 11.0.0-preview.5.26269.119 - 11.0.100-preview.5.26269.119 - 11.0.0-preview.5.26269.119 - 11.0.100-preview.5.26269.119 + 11.0.0-beta.26272.101 + 11.0.0-beta.26272.101 + 0.11.5-preview.26272.101 + 11.0.0-beta.26272.101 + 11.0.0-preview.5.26272.101 + 11.0.0-preview.5.26272.101 + 11.0.0-preview.5.26272.101 + 11.0.100-preview.5.26272.101 + 11.0.0-preview.5.26272.101 + 11.0.100-preview.5.26272.101 26.0.11017 26.5.10280 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index b6a9db23e6d7..5a35a384e334 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,29 +1,29 @@ - + https://github.com/dotnet/dotnet - 85afae000275066ce60df20227f736154bf172ab + 6fa530d10e7077f6e8ba7620f668d46727fe955d - + https://github.com/dotnet/dotnet - 85afae000275066ce60df20227f736154bf172ab + 6fa530d10e7077f6e8ba7620f668d46727fe955d - + https://github.com/dotnet/dotnet - 85afae000275066ce60df20227f736154bf172ab + 6fa530d10e7077f6e8ba7620f668d46727fe955d - + https://github.com/dotnet/dotnet - 85afae000275066ce60df20227f736154bf172ab + 6fa530d10e7077f6e8ba7620f668d46727fe955d - + https://github.com/dotnet/dotnet - 85afae000275066ce60df20227f736154bf172ab + 6fa530d10e7077f6e8ba7620f668d46727fe955d - + https://github.com/dotnet/dotnet - 85afae000275066ce60df20227f736154bf172ab + 6fa530d10e7077f6e8ba7620f668d46727fe955d @@ -61,25 +61,25 @@ - + https://github.com/dotnet/dotnet - 85afae000275066ce60df20227f736154bf172ab + 6fa530d10e7077f6e8ba7620f668d46727fe955d - + https://github.com/dotnet/dotnet - 85afae000275066ce60df20227f736154bf172ab + 6fa530d10e7077f6e8ba7620f668d46727fe955d - + https://github.com/dotnet/dotnet - 85afae000275066ce60df20227f736154bf172ab + 6fa530d10e7077f6e8ba7620f668d46727fe955d https://github.com/dotnet/xharness 866707736d49c2323628744716cda2475b3af9ee - + https://github.com/dotnet/dotnet - 85afae000275066ce60df20227f736154bf172ab + 6fa530d10e7077f6e8ba7620f668d46727fe955d diff --git a/global.json b/global.json index f330cf169d60..99bd8b61e972 100644 --- a/global.json +++ b/global.json @@ -11,6 +11,6 @@ "dotnet": "11.0.100-preview.5.26269.119" }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26269.119" + "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26272.101" } } From 6973c8251a40154c2f93d1295fc51e8ccbd22431 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Sat, 23 May 2026 02:03:35 +0000 Subject: [PATCH 22/54] Re-generate global.json for PR #25379: [net11.0] Update dependencies from dotnet/dotnet --- global.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/global.json b/global.json index 99bd8b61e972..cffffee4573c 100644 --- a/global.json +++ b/global.json @@ -1,6 +1,6 @@ { "sdk": { - "version": "11.0.100-preview.5.26269.119", + "version": "11.0.100-preview.5.26272.101", "paths": [ "builds/downloads/dotnet", "$host$" @@ -8,7 +8,7 @@ "errorMessage": "The .NET SDK could not be found, please run 'make dotnet -C builds'." }, "tools": { - "dotnet": "11.0.100-preview.5.26269.119" + "dotnet": "11.0.100-preview.5.26272.101" }, "msbuild-sdks": { "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26272.101" From bb57913a9215be570118c6e52e8482cfcce1877b Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Sun, 24 May 2026 02:02:08 +0000 Subject: [PATCH 23/54] Update dependencies from https://github.com/dotnet/dotnet build 20260522.12 On relative base path root Microsoft.NET.Runtime.MonoTargets.Sdk , Microsoft.NET.ILLink , Microsoft.NET.ILLink.Tasks , Microsoft.NETCore.App.Ref From Version 11.0.0-preview.5.26256.105 -> To Version 11.0.0-preview.5.26272.112 Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.SharedFramework.Sdk From Version 11.0.0-beta.26256.105 -> To Version 11.0.0-beta.26272.112 Microsoft.DotNet.Cecil From Version 0.11.5-preview.26256.105 -> To Version 0.11.5-preview.26272.112 Microsoft.NET.Sdk , Microsoft.TemplateEngine.Authoring.Tasks From Version 11.0.100-preview.5.26256.105 -> To Version 11.0.100-preview.5.26272.112 --- eng/Version.Details.props | 20 ++++++++++---------- eng/Version.Details.xml | 40 +++++++++++++++++++-------------------- global.json | 2 +- 3 files changed, 31 insertions(+), 31 deletions(-) diff --git a/eng/Version.Details.props b/eng/Version.Details.props index db28dc300f08..067986c77661 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -6,16 +6,16 @@ This file should be imported by eng/Versions.props - 11.0.0-beta.26272.101 - 11.0.0-beta.26272.101 - 0.11.5-preview.26272.101 - 11.0.0-beta.26272.101 - 11.0.0-preview.5.26272.101 - 11.0.0-preview.5.26272.101 - 11.0.0-preview.5.26272.101 - 11.0.100-preview.5.26272.101 - 11.0.0-preview.5.26272.101 - 11.0.100-preview.5.26272.101 + 11.0.0-beta.26272.112 + 11.0.0-beta.26272.112 + 0.11.5-preview.26272.112 + 11.0.0-beta.26272.112 + 11.0.0-preview.5.26272.112 + 11.0.0-preview.5.26272.112 + 11.0.0-preview.5.26272.112 + 11.0.100-preview.5.26272.112 + 11.0.0-preview.5.26272.112 + 11.0.100-preview.5.26272.112 26.0.11017 26.5.10280 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 5a35a384e334..630cdaf10a78 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,29 +1,29 @@ - + https://github.com/dotnet/dotnet - 6fa530d10e7077f6e8ba7620f668d46727fe955d + 85ca690954a6f5e988d523dec249b57b84d1ad0d - + https://github.com/dotnet/dotnet - 6fa530d10e7077f6e8ba7620f668d46727fe955d + 85ca690954a6f5e988d523dec249b57b84d1ad0d - + https://github.com/dotnet/dotnet - 6fa530d10e7077f6e8ba7620f668d46727fe955d + 85ca690954a6f5e988d523dec249b57b84d1ad0d - + https://github.com/dotnet/dotnet - 6fa530d10e7077f6e8ba7620f668d46727fe955d + 85ca690954a6f5e988d523dec249b57b84d1ad0d - + https://github.com/dotnet/dotnet - 6fa530d10e7077f6e8ba7620f668d46727fe955d + 85ca690954a6f5e988d523dec249b57b84d1ad0d - + https://github.com/dotnet/dotnet - 6fa530d10e7077f6e8ba7620f668d46727fe955d + 85ca690954a6f5e988d523dec249b57b84d1ad0d @@ -61,25 +61,25 @@ - + https://github.com/dotnet/dotnet - 6fa530d10e7077f6e8ba7620f668d46727fe955d + 85ca690954a6f5e988d523dec249b57b84d1ad0d - + https://github.com/dotnet/dotnet - 6fa530d10e7077f6e8ba7620f668d46727fe955d + 85ca690954a6f5e988d523dec249b57b84d1ad0d - + https://github.com/dotnet/dotnet - 6fa530d10e7077f6e8ba7620f668d46727fe955d + 85ca690954a6f5e988d523dec249b57b84d1ad0d https://github.com/dotnet/xharness 866707736d49c2323628744716cda2475b3af9ee - + https://github.com/dotnet/dotnet - 6fa530d10e7077f6e8ba7620f668d46727fe955d + 85ca690954a6f5e988d523dec249b57b84d1ad0d diff --git a/global.json b/global.json index cffffee4573c..cdf311b31f01 100644 --- a/global.json +++ b/global.json @@ -11,6 +11,6 @@ "dotnet": "11.0.100-preview.5.26272.101" }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26272.101" + "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26272.112" } } From 28af61a4883746116c3ded0e1aab65760510dec2 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Sun, 24 May 2026 02:02:50 +0000 Subject: [PATCH 24/54] Re-generate global.json for PR #25379: [net11.0] Update dependencies from dotnet/dotnet --- global.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/global.json b/global.json index cdf311b31f01..890114a74893 100644 --- a/global.json +++ b/global.json @@ -1,6 +1,6 @@ { "sdk": { - "version": "11.0.100-preview.5.26272.101", + "version": "11.0.100-preview.5.26272.112", "paths": [ "builds/downloads/dotnet", "$host$" @@ -8,7 +8,7 @@ "errorMessage": "The .NET SDK could not be found, please run 'make dotnet -C builds'." }, "tools": { - "dotnet": "11.0.100-preview.5.26272.101" + "dotnet": "11.0.100-preview.5.26272.112" }, "msbuild-sdks": { "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26272.112" From d3a901f360c696f1d8b0bc6652f38c6e23a6b4c9 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Tue, 26 May 2026 02:02:36 +0000 Subject: [PATCH 25/54] Update dependencies from https://github.com/dotnet/dotnet build 20260525.1 On relative base path root Microsoft.NET.Runtime.MonoTargets.Sdk , Microsoft.NET.ILLink , Microsoft.NET.ILLink.Tasks , Microsoft.NETCore.App.Ref From Version 11.0.0-preview.5.26256.105 -> To Version 11.0.0-preview.5.26275.101 Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.SharedFramework.Sdk From Version 11.0.0-beta.26256.105 -> To Version 11.0.0-beta.26275.101 Microsoft.DotNet.Cecil From Version 0.11.5-preview.26256.105 -> To Version 0.11.5-preview.26275.101 Microsoft.NET.Sdk , Microsoft.TemplateEngine.Authoring.Tasks From Version 11.0.100-preview.5.26256.105 -> To Version 11.0.100-preview.5.26275.101 --- eng/Version.Details.props | 20 ++++++++++---------- eng/Version.Details.xml | 40 +++++++++++++++++++-------------------- global.json | 2 +- 3 files changed, 31 insertions(+), 31 deletions(-) diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 067986c77661..4a9abae84945 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -6,16 +6,16 @@ This file should be imported by eng/Versions.props - 11.0.0-beta.26272.112 - 11.0.0-beta.26272.112 - 0.11.5-preview.26272.112 - 11.0.0-beta.26272.112 - 11.0.0-preview.5.26272.112 - 11.0.0-preview.5.26272.112 - 11.0.0-preview.5.26272.112 - 11.0.100-preview.5.26272.112 - 11.0.0-preview.5.26272.112 - 11.0.100-preview.5.26272.112 + 11.0.0-beta.26275.101 + 11.0.0-beta.26275.101 + 0.11.5-preview.26275.101 + 11.0.0-beta.26275.101 + 11.0.0-preview.5.26275.101 + 11.0.0-preview.5.26275.101 + 11.0.0-preview.5.26275.101 + 11.0.100-preview.5.26275.101 + 11.0.0-preview.5.26275.101 + 11.0.100-preview.5.26275.101 26.0.11017 26.5.10280 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 630cdaf10a78..02ca0c85d2b4 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,29 +1,29 @@ - + https://github.com/dotnet/dotnet - 85ca690954a6f5e988d523dec249b57b84d1ad0d + c2bf1a1c93c92918d8c8f7a9f46e2f6f6d432401 - + https://github.com/dotnet/dotnet - 85ca690954a6f5e988d523dec249b57b84d1ad0d + c2bf1a1c93c92918d8c8f7a9f46e2f6f6d432401 - + https://github.com/dotnet/dotnet - 85ca690954a6f5e988d523dec249b57b84d1ad0d + c2bf1a1c93c92918d8c8f7a9f46e2f6f6d432401 - + https://github.com/dotnet/dotnet - 85ca690954a6f5e988d523dec249b57b84d1ad0d + c2bf1a1c93c92918d8c8f7a9f46e2f6f6d432401 - + https://github.com/dotnet/dotnet - 85ca690954a6f5e988d523dec249b57b84d1ad0d + c2bf1a1c93c92918d8c8f7a9f46e2f6f6d432401 - + https://github.com/dotnet/dotnet - 85ca690954a6f5e988d523dec249b57b84d1ad0d + c2bf1a1c93c92918d8c8f7a9f46e2f6f6d432401 @@ -61,25 +61,25 @@ - + https://github.com/dotnet/dotnet - 85ca690954a6f5e988d523dec249b57b84d1ad0d + c2bf1a1c93c92918d8c8f7a9f46e2f6f6d432401 - + https://github.com/dotnet/dotnet - 85ca690954a6f5e988d523dec249b57b84d1ad0d + c2bf1a1c93c92918d8c8f7a9f46e2f6f6d432401 - + https://github.com/dotnet/dotnet - 85ca690954a6f5e988d523dec249b57b84d1ad0d + c2bf1a1c93c92918d8c8f7a9f46e2f6f6d432401 https://github.com/dotnet/xharness 866707736d49c2323628744716cda2475b3af9ee - + https://github.com/dotnet/dotnet - 85ca690954a6f5e988d523dec249b57b84d1ad0d + c2bf1a1c93c92918d8c8f7a9f46e2f6f6d432401 diff --git a/global.json b/global.json index 890114a74893..e7fe4763cff0 100644 --- a/global.json +++ b/global.json @@ -11,6 +11,6 @@ "dotnet": "11.0.100-preview.5.26272.112" }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26272.112" + "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26275.101" } } From 2782900895f804d1f540e0977764d9a4339c5043 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Tue, 26 May 2026 02:03:20 +0000 Subject: [PATCH 26/54] Re-generate global.json for PR #25379: [net11.0] Update dependencies from dotnet/dotnet --- global.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/global.json b/global.json index e7fe4763cff0..a2060423c1c7 100644 --- a/global.json +++ b/global.json @@ -1,6 +1,6 @@ { "sdk": { - "version": "11.0.100-preview.5.26272.112", + "version": "11.0.100-preview.5.26275.101", "paths": [ "builds/downloads/dotnet", "$host$" @@ -8,7 +8,7 @@ "errorMessage": "The .NET SDK could not be found, please run 'make dotnet -C builds'." }, "tools": { - "dotnet": "11.0.100-preview.5.26272.112" + "dotnet": "11.0.100-preview.5.26275.101" }, "msbuild-sdks": { "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26275.101" From 918b50dbdc61fccfa72f72132bdeb1413eb0655c Mon Sep 17 00:00:00 2001 From: Rolf Bjarne Kvinge Date: Tue, 26 May 2026 18:36:07 +0200 Subject: [PATCH 27/54] Fix SmartEnumTest.AVMediaTypes after ILLink dataflow improvement The ILLink now understands typeof(T).Assembly.GetType(string) patterns (dotnet/runtime#127319), so it preserves types referenced by constant string arguments. Append WorkAroundLinkerHeuristics to break constant folding and prevent the linker from resolving the type names. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- tests/linker/link all/PreserveTest.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/linker/link all/PreserveTest.cs b/tests/linker/link all/PreserveTest.cs index 19dee363f3ad..3547c2e7681e 100644 --- a/tests/linker/link all/PreserveTest.cs +++ b/tests/linker/link all/PreserveTest.cs @@ -146,8 +146,8 @@ public void SmartEnumTest () Assert.NotNull (smartExtensions.GetMethod ("GetValue"), "GetValue"); // Unused smart enums and their extensions should be linked away - Assert.IsNull (typeof (NSObject).Assembly.GetType ("AVFoundation.AVMediaTypes"), "AVMediaTypes"); - Assert.IsNull (typeof (NSObject).Assembly.GetType ("AVFoundation.AVMediaTypesExtensions"), "AVMediaTypesExtensions"); + Assert.IsNull (typeof (NSObject).Assembly.GetType ("AVFoundation.AVMediaTypes" + WorkAroundLinkerHeuristics), "AVMediaTypes"); + Assert.IsNull (typeof (NSObject).Assembly.GetType ("AVFoundation.AVMediaTypesExtensions" + WorkAroundLinkerHeuristics), "AVMediaTypesExtensions"); } [Test] From f4c9af1428296f147986724b81c93fab3fea33aa Mon Sep 17 00:00:00 2001 From: Rolf Bjarne Kvinge Date: Tue, 26 May 2026 19:03:46 +0200 Subject: [PATCH 28/54] Fix IsARM64CallingConvention test after ILLink body-stubbing change The new ILLink version more aggressively stubs method bodies that have no remaining callers. On MacCatalyst (TrimMode=partial), after our OptimizeGeneratedCodeStep inlines the GetIsARM64CallingConvention value at all call sites, the linker sees the method has no callers and replaces its body with 'ldnull; throw'. Update the test to accept either outcome: - ldc.i4.X; ret (optimized by our step) - ldnull; throw (linker stubbed after optimization) Both outcomes indicate successful optimization. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- tests/linker/BaseOptimizeGeneratedCodeTest.cs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/tests/linker/BaseOptimizeGeneratedCodeTest.cs b/tests/linker/BaseOptimizeGeneratedCodeTest.cs index 50d32b49afb0..5319b0451782 100644 --- a/tests/linker/BaseOptimizeGeneratedCodeTest.cs +++ b/tests/linker/BaseOptimizeGeneratedCodeTest.cs @@ -527,8 +527,15 @@ public void IsARM64CallingConvention () method = typeof (Runtime).GetMethod ("GetIsARM64CallingConvention", BindingFlags.Static | BindingFlags.NonPublic)!; instructions = new ILReader (method); Assert.AreEqual (2, instructions.Count (), "IL Count"); - Assert.That (instructions.Skip (0).First ().OpCode, Is.EqualTo (OpCodes.Ldc_I4_0).Or.EqualTo (OpCodes.Ldc_I4_1), "IL 1"); - Assert.That (instructions.Skip (1).First ().OpCode, Is.EqualTo (OpCodes.Ret), "IL 2"); + // The method body should be either: + // - ldc.i4.X; ret (optimized to a constant by our OptimizeGeneratedCodeStep), or + // - ldnull; throw (the linker stubbed the body after our step inlined the value at all call sites) + Assert.That (instructions.Skip (0).First ().OpCode, + Is.EqualTo (OpCodes.Ldc_I4_0).Or.EqualTo (OpCodes.Ldc_I4_1).Or.EqualTo (OpCodes.Ldnull), "IL 1"); + if (instructions.Skip (0).First ().OpCode == OpCodes.Ldnull) + Assert.That (instructions.Skip (1).First ().OpCode, Is.EqualTo (OpCodes.Throw), "IL 2 (linker-stubbed)"); + else + Assert.That (instructions.Skip (1).First ().OpCode, Is.EqualTo (OpCodes.Ret), "IL 2"); #endif Assert.AreEqual (Runtime.IsARM64CallingConvention, GetIsARM64CallingConventionOptimized (), "Value optimized"); From ee1768b3c4f4394708d2fe4c0a931ac189e4b953 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Wed, 27 May 2026 02:03:27 +0000 Subject: [PATCH 29/54] Update dependencies from https://github.com/dotnet/dotnet build 20260526.13 On relative base path root Microsoft.NET.Runtime.MonoTargets.Sdk , Microsoft.NET.ILLink , Microsoft.NET.ILLink.Tasks , Microsoft.NETCore.App.Ref From Version 11.0.0-preview.5.26256.105 -> To Version 11.0.0-preview.5.26276.113 Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.SharedFramework.Sdk From Version 11.0.0-beta.26256.105 -> To Version 11.0.0-beta.26276.113 Microsoft.DotNet.Cecil From Version 0.11.5-preview.26256.105 -> To Version 0.11.5-preview.26276.113 Microsoft.NET.Sdk , Microsoft.TemplateEngine.Authoring.Tasks From Version 11.0.100-preview.5.26256.105 -> To Version 11.0.100-preview.5.26276.113 --- eng/Version.Details.props | 22 ++++++------- eng/Version.Details.xml | 40 +++++++++++------------ eng/common/build.sh | 5 --- eng/common/pipeline-logging-functions.ps1 | 2 +- eng/common/templates/steps/vmr-sync.yml | 20 ++++++------ eng/common/tools.ps1 | 31 +++--------------- eng/common/tools.sh | 34 +++---------------- global.json | 2 +- 8 files changed, 53 insertions(+), 103 deletions(-) diff --git a/eng/Version.Details.props b/eng/Version.Details.props index f7ba57b24c13..204209db2a75 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -6,16 +6,16 @@ This file should be imported by eng/Versions.props - 11.0.0-beta.26275.101 - 11.0.0-beta.26275.101 - 0.11.5-preview.26275.101 - 11.0.0-beta.26275.101 - 11.0.0-preview.5.26275.101 - 11.0.0-preview.5.26275.101 - 11.0.0-preview.5.26275.101 - 11.0.100-preview.5.26275.101 - 11.0.0-preview.5.26275.101 - 11.0.100-preview.5.26275.101 + 11.0.0-beta.26276.113 + 11.0.0-beta.26276.113 + 0.11.5-preview.26276.113 + 11.0.0-beta.26276.113 + 11.0.0-preview.5.26276.113 + 11.0.0-preview.5.26276.113 + 11.0.0-preview.5.26276.113 + 11.0.100-preview.5.26276.113 + 11.0.0-preview.5.26276.113 + 11.0.100-preview.5.26276.113 26.0.11017 26.5.10280 @@ -26,7 +26,7 @@ This file should be imported by eng/Versions.props 26.0.11017 26.5.10280 - 11.0.0-prerelease.26264.1 + 11.0.0-prerelease.26217.1 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 02ca0c85d2b4..93d845b1d3ad 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,29 +1,29 @@ - + https://github.com/dotnet/dotnet - c2bf1a1c93c92918d8c8f7a9f46e2f6f6d432401 + 1458981aa05717a57476cbef8ec76f066f70fcb5 - + https://github.com/dotnet/dotnet - c2bf1a1c93c92918d8c8f7a9f46e2f6f6d432401 + 1458981aa05717a57476cbef8ec76f066f70fcb5 - + https://github.com/dotnet/dotnet - c2bf1a1c93c92918d8c8f7a9f46e2f6f6d432401 + 1458981aa05717a57476cbef8ec76f066f70fcb5 - + https://github.com/dotnet/dotnet - c2bf1a1c93c92918d8c8f7a9f46e2f6f6d432401 + 1458981aa05717a57476cbef8ec76f066f70fcb5 - + https://github.com/dotnet/dotnet - c2bf1a1c93c92918d8c8f7a9f46e2f6f6d432401 + 1458981aa05717a57476cbef8ec76f066f70fcb5 - + https://github.com/dotnet/dotnet - c2bf1a1c93c92918d8c8f7a9f46e2f6f6d432401 + 1458981aa05717a57476cbef8ec76f066f70fcb5 @@ -61,25 +61,25 @@ - + https://github.com/dotnet/dotnet - c2bf1a1c93c92918d8c8f7a9f46e2f6f6d432401 + 1458981aa05717a57476cbef8ec76f066f70fcb5 - + https://github.com/dotnet/dotnet - c2bf1a1c93c92918d8c8f7a9f46e2f6f6d432401 + 1458981aa05717a57476cbef8ec76f066f70fcb5 - + https://github.com/dotnet/dotnet - c2bf1a1c93c92918d8c8f7a9f46e2f6f6d432401 + 1458981aa05717a57476cbef8ec76f066f70fcb5 https://github.com/dotnet/xharness 866707736d49c2323628744716cda2475b3af9ee - + https://github.com/dotnet/dotnet - c2bf1a1c93c92918d8c8f7a9f46e2f6f6d432401 + 1458981aa05717a57476cbef8ec76f066f70fcb5 diff --git a/eng/common/build.sh b/eng/common/build.sh index 5883e53bcfb1..74605d2effd5 100644 --- a/eng/common/build.sh +++ b/eng/common/build.sh @@ -84,7 +84,6 @@ node_reuse=true build_check=false binary_log=false exclude_ci_binary_log=false -pipelines_log=false projects='' configuration='' @@ -118,9 +117,6 @@ while [[ $# -gt 0 ]]; do -excludecibinarylog|-nobl) exclude_ci_binary_log=true ;; - -pipelineslog|-pl) - pipelines_log=true - ;; -restore|-r) restore=true ;; @@ -210,7 +206,6 @@ if [[ -z "$configuration" ]]; then fi if [[ "$ci" == true ]]; then - pipelines_log=true node_reuse=false if [[ "$exclude_ci_binary_log" == false ]]; then binary_log=true diff --git a/eng/common/pipeline-logging-functions.ps1 b/eng/common/pipeline-logging-functions.ps1 index 8e422c561e4b..9f85c291708b 100644 --- a/eng/common/pipeline-logging-functions.ps1 +++ b/eng/common/pipeline-logging-functions.ps1 @@ -32,7 +32,7 @@ function Write-PipelineTelemetryError { $PSBoundParameters.Remove('Category') | Out-Null if ($Force -Or ((Test-Path variable:ci) -And $ci)) { - $Message = "(NETCORE_ENGINEERING_TELEMETRY=$Category) $Message" + $Message = "($Category) $Message" } $PSBoundParameters.Remove('Message') | Out-Null $PSBoundParameters.Add('Message', $Message) diff --git a/eng/common/templates/steps/vmr-sync.yml b/eng/common/templates/steps/vmr-sync.yml index eb619c502683..cdc6a28ff1f6 100644 --- a/eng/common/templates/steps/vmr-sync.yml +++ b/eng/common/templates/steps/vmr-sync.yml @@ -45,11 +45,11 @@ steps: workingDirectory: ${{ parameters.vmrPath }} - script: | - ./eng/common/vmr-sync.sh \ - --vmr ${{ parameters.vmrPath }} \ - --tmp $(Agent.TempDirectory) \ - --azdev-pat '$(dn-bot-all-orgs-code-r)' \ - --ci \ + ./eng/common/vmr-sync.sh \ + --vmr ${{ parameters.vmrPath }} \ + --tmp $(Agent.TempDirectory) \ + --azdev-pat '$(AzdoToken)' \ + --ci \ --debug if [ "$?" -ne 0 ]; then @@ -67,11 +67,11 @@ steps: condition: eq(variables['Agent.OS'], 'Windows_NT') - powershell: | - ./eng/common/vmr-sync.ps1 ` - -vmr ${{ parameters.vmrPath }} ` - -tmp $(Agent.TempDirectory) ` - -azdevPat '$(dn-bot-all-orgs-code-r)' ` - -ci ` + ./eng/common/vmr-sync.ps1 ` + -vmr ${{ parameters.vmrPath }} ` + -tmp $(Agent.TempDirectory) ` + -azdevPat '$(AzdoToken)' ` + -ci ` -debugOutput if ($LASTEXITCODE -ne 0) { diff --git a/eng/common/tools.ps1 b/eng/common/tools.ps1 index 0e281df8cae5..73157c2634cf 100644 --- a/eng/common/tools.ps1 +++ b/eng/common/tools.ps1 @@ -13,12 +13,6 @@ # Set to true to output binary log from msbuild. Note that emitting binary log slows down the build. [bool]$binaryLog = if (Test-Path variable:binaryLog) { $binaryLog } else { $ci -and !$excludeCIBinarylog } -# Set to true to use the pipelines logger which will enable Azure logging output. -# https://github.com/Microsoft/azure-pipelines-tasks/blob/master/docs/authoring/commands.md -# This flag is meant as a temporary opt-opt for the feature while validate it across -# our consumers. It will be deleted in the future. -[bool]$pipelinesLog = if (Test-Path variable:pipelinesLog) { $pipelinesLog } else { $ci } - # Turns on machine preparation/clean up code that changes the machine state (e.g. kills build processes). [bool]$prepareMachine = if (Test-Path variable:prepareMachine) { $prepareMachine } else { $false } @@ -753,28 +747,13 @@ function Stop-Processes() { # Terminates the script if the build fails. # function MSBuild() { - if ($pipelinesLog) { - $buildTool = InitializeBuildTool - - if ($ci -and $buildTool.Tool -eq 'dotnet') { - $env:NUGET_PLUGIN_HANDSHAKE_TIMEOUT_IN_SECONDS = 20 - $env:NUGET_PLUGIN_REQUEST_TIMEOUT_IN_SECONDS = 20 - Write-PipelineSetVariable -Name 'NUGET_PLUGIN_HANDSHAKE_TIMEOUT_IN_SECONDS' -Value '20' - Write-PipelineSetVariable -Name 'NUGET_PLUGIN_REQUEST_TIMEOUT_IN_SECONDS' -Value '20' - } + if ($ci) { + $env:NUGET_PLUGIN_HANDSHAKE_TIMEOUT_IN_SECONDS = 20 + $env:NUGET_PLUGIN_REQUEST_TIMEOUT_IN_SECONDS = 20 + Write-PipelineSetVariable -Name 'NUGET_PLUGIN_HANDSHAKE_TIMEOUT_IN_SECONDS' -Value '20' + Write-PipelineSetVariable -Name 'NUGET_PLUGIN_REQUEST_TIMEOUT_IN_SECONDS' -Value '20' Enable-Nuget-EnhancedRetry - - $toolsetBuildProject = InitializeToolset - $basePath = Split-Path -parent $toolsetBuildProject - $selectedPath = Join-Path $basePath (Join-Path $buildTool.Framework 'Microsoft.DotNet.ArcadeLogging.dll') - - if (-not $selectedPath) { - Write-PipelineTelemetryError -Category 'Build' -Message "Unable to find arcade sdk logger assembly: $selectedPath" - ExitWithExitCode 1 - } - - $args += "/logger:$selectedPath" } MSBuild-Core @args diff --git a/eng/common/tools.sh b/eng/common/tools.sh index 5ff37cfb7000..8edf9f5a69ca 100644 --- a/eng/common/tools.sh +++ b/eng/common/tools.sh @@ -8,16 +8,6 @@ ci=${ci:-false} # Build mode source_build=${source_build:-false} -# Set to true to use the pipelines logger which will enable Azure logging output. -# https://github.com/Microsoft/azure-pipelines-tasks/blob/master/docs/authoring/commands.md -# This flag is meant as a temporary opt-opt for the feature while validate it across -# our consumers. It will be deleted in the future. -if [[ "$ci" == true ]]; then - pipelines_log=${pipelines_log:-true} -else - pipelines_log=${pipelines_log:-false} -fi - # Build configuration. Common values include 'Debug' and 'Release', but the repository may use other names. configuration=${configuration:-'Debug'} @@ -513,26 +503,12 @@ function DotNet { function MSBuild { local args=( "$@" ) - if [[ "$pipelines_log" == true ]]; then - InitializeBuildTool - InitializeToolset - - if [[ "$ci" == true ]]; then - export NUGET_PLUGIN_HANDSHAKE_TIMEOUT_IN_SECONDS=20 - export NUGET_PLUGIN_REQUEST_TIMEOUT_IN_SECONDS=20 - Write-PipelineSetVariable -name "NUGET_PLUGIN_HANDSHAKE_TIMEOUT_IN_SECONDS" -value "20" - Write-PipelineSetVariable -name "NUGET_PLUGIN_REQUEST_TIMEOUT_IN_SECONDS" -value "20" - fi - - local toolset_dir="${_InitializeToolset%/*}" - local selectedPath="$toolset_dir/net/Microsoft.DotNet.ArcadeLogging.dll" - - if [[ -z "$selectedPath" ]]; then - Write-PipelineTelemetryError -category 'Build' "Unable to find arcade sdk logger assembly: $selectedPath" - ExitWithExitCode 1 - fi - args+=( "-logger:$selectedPath" ) + if [[ "$ci" == true ]]; then + export NUGET_PLUGIN_HANDSHAKE_TIMEOUT_IN_SECONDS=20 + export NUGET_PLUGIN_REQUEST_TIMEOUT_IN_SECONDS=20 + Write-PipelineSetVariable -name "NUGET_PLUGIN_HANDSHAKE_TIMEOUT_IN_SECONDS" -value "20" + Write-PipelineSetVariable -name "NUGET_PLUGIN_REQUEST_TIMEOUT_IN_SECONDS" -value "20" fi MSBuild-Core "${args[@]}" diff --git a/global.json b/global.json index a2060423c1c7..e0f2c35e6482 100644 --- a/global.json +++ b/global.json @@ -11,6 +11,6 @@ "dotnet": "11.0.100-preview.5.26275.101" }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26275.101" + "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26276.113" } } From 3ff8dead0ab9c8f6936975376a07599754122fc8 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Wed, 27 May 2026 02:04:13 +0000 Subject: [PATCH 30/54] Re-generate global.json for PR #25379: [net11.0] Update dependencies from dotnet/dotnet --- global.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/global.json b/global.json index e0f2c35e6482..bae257f63f85 100644 --- a/global.json +++ b/global.json @@ -1,6 +1,6 @@ { "sdk": { - "version": "11.0.100-preview.5.26275.101", + "version": "11.0.100-preview.5.26276.113", "paths": [ "builds/downloads/dotnet", "$host$" @@ -8,7 +8,7 @@ "errorMessage": "The .NET SDK could not be found, please run 'make dotnet -C builds'." }, "tools": { - "dotnet": "11.0.100-preview.5.26275.101" + "dotnet": "11.0.100-preview.5.26276.113" }, "msbuild-sdks": { "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26276.113" From d794c37271d1de094a02a41c25408ad43197bbdb Mon Sep 17 00:00:00 2001 From: Rolf Bjarne Kvinge Date: Wed, 27 May 2026 08:01:51 +0200 Subject: [PATCH 31/54] Fix TestRuntime.IsLinkAny after ILLink dataflow improvement The new ILLink (dotnet/runtime#127319) understands the pattern typeof(T).Assembly.GetType("string") and preserves referenced types. This caused IsLinkAny to incorrectly return false because the sentinel types (System.Action`14, System.DBNull, etc.) were now preserved by the linker's dataflow analysis. Fix by appending a runtime-computed empty string (WorkAroundLinkerHeuristics) to break the linker's constant-string resolution. This is the same approach used in PreserveTest.cs for the SmartEnumTest.AVMediaTypes fix. This fixes both ProtocolsTrimmedAway and GetConstant test failures in monotouch-test with managed-static-registrar on MacCatalyst. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- tests/common/TestRuntime.cs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/tests/common/TestRuntime.cs b/tests/common/TestRuntime.cs index 68ab6699c66b..c5976945d30f 100644 --- a/tests/common/TestRuntime.cs +++ b/tests/common/TestRuntime.cs @@ -1587,7 +1587,9 @@ public static bool IsLinkAny { }; link_any = false; foreach (var uncommonType in uncommonTypes) { - link_any = typeof (int).Assembly.GetType (uncommonType) is null; + // Append WorkAroundLinkerHeuristics to prevent the linker from resolving the type name + // via its typeof(T).Assembly.GetType(string) dataflow analysis (dotnet/runtime#127319). + link_any = typeof (int).Assembly.GetType (uncommonType + WorkAroundLinkerHeuristics) is null; if (link_any == true) break; } @@ -1596,6 +1598,12 @@ public static bool IsLinkAny { } } + // Returns "" at runtime, but the linker can't constant-fold this, which prevents + // its dataflow analysis from resolving type names passed to Assembly.GetType. + [MethodImpl (MethodImplOptions.NoInlining)] + static string GetEmptyString () => string.Intern (""); + static string WorkAroundLinkerHeuristics => GetEmptyString (); + public static bool IsOptimizeAll { get { #if OPTIMIZEALL From 4473e3e5288d5f842712eb7b44f2b87a29350b0c Mon Sep 17 00:00:00 2001 From: Rolf Bjarne Kvinge Date: Mon, 25 May 2026 11:28:00 +0200 Subject: [PATCH 32/54] [devops] Remove the fix to avoid using a leaked GitHub ssh key. (#25504) The current script breaks the build: + ssh-keygen -R github.com Cannot stat /Users/builder/.ssh/known_hosts: No such file or directory ##[error]Bash exited with code '255'. The script was added over three years ago, and all our bots have been re-imaged multiple times since then, thus this isn't an issue anymore. So just remove the script. --- .../automation/scripts/bash/fix-github-ssh-key.sh | 10 ---------- tools/devops/automation/templates/common/setup.yml | 3 --- 2 files changed, 13 deletions(-) delete mode 100755 tools/devops/automation/scripts/bash/fix-github-ssh-key.sh diff --git a/tools/devops/automation/scripts/bash/fix-github-ssh-key.sh b/tools/devops/automation/scripts/bash/fix-github-ssh-key.sh deleted file mode 100755 index a603c99bc60d..000000000000 --- a/tools/devops/automation/scripts/bash/fix-github-ssh-key.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash -ex - -# ensure that we do remove the old ssh key from github which was leaked: https://blog.gitguardian.com/github-exposed-private-ssh-key/ - -ssh-keygen -R github.com -{ - echo "github.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMqqnkVzrm0SdG6UOoqKLsabgH5C9okWi0dh2l9GKJl" - echo "github.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCj7ndNxQowgcQnjshcLrqPEiiphnt+VTTvDP6mHBL9j1aNUkY4Ue1gvwnGLVlOhGeYrnZaMgRK6+PKCUXaDbC7qtbW8gIkhL7aGCsOr/C56SJMy/BCZfxd1nWzAOxSDPgVsmerOBYfNqltV9/hWCqBywINIR+5dIg6JTJ72pcEpEjcYgXkE2YEFXV1JHnsKgbLWNlhScqb2UmyRkQyytRLtL+38TGxkxCflmO+5Z8CSSNY7GidjMIZ7Q4zMjA2n1nGrlTDkzwDCsw+wqFPGQA179cnfGWOWRVruj16z6XyvxvjJwbz0wQZ75XK5tKSb7FNyeIEs4TT4jk+S4dhPeAUC5y+bDYirYgM4GC7uEnztnZyaVWQ7B381AK4Qdrwt51ZqExKbQpTUNn+EjqoTwvqNj4kqx5QUCI0ThS/YkOxJCXmPUWZbhjpCg56i+2aB6CmK2JGhn57K5mj0MNdBXA4/WnwH6XoPWJzK5Nyu2zB3nAZp+S5hpQs+p1vN1/wsjk=" - echo "github.com ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBEmKSENjQEezOmxkZMy7opKgwFB9nkt5YRrYMjNuG5N87uRgg6CLrbo5wAdT/y6v0mKV0U2w0WZ2YB/++Tpockg=" -} >> ~/.ssh/known_hosts diff --git a/tools/devops/automation/templates/common/setup.yml b/tools/devops/automation/templates/common/setup.yml index a713adac8593..a80833941c2f 100644 --- a/tools/devops/automation/templates/common/setup.yml +++ b/tools/devops/automation/templates/common/setup.yml @@ -22,9 +22,6 @@ steps: name: disableCodeQLOnArm64 condition: and(succeeded(), eq('${{ parameters.disableCodeQL }}', 'true')) -- bash: $(Build.SourcesDirectory)/$(BUILD_REPOSITORY_TITLE)/tools/devops/automation/scripts/bash/fix-github-ssh-key.sh - displayName: 'Fix GitHub SSH host key' - - pwsh: '& "$Env:SYSTEM_DEFAULTWORKINGDIRECTORY/$Env:BUILD_REPOSITORY_TITLE/tools/devops/automation/scripts/show_bot_info.ps1"' displayName: 'Show Bot Info' From 5b4d46d53522d10455f42213132732c5f9569719 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Thu, 28 May 2026 02:03:02 +0000 Subject: [PATCH 33/54] Update dependencies from https://github.com/dotnet/dotnet build 20260527.11 On relative base path root Microsoft.NET.Runtime.MonoTargets.Sdk , Microsoft.NET.ILLink , Microsoft.NET.ILLink.Tasks , Microsoft.NETCore.App.Ref From Version 11.0.0-preview.5.26256.105 -> To Version 11.0.0-preview.6.26277.111 Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.SharedFramework.Sdk From Version 11.0.0-beta.26256.105 -> To Version 11.0.0-beta.26277.111 Microsoft.DotNet.Cecil From Version 0.11.5-preview.26256.105 -> To Version 0.11.5-preview.26277.111 Microsoft.NET.Sdk , Microsoft.TemplateEngine.Authoring.Tasks From Version 11.0.100-preview.5.26256.105 -> To Version 11.0.100-preview.6.26277.111 --- eng/Version.Details.props | 20 +- eng/Version.Details.xml | 40 ++-- eng/common/build.ps1 | 20 +- eng/common/build.sh | 19 +- .../core-templates/job/helix-job-monitor.yml | 217 ++++++++++++++++++ .../core-templates/steps/publish-logs.yml | 1 - .../steps/source-index-stage1-publish.yml | 8 +- eng/common/cross/build-rootfs.sh | 4 +- eng/common/cross/install-debs.py | 13 +- global.json | 2 +- 10 files changed, 303 insertions(+), 41 deletions(-) create mode 100644 eng/common/core-templates/job/helix-job-monitor.yml diff --git a/eng/Version.Details.props b/eng/Version.Details.props index d96a0c190ce2..00b5df61d445 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -6,16 +6,16 @@ This file should be imported by eng/Versions.props - 11.0.0-beta.26276.113 - 11.0.0-beta.26276.113 - 0.11.5-preview.26276.113 - 11.0.0-beta.26276.113 - 11.0.0-preview.5.26276.113 - 11.0.0-preview.5.26276.113 - 11.0.0-preview.5.26276.113 - 11.0.100-preview.5.26276.113 - 11.0.0-preview.5.26276.113 - 11.0.100-preview.5.26276.113 + 11.0.0-beta.26277.111 + 11.0.0-beta.26277.111 + 0.11.5-preview.26277.111 + 11.0.0-beta.26277.111 + 11.0.0-preview.6.26277.111 + 11.0.0-preview.6.26277.111 + 11.0.0-preview.6.26277.111 + 11.0.100-preview.6.26277.111 + 11.0.0-preview.6.26277.111 + 11.0.100-preview.6.26277.111 26.0.11017 26.5.10288 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 9c416d10f970..be6b1868b31a 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,29 +1,29 @@ - + https://github.com/dotnet/dotnet - 1458981aa05717a57476cbef8ec76f066f70fcb5 + 6ca055abbe0f7c50651e7768c3f466ef07907dc8 - + https://github.com/dotnet/dotnet - 1458981aa05717a57476cbef8ec76f066f70fcb5 + 6ca055abbe0f7c50651e7768c3f466ef07907dc8 - + https://github.com/dotnet/dotnet - 1458981aa05717a57476cbef8ec76f066f70fcb5 + 6ca055abbe0f7c50651e7768c3f466ef07907dc8 - + https://github.com/dotnet/dotnet - 1458981aa05717a57476cbef8ec76f066f70fcb5 + 6ca055abbe0f7c50651e7768c3f466ef07907dc8 - + https://github.com/dotnet/dotnet - 1458981aa05717a57476cbef8ec76f066f70fcb5 + 6ca055abbe0f7c50651e7768c3f466ef07907dc8 - + https://github.com/dotnet/dotnet - 1458981aa05717a57476cbef8ec76f066f70fcb5 + 6ca055abbe0f7c50651e7768c3f466ef07907dc8 @@ -61,25 +61,25 @@ - + https://github.com/dotnet/dotnet - 1458981aa05717a57476cbef8ec76f066f70fcb5 + 6ca055abbe0f7c50651e7768c3f466ef07907dc8 - + https://github.com/dotnet/dotnet - 1458981aa05717a57476cbef8ec76f066f70fcb5 + 6ca055abbe0f7c50651e7768c3f466ef07907dc8 - + https://github.com/dotnet/dotnet - 1458981aa05717a57476cbef8ec76f066f70fcb5 + 6ca055abbe0f7c50651e7768c3f466ef07907dc8 https://github.com/dotnet/xharness 866707736d49c2323628744716cda2475b3af9ee - + https://github.com/dotnet/dotnet - 1458981aa05717a57476cbef8ec76f066f70fcb5 + 6ca055abbe0f7c50651e7768c3f466ef07907dc8 diff --git a/eng/common/build.ps1 b/eng/common/build.ps1 index 18397a60eb85..4b4f6b0923f2 100644 --- a/eng/common/build.ps1 +++ b/eng/common/build.ps1 @@ -24,6 +24,7 @@ Param( [switch][Alias('pb')]$productBuild, [switch]$fromVMR, [switch][Alias('bl')]$binaryLog, + [string][Alias('bln')]$binaryLogName = '', [switch][Alias('nobl')]$excludeCIBinarylog, [switch] $ci, [switch] $prepareMachine, @@ -46,6 +47,7 @@ function Print-Usage() { Write-Host " -platform Platform configuration: 'x86', 'x64' or any valid Platform value to pass to msbuild" Write-Host " -verbosity Msbuild verbosity: q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic] (short: -v)" Write-Host " -binaryLog Output binary log (short: -bl)" + Write-Host " -binaryLogName Binary log file name or path; implies -binaryLog (short: -bln)" Write-Host " -help Print help and exit" Write-Host "" @@ -102,7 +104,19 @@ function Build { $toolsetBuildProj = InitializeToolset InitializeCustomToolset - $bl = if ($binaryLog) { '/bl:' + (Join-Path $LogDir 'Build.binlog') } else { '' } + $bl = '' + if ($binaryLog) { + $binaryLogPath = if ([string]::IsNullOrEmpty($binaryLogName)) { + Join-Path $LogDir 'Build.binlog' + } elseif ([System.IO.Path]::IsPathRooted($binaryLogName)) { + $binaryLogName + } else { + Join-Path $LogDir $binaryLogName + } + + Create-Directory (Split-Path -Parent $binaryLogPath) + $bl = '/bl:' + $binaryLogPath + } $platformArg = if ($platform) { "/p:Platform=$platform" } else { '' } $check = if ($buildCheck) { '/check' } else { '' } @@ -162,6 +176,10 @@ try { $nodeReuse = $false } + if (-not [string]::IsNullOrEmpty($binaryLogName)) { + $binaryLog = $true + } + if ($nativeToolsOnMachine) { $env:NativeToolsOnMachine = $true } diff --git a/eng/common/build.sh b/eng/common/build.sh index 74605d2effd5..719ee4b58748 100644 --- a/eng/common/build.sh +++ b/eng/common/build.sh @@ -13,6 +13,7 @@ usage() echo " --configuration Build configuration: 'Debug' or 'Release' (short: -c)" echo " --verbosity Msbuild verbosity: q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic] (short: -v)" echo " --binaryLog Create MSBuild binary log (short: -bl)" + echo " --binaryLogName Binary log file name or path; implies --binaryLog (short: -bln)" echo " --help Print help and exit (short: -h)" echo "" @@ -83,6 +84,7 @@ warn_not_as_error='' node_reuse=true build_check=false binary_log=false +binary_log_name='' exclude_ci_binary_log=false projects='' @@ -114,6 +116,11 @@ while [[ $# -gt 0 ]]; do -binarylog|-bl) binary_log=true ;; + -binarylogname|-bln) + binary_log=true + binary_log_name=$2 + shift + ;; -excludecibinarylog|-nobl) exclude_ci_binary_log=true ;; @@ -232,7 +239,17 @@ function Build { local bl="" if [[ "$binary_log" == true ]]; then - bl="/bl:\"$log_dir/Build.binlog\"" + local binary_log_path="" + if [[ -z "$binary_log_name" ]]; then + binary_log_path="$log_dir/Build.binlog" + elif [[ "$binary_log_name" = /* ]]; then + binary_log_path="$binary_log_name" + else + binary_log_path="$log_dir/$binary_log_name" + fi + + mkdir -p "$(dirname "$binary_log_path")" + bl="/bl:\"$binary_log_path\"" fi local check="" diff --git a/eng/common/core-templates/job/helix-job-monitor.yml b/eng/common/core-templates/job/helix-job-monitor.yml new file mode 100644 index 000000000000..767450da2fcb --- /dev/null +++ b/eng/common/core-templates/job/helix-job-monitor.yml @@ -0,0 +1,217 @@ +parameters: +# Maximum run time of the monitor job in minutes. Also used for --max-wait-minutes. +- name: timeoutInMinutes + type: number + default: 360 + +# Owner segment of the source repository (e.g. 'dotnet' for 'dotnet/runtime') passed via --organization. +# Defaults to the owner segment of BUILD_REPOSITORY_NAME when empty. +- name: organization + type: string + default: '' + +# Name of the source repository (e.g. 'runtime' for 'dotnet/runtime') passed via --repository. +# Defaults to the repo segment of BUILD_REPOSITORY_NAME when empty. +- name: repository + type: string + default: '' + +# Optional dependency list for the generated job. +- name: dependsOn + type: object + default: [] + +# Optional condition for the generated job. +- name: condition + type: string + default: '' + +# NuGet package id of the Helix job monitor tool. +- name: toolPackageId + type: string + default: Microsoft.DotNet.Helix.JobMonitor + +# Console command exposed by the installed tool package. +- name: toolCommand + type: string + default: dotnet-helix-job-monitor + +# Optional explicit tool version. Only honored when 'toolNupkgArtifactName' is set; in the +# default code path the version is taken from the consuming repo's .config/dotnet-tools.json. +- name: toolVersion + type: string + default: '' + +# Base URI for the Helix service (--helix-base-uri). +- name: helixBaseUri + type: string + default: https://helix.dot.net/ + +# Helix API access token forwarded to the tool via the HELIX_ACCESSTOKEN environment variable. +- name: helixAccessToken + type: string + default: '' + +# Polling interval in seconds (--polling-interval-seconds). +- name: pollingIntervalSeconds + type: number + default: 30 + +# Advanced: optional pipeline artifact (produced earlier in this run) that contains the tool +# nupkg. When set, the artifact is downloaded and the tool is installed from the nupkg into +# a local tool-path; this bypasses the repo's .config/dotnet-tools.json manifest and is +# primarily intended for the Arcade repository itself, where the Helix job monitor tool is +# built in the same pipeline that runs this template. +# +# When this parameter is empty (the default), the consuming repository must declare the tool +# in its .config/dotnet-tools.json manifest (alongside other local .NET tools); the template +# will check out the repo and run 'dotnet tool restore' to install the version pinned there. +- name: toolNupkgArtifactName + type: string + default: '' + +# Advanced: sub-path within the downloaded artifact where the tool nupkg is located. Defaults +# to the standard Arcade non-shipping packages location for a Release build (relative to the +# pipeline artifact root, which is itself the build's 'artifacts' directory). +- name: toolNupkgArtifactSubPath + type: string + default: 'packages/Release/NonShipping' + +jobs: +- job: HelixJobMonitor + displayName: Monitor Helix Jobs + timeoutInMinutes: ${{ parameters.timeoutInMinutes }} + ${{ if ne(length(parameters.dependsOn), 0) }}: + dependsOn: ${{ parameters.dependsOn }} + ${{ if ne(parameters.condition, '') }}: + condition: ${{ parameters.condition }} + pool: + ${{ if eq(variables['System.TeamProject'], 'public') }}: + name: $(DncEngPublicBuildPool) + demands: ImageOverride -equals build.azurelinux.3.amd64.open + ${{ else }}: + name: $(DncEngInternalBuildPool) + demands: ImageOverride -equals build.azurelinux.3.amd64 + steps: + - checkout: self + fetchDepth: 1 + + - ${{ if ne(parameters.toolNupkgArtifactName, '') }}: + - task: DownloadPipelineArtifact@2 + displayName: Download Helix Job Monitor artifact + inputs: + buildType: current + artifactName: ${{ parameters.toolNupkgArtifactName }} + itemPattern: '${{ parameters.toolNupkgArtifactSubPath }}/${{ parameters.toolPackageId }}.*.nupkg' + targetPath: $(Agent.TempDirectory)/helix-job-monitor-nupkg + + - bash: | + set -euo pipefail + + toolPath="$AGENT_TEMPDIRECTORY/helix-job-monitor-tool" + mkdir -p "$toolPath" + + packageId='${{ parameters.toolPackageId }}' + toolVersion='${{ parameters.toolVersion }}' + nupkgArtifactSubPath='${{ parameters.toolNupkgArtifactSubPath }}' + nupkgDir="$AGENT_TEMPDIRECTORY/helix-job-monitor-nupkg/$nupkgArtifactSubPath" + + if [ ! -d "$nupkgDir" ]; then + echo "Expected nupkg directory '$nupkgDir' was not produced by the artifact download." >&2 + exit 1 + fi + + nupkg=$(find "$nupkgDir" -maxdepth 1 -type f -name "$packageId.*.nupkg" | head -n 1) + if [ -z "$nupkg" ]; then + echo "No '$packageId.*.nupkg' found in '$nupkgDir'." >&2 + exit 1 + fi + + # Derive the version from the nupkg filename so the local package is selected + # deterministically instead of resolving against any other configured feed. + nupkgBase=$(basename "$nupkg" .nupkg) + derivedVersion="${nupkgBase#${packageId}.}" + if [ -z "$toolVersion" ]; then + toolVersion="$derivedVersion" + fi + + echo "Using locally built '$packageId' version '$toolVersion' from '$nupkgDir'." + + # Create a minimal NuGet.config that only references the local nupkg directory. + # This avoids conflicts with the repo's package source mapping which blocks --add-source. + toolNugetConfig="$AGENT_TEMPDIRECTORY/helix-job-monitor-nuget.config" + printf '\n\n \n \n \n \n\n' "$nupkgDir" > "$toolNugetConfig" + + pushd "$(Build.SourcesDirectory)" > /dev/null + ./eng/common/dotnet.sh tool install \ + --tool-path "$toolPath" "$packageId" \ + --version "$toolVersion" \ + --configfile "$toolNugetConfig" + + # Locate the tool DLL so the run step can invoke it via ./eng/common/dotnet.sh exec. + toolDll=$(find "$toolPath/.store" -path '*/tools/*/any/*.deps.json' -type f | head -n 1) + toolDll="${toolDll%.deps.json}.dll" + if [ ! -f "$toolDll" ]; then + echo "Could not find tool DLL in '$toolPath/.store'." >&2 + exit 1 + fi + + echo "Tool DLL: $toolDll" + echo "##vso[task.setvariable variable=HelixJobMonitorDll]$toolDll" + displayName: Install Helix Job Monitor + + - ${{ else }}: + - bash: ./eng/common/dotnet.sh tool restore + displayName: Restore Helix Job Monitor + + - bash: | + set -euo pipefail + + toolArgs=( + --helix-base-uri '${{ parameters.helixBaseUri }}' + --polling-interval-seconds '${{ parameters.pollingIntervalSeconds }}' + --max-wait-minutes "$((${{ parameters.timeoutInMinutes }} - 2))" # Set the tool's timeout slightly lower than the Azure DevOps job timeout to allow it to exit gracefully. + --stage-name '$(System.StageName)' + ) + + organization='${{ parameters.organization }}' + repository='${{ parameters.repository }}' + + # Fall back to Azure DevOps-provided environment variables when the caller did not + # supply organization / repository explicitly. BUILD_REPOSITORY_NAME is typically + # 'owner/repo' for GitHub-backed builds. + if [ -z "$organization" ] || [ -z "$repository" ]; then + buildRepoName="${BUILD_REPOSITORY_NAME:-}" + if [ -n "$buildRepoName" ] && [[ "$buildRepoName" == */* ]]; then + repoOwner="${buildRepoName%%/*}" + repoName="${buildRepoName#*/}" + if [ -z "$organization" ]; then organization="$repoOwner"; fi + if [ -z "$repository" ]; then repository="$repoName"; fi + fi + fi + + if [ -n "$organization" ]; then toolArgs+=( --organization "$organization" ); fi + if [ -n "$repository" ]; then toolArgs+=( --repository "$repository" ); fi + + # Build.Reason and Build.SourceBranch are required to derive the Helix source filter + # the same way the Helix SDK submitter does (PR -> 'pr', internal -> 'official', + # otherwise -> 'ci'). Without these, manually-queued / scheduled / CI builds would + # be looked up under the wrong source prefix and find zero jobs. + toolArgs+=( --build-reason "$(Build.Reason)" ) + toolArgs+=( --source-branch "$(Build.SourceBranch)" ) + + if [ -n '${{ parameters.toolNupkgArtifactName }}' ]; then + # Tool was installed from a local nupkg; run the DLL via the repo-local dotnet. + export DOTNET_ROOT="$(Build.SourcesDirectory)/.dotnet" + ./eng/common/dotnet.sh exec "$(HelixJobMonitorDll)" "${toolArgs[@]}" + else + # Tool was restored from the local .config/dotnet-tools.json manifest; invoke it + # through the manifest from the repo root. + pushd "$BUILD_SOURCESDIRECTORY" > /dev/null + trap 'popd > /dev/null' EXIT + ./eng/common/dotnet.sh tool run '${{ parameters.toolCommand }}' -- "${toolArgs[@]}" + fi + displayName: Monitor Helix Jobs + env: + SYSTEM_ACCESSTOKEN: $(System.AccessToken) + HELIX_ACCESSTOKEN: ${{ parameters.helixAccessToken }} diff --git a/eng/common/core-templates/steps/publish-logs.yml b/eng/common/core-templates/steps/publish-logs.yml index 5fc099a1143d..648e6cfb115d 100644 --- a/eng/common/core-templates/steps/publish-logs.yml +++ b/eng/common/core-templates/steps/publish-logs.yml @@ -33,7 +33,6 @@ steps: '$(publishing-dnceng-devdiv-code-r-build-re)' '$(dn-bot-all-orgs-artifact-feeds-rw)' '$(akams-client-id)' - '$(dnceng-symbol-server-pat)' '$(dn-bot-all-orgs-build-rw-code-rw)' '$(System.AccessToken)' ${{parameters.CustomSensitiveDataList}} diff --git a/eng/common/core-templates/steps/source-index-stage1-publish.yml b/eng/common/core-templates/steps/source-index-stage1-publish.yml index 3ad83b8c3075..fdca622357f3 100644 --- a/eng/common/core-templates/steps/source-index-stage1-publish.yml +++ b/eng/common/core-templates/steps/source-index-stage1-publish.yml @@ -1,15 +1,15 @@ parameters: - sourceIndexUploadPackageVersion: 2.0.0-20250906.1 - sourceIndexProcessBinlogPackageVersion: 1.0.1-20250906.1 + sourceIndexUploadPackageVersion: 2.0.0-20260521.2 + sourceIndexProcessBinlogPackageVersion: 1.0.1-20260521.2 sourceIndexPackageSource: https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json binlogPath: artifacts/log/Debug/Build.binlog steps: - task: UseDotNet@2 - displayName: "Source Index: Use .NET 9 SDK" + displayName: "Source Index: Use .NET 10 SDK" inputs: packageType: sdk - version: 9.0.x + version: 10.0.x installationPath: $(Agent.TempDirectory)/dotnet workingDirectory: $(Agent.TempDirectory) diff --git a/eng/common/cross/build-rootfs.sh b/eng/common/cross/build-rootfs.sh index cef5d2d6716a..f06854ccc186 100644 --- a/eng/common/cross/build-rootfs.sh +++ b/eng/common/cross/build-rootfs.sh @@ -76,7 +76,7 @@ __AlpinePackages+=" openssl-dev" __AlpinePackages+=" zlib-dev" __FreeBSDBase="13.5-RELEASE" -__FreeBSDPkg="1.21.3" +__FreeBSDPkg="2.7.5" __FreeBSDABI="13" __FreeBSDPackages="libunwind" __FreeBSDPackages+=" icu" @@ -577,7 +577,7 @@ elif [[ "$__CodeName" == "freebsd" ]]; then ./autogen.sh && ./configure --prefix="$__RootfsDir"/host && make -j "$JOBS" && make install rm -rf "$__RootfsDir/tmp/pkg-${__FreeBSDPkg}" # install packages we need. - INSTALL_AS_USER=$(whoami) "$__RootfsDir"/host/sbin/pkg -r "$__RootfsDir" -C "$__RootfsDir"/usr/local/etc/pkg.conf update + INSTALL_AS_USER=$(whoami) IGNORE_OSVERSION=yes "$__RootfsDir"/host/sbin/pkg -r "$__RootfsDir" -C "$__RootfsDir"/usr/local/etc/pkg.conf update # shellcheck disable=SC2086 INSTALL_AS_USER=$(whoami) "$__RootfsDir"/host/sbin/pkg -r "$__RootfsDir" -C "$__RootfsDir"/usr/local/etc/pkg.conf install --yes $__FreeBSDPackages elif [[ "$__CodeName" == "openbsd" ]]; then diff --git a/eng/common/cross/install-debs.py b/eng/common/cross/install-debs.py index 100c4378da3b..20ca770a1e21 100644 --- a/eng/common/cross/install-debs.py +++ b/eng/common/cross/install-debs.py @@ -328,7 +328,18 @@ def extract_deb_file(deb_file, tmp_dir, extract_dir, ar_tool): raise ValueError(f"Unsupported compression format: {file_extension}") with tarfile.open(tar_file_path, mode) as tar: - tar.extractall(path=extract_dir, filter='tar') + tar.extractall(path=extract_dir, filter=_rootfs_extraction_filter) + +def _rootfs_extraction_filter(member, dest_path): + """Tarfile extraction filter based on the 'data' filter that additionally + rewrites absolute-target symlinks/hardlinks into rootfs-relative paths. + """ + if (member.issym() or member.islnk()) and os.path.isabs(member.linkname): + link_dir = os.path.dirname(member.name) + new_linkname = os.path.relpath(member.linkname.lstrip('/'), + start=link_dir or '.') + member = member.replace(linkname=new_linkname, deep=False) + return tarfile.data_filter(member, dest_path) def finalize_setup(rootfsdir): lib_dir = os.path.join(rootfsdir, 'lib') diff --git a/global.json b/global.json index bae257f63f85..575acc15efbd 100644 --- a/global.json +++ b/global.json @@ -11,6 +11,6 @@ "dotnet": "11.0.100-preview.5.26276.113" }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26276.113" + "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26277.111" } } From 5a554854b98fbde8353d5700bf126b7547660762 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Thu, 28 May 2026 02:03:48 +0000 Subject: [PATCH 34/54] Re-generate global.json for PR #25379: [net11.0] Update dependencies from dotnet/dotnet --- global.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/global.json b/global.json index 575acc15efbd..d620fb9caf86 100644 --- a/global.json +++ b/global.json @@ -1,6 +1,6 @@ { "sdk": { - "version": "11.0.100-preview.5.26276.113", + "version": "11.0.100-preview.6.26277.111", "paths": [ "builds/downloads/dotnet", "$host$" @@ -8,7 +8,7 @@ "errorMessage": "The .NET SDK could not be found, please run 'make dotnet -C builds'." }, "tools": { - "dotnet": "11.0.100-preview.5.26276.113" + "dotnet": "11.0.100-preview.6.26277.111" }, "msbuild-sdks": { "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26277.111" From c6fabd7f3370a2f45c8d3c1e09fa990a774d7fc0 Mon Sep 17 00:00:00 2001 From: Rolf Bjarne Kvinge Date: Thu, 28 May 2026 19:02:50 +0200 Subject: [PATCH 35/54] [net11.0] [runtime] Register host_runtime_contract callbacks so CoreCLR finds System.Private.CoreLib.dll (#25562) ### Description When CoreCLR starts, AssemblyBinderCommon::BindToSystem loads System.Private.CoreLib.dll. It first looks next to libcoreclr, and if that fails it runs a fallback path. In .NET 11 preview 5, dotnet/runtime#128278 changed the fallback to read CoreLib from the single-file bundle's extraction directory, and gated it on Bundle::AppIsBundle() && Bundle::AppBundle->HasExtractedFiles(). Those two flags are set from the host. AppIsBundle() requires the host to register a bundle_probe callback on host_runtime_contract, and HasExtractedFiles() requires the host to return a path from the BUNDLE_EXTRACTION_PATH runtime property. The primary lookup fails on Apple mobile device, because libcoreclr ships inside Frameworks/libcoreclr.framework/libcoreclr while System.Private.CoreLib.dll lives at the app bundle root, so CoreLib is never next to libcoreclr. ### Fix Register a no-op bundle_probe and provide BUNDLE_EXTRACTION_PATH with the directory containing System.Private.CoreLib.dll (app bundle root, then .xamarin/), so the gate passes and BindToSystem resolves CoreLib from that directory. Fixes https://github.com/dotnet/macios/issues/25542 --------- Co-authored-by: Milos Kotlar Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Milos Kotlar Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- runtime/runtime.m | 51 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/runtime/runtime.m b/runtime/runtime.m index 74ad2e77af44..86902f2adeb4 100644 --- a/runtime/runtime.m +++ b/runtime/runtime.m @@ -2463,6 +2463,55 @@ -(struct NSObjectData*) xamarinGetNSObjectData; return true; } + +// dotnet/runtime#128278 (.NET 11 preview 5) gates the BindToSystem CoreLib fallback on +// Bundle::AppIsBundle () && Bundle::AppBundle->HasExtractedFiles (). Register a no-op +// bundle_probe so AppBundle is non-null, and answer BUNDLE_EXTRACTION_PATH with the +// directory containing System.Private.CoreLib.dll so the fallback finds it. +static bool xamarin_coreclr_bundle_probe (const char *path, int64_t *offset, int64_t *size, int64_t *compressed_size) +{ + return false; +} + +static const char *xamarin_compute_corelib_directory (void) +{ + static char *cached = NULL; + + if (cached) + return cached; + + const char *bundle_path = xamarin_get_bundle_path (); + NSFileManager *manager = [NSFileManager defaultManager]; + NSString *candidates [] = { + [NSString stringWithUTF8String: bundle_path], + [NSString stringWithFormat: @"%s/.xamarin/%s", bundle_path, RUNTIMEIDENTIFIER], + }; + for (size_t i = 0; i < sizeof (candidates) / sizeof (candidates [0]); i++) { + NSString *probe = [candidates [i] stringByAppendingPathComponent: @"System.Private.CoreLib.dll"]; + if ([manager fileExistsAtPath: probe]) { + cached = strdup ([candidates [i] UTF8String]); + break; + } + } + + return cached; +} + +static size_t xamarin_coreclr_get_runtime_property (const char *key, char *value_buffer, size_t value_buffer_size, void *contract_context) +{ + if (strcmp (key, HOST_PROPERTY_BUNDLE_EXTRACTION_PATH) != 0) + return (size_t) -1; + + const char *dir = xamarin_compute_corelib_directory (); + if (dir == NULL) + return (size_t) -1; + + size_t len = strlen (dir); + size_t required = len + 1; // include null terminator + if (value_buffer != NULL && value_buffer_size >= required) + memcpy (value_buffer, dir, required); + return required; +} #endif // defined (CORECLR_RUNTIME) void @@ -2471,6 +2520,8 @@ -(struct NSObjectData*) xamarinGetNSObjectData; #if defined (CORECLR_RUNTIME) struct host_runtime_contract host_contract = { .size = sizeof (struct host_runtime_contract), + .get_runtime_property = &xamarin_coreclr_get_runtime_property, + .bundle_probe = &xamarin_coreclr_bundle_probe, .pinvoke_override = &xamarin_pinvoke_override, .get_native_code_data = &xamarin_get_native_code_data }; From f3c5de87013bf3f4940cb39024adc332599534ec Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Fri, 29 May 2026 02:01:41 +0000 Subject: [PATCH 36/54] Update dependencies from https://github.com/dotnet/dotnet build 20260527.16 On relative base path root Microsoft.NET.Runtime.MonoTargets.Sdk , Microsoft.NET.ILLink , Microsoft.NET.ILLink.Tasks , Microsoft.NETCore.App.Ref From Version 11.0.0-preview.5.26256.105 -> To Version 11.0.0-preview.6.26277.116 Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.SharedFramework.Sdk From Version 11.0.0-beta.26256.105 -> To Version 11.0.0-beta.26277.116 Microsoft.DotNet.Cecil From Version 0.11.5-preview.26256.105 -> To Version 0.11.5-preview.26277.116 Microsoft.NET.Sdk , Microsoft.TemplateEngine.Authoring.Tasks From Version 11.0.100-preview.5.26256.105 -> To Version 11.0.100-preview.6.26277.116 --- eng/Version.Details.props | 20 ++++++++++---------- eng/Version.Details.xml | 40 +++++++++++++++++++-------------------- global.json | 2 +- 3 files changed, 31 insertions(+), 31 deletions(-) diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 00b5df61d445..5454620557e4 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -6,16 +6,16 @@ This file should be imported by eng/Versions.props - 11.0.0-beta.26277.111 - 11.0.0-beta.26277.111 - 0.11.5-preview.26277.111 - 11.0.0-beta.26277.111 - 11.0.0-preview.6.26277.111 - 11.0.0-preview.6.26277.111 - 11.0.0-preview.6.26277.111 - 11.0.100-preview.6.26277.111 - 11.0.0-preview.6.26277.111 - 11.0.100-preview.6.26277.111 + 11.0.0-beta.26277.116 + 11.0.0-beta.26277.116 + 0.11.5-preview.26277.116 + 11.0.0-beta.26277.116 + 11.0.0-preview.6.26277.116 + 11.0.0-preview.6.26277.116 + 11.0.0-preview.6.26277.116 + 11.0.100-preview.6.26277.116 + 11.0.0-preview.6.26277.116 + 11.0.100-preview.6.26277.116 26.0.11017 26.5.10288 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index be6b1868b31a..473c0603d49a 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,29 +1,29 @@ - + https://github.com/dotnet/dotnet - 6ca055abbe0f7c50651e7768c3f466ef07907dc8 + 1616fce88662817fb8b76911fb188b56650859a0 - + https://github.com/dotnet/dotnet - 6ca055abbe0f7c50651e7768c3f466ef07907dc8 + 1616fce88662817fb8b76911fb188b56650859a0 - + https://github.com/dotnet/dotnet - 6ca055abbe0f7c50651e7768c3f466ef07907dc8 + 1616fce88662817fb8b76911fb188b56650859a0 - + https://github.com/dotnet/dotnet - 6ca055abbe0f7c50651e7768c3f466ef07907dc8 + 1616fce88662817fb8b76911fb188b56650859a0 - + https://github.com/dotnet/dotnet - 6ca055abbe0f7c50651e7768c3f466ef07907dc8 + 1616fce88662817fb8b76911fb188b56650859a0 - + https://github.com/dotnet/dotnet - 6ca055abbe0f7c50651e7768c3f466ef07907dc8 + 1616fce88662817fb8b76911fb188b56650859a0 @@ -61,25 +61,25 @@ - + https://github.com/dotnet/dotnet - 6ca055abbe0f7c50651e7768c3f466ef07907dc8 + 1616fce88662817fb8b76911fb188b56650859a0 - + https://github.com/dotnet/dotnet - 6ca055abbe0f7c50651e7768c3f466ef07907dc8 + 1616fce88662817fb8b76911fb188b56650859a0 - + https://github.com/dotnet/dotnet - 6ca055abbe0f7c50651e7768c3f466ef07907dc8 + 1616fce88662817fb8b76911fb188b56650859a0 https://github.com/dotnet/xharness 866707736d49c2323628744716cda2475b3af9ee - + https://github.com/dotnet/dotnet - 6ca055abbe0f7c50651e7768c3f466ef07907dc8 + 1616fce88662817fb8b76911fb188b56650859a0 diff --git a/global.json b/global.json index d620fb9caf86..c4560516dbfd 100644 --- a/global.json +++ b/global.json @@ -11,6 +11,6 @@ "dotnet": "11.0.100-preview.6.26277.111" }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26277.111" + "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26277.116" } } From 180fe01c6a008633b8bb66200c96779333d1c0e7 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Fri, 29 May 2026 02:02:32 +0000 Subject: [PATCH 37/54] Re-generate global.json for PR #25379: [net11.0] Update dependencies from dotnet/dotnet --- global.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/global.json b/global.json index c4560516dbfd..cf6ef7a54d71 100644 --- a/global.json +++ b/global.json @@ -1,6 +1,6 @@ { "sdk": { - "version": "11.0.100-preview.6.26277.111", + "version": "11.0.100-preview.6.26277.116", "paths": [ "builds/downloads/dotnet", "$host$" @@ -8,7 +8,7 @@ "errorMessage": "The .NET SDK could not be found, please run 'make dotnet -C builds'." }, "tools": { - "dotnet": "11.0.100-preview.6.26277.111" + "dotnet": "11.0.100-preview.6.26277.116" }, "msbuild-sdks": { "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26277.116" From b46a761e432b3a09371715521deb4b321123a616 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Sun, 31 May 2026 02:02:36 +0000 Subject: [PATCH 38/54] Update dependencies from https://github.com/dotnet/dotnet build 20260530.3 On relative base path root Microsoft.NET.Runtime.MonoTargets.Sdk , Microsoft.NET.ILLink , Microsoft.NET.ILLink.Tasks , Microsoft.NETCore.App.Ref From Version 11.0.0-preview.5.26256.105 -> To Version 11.0.0-preview.6.26280.103 Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.SharedFramework.Sdk From Version 11.0.0-beta.26256.105 -> To Version 11.0.0-beta.26280.103 Microsoft.DotNet.Cecil From Version 0.11.5-preview.26256.105 -> To Version 0.11.5-preview.26280.103 Microsoft.NET.Sdk , Microsoft.TemplateEngine.Authoring.Tasks From Version 11.0.100-preview.5.26256.105 -> To Version 11.0.100-preview.6.26280.103 --- eng/Version.Details.props | 20 +++++----- eng/Version.Details.xml | 40 +++++++++---------- .../core-templates/steps/publish-logs.yml | 1 - eng/common/tools.ps1 | 2 + eng/common/tools.sh | 2 + global.json | 2 +- 6 files changed, 35 insertions(+), 32 deletions(-) diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 5454620557e4..5b42b5975422 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -6,16 +6,16 @@ This file should be imported by eng/Versions.props - 11.0.0-beta.26277.116 - 11.0.0-beta.26277.116 - 0.11.5-preview.26277.116 - 11.0.0-beta.26277.116 - 11.0.0-preview.6.26277.116 - 11.0.0-preview.6.26277.116 - 11.0.0-preview.6.26277.116 - 11.0.100-preview.6.26277.116 - 11.0.0-preview.6.26277.116 - 11.0.100-preview.6.26277.116 + 11.0.0-beta.26280.103 + 11.0.0-beta.26280.103 + 0.11.5-preview.26280.103 + 11.0.0-beta.26280.103 + 11.0.0-preview.6.26280.103 + 11.0.0-preview.6.26280.103 + 11.0.0-preview.6.26280.103 + 11.0.100-preview.6.26280.103 + 11.0.0-preview.6.26280.103 + 11.0.100-preview.6.26280.103 26.0.11017 26.5.10288 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 473c0603d49a..3ae5173d2d9f 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,29 +1,29 @@ - + https://github.com/dotnet/dotnet - 1616fce88662817fb8b76911fb188b56650859a0 + f39bff9dea48e7e8c9407e770c94e9245e31e878 - + https://github.com/dotnet/dotnet - 1616fce88662817fb8b76911fb188b56650859a0 + f39bff9dea48e7e8c9407e770c94e9245e31e878 - + https://github.com/dotnet/dotnet - 1616fce88662817fb8b76911fb188b56650859a0 + f39bff9dea48e7e8c9407e770c94e9245e31e878 - + https://github.com/dotnet/dotnet - 1616fce88662817fb8b76911fb188b56650859a0 + f39bff9dea48e7e8c9407e770c94e9245e31e878 - + https://github.com/dotnet/dotnet - 1616fce88662817fb8b76911fb188b56650859a0 + f39bff9dea48e7e8c9407e770c94e9245e31e878 - + https://github.com/dotnet/dotnet - 1616fce88662817fb8b76911fb188b56650859a0 + f39bff9dea48e7e8c9407e770c94e9245e31e878 @@ -61,25 +61,25 @@ - + https://github.com/dotnet/dotnet - 1616fce88662817fb8b76911fb188b56650859a0 + f39bff9dea48e7e8c9407e770c94e9245e31e878 - + https://github.com/dotnet/dotnet - 1616fce88662817fb8b76911fb188b56650859a0 + f39bff9dea48e7e8c9407e770c94e9245e31e878 - + https://github.com/dotnet/dotnet - 1616fce88662817fb8b76911fb188b56650859a0 + f39bff9dea48e7e8c9407e770c94e9245e31e878 https://github.com/dotnet/xharness 866707736d49c2323628744716cda2475b3af9ee - + https://github.com/dotnet/dotnet - 1616fce88662817fb8b76911fb188b56650859a0 + f39bff9dea48e7e8c9407e770c94e9245e31e878 diff --git a/eng/common/core-templates/steps/publish-logs.yml b/eng/common/core-templates/steps/publish-logs.yml index 648e6cfb115d..2731e48cce45 100644 --- a/eng/common/core-templates/steps/publish-logs.yml +++ b/eng/common/core-templates/steps/publish-logs.yml @@ -33,7 +33,6 @@ steps: '$(publishing-dnceng-devdiv-code-r-build-re)' '$(dn-bot-all-orgs-artifact-feeds-rw)' '$(akams-client-id)' - '$(dn-bot-all-orgs-build-rw-code-rw)' '$(System.AccessToken)' ${{parameters.CustomSensitiveDataList}} continueOnError: true diff --git a/eng/common/tools.ps1 b/eng/common/tools.ps1 index 73157c2634cf..2dd64758ee6e 100644 --- a/eng/common/tools.ps1 +++ b/eng/common/tools.ps1 @@ -748,6 +748,8 @@ function Stop-Processes() { # function MSBuild() { if ($ci) { + InitializeToolset | Out-Null + $env:NUGET_PLUGIN_HANDSHAKE_TIMEOUT_IN_SECONDS = 20 $env:NUGET_PLUGIN_REQUEST_TIMEOUT_IN_SECONDS = 20 Write-PipelineSetVariable -Name 'NUGET_PLUGIN_HANDSHAKE_TIMEOUT_IN_SECONDS' -Value '20' diff --git a/eng/common/tools.sh b/eng/common/tools.sh index 8edf9f5a69ca..2a587f1184af 100644 --- a/eng/common/tools.sh +++ b/eng/common/tools.sh @@ -505,6 +505,8 @@ function MSBuild { local args=( "$@" ) if [[ "$ci" == true ]]; then + InitializeToolset + export NUGET_PLUGIN_HANDSHAKE_TIMEOUT_IN_SECONDS=20 export NUGET_PLUGIN_REQUEST_TIMEOUT_IN_SECONDS=20 Write-PipelineSetVariable -name "NUGET_PLUGIN_HANDSHAKE_TIMEOUT_IN_SECONDS" -value "20" diff --git a/global.json b/global.json index cf6ef7a54d71..704bf370d5c5 100644 --- a/global.json +++ b/global.json @@ -11,6 +11,6 @@ "dotnet": "11.0.100-preview.6.26277.116" }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26277.116" + "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26280.103" } } From 88808941d92d55fb54ee27e129884903edbc541a Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Sun, 31 May 2026 02:03:22 +0000 Subject: [PATCH 39/54] Re-generate global.json for PR #25379: [net11.0] Update dependencies from dotnet/dotnet --- global.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/global.json b/global.json index 704bf370d5c5..5e332f60bb8d 100644 --- a/global.json +++ b/global.json @@ -1,6 +1,6 @@ { "sdk": { - "version": "11.0.100-preview.6.26277.116", + "version": "11.0.100-preview.6.26280.103", "paths": [ "builds/downloads/dotnet", "$host$" @@ -8,7 +8,7 @@ "errorMessage": "The .NET SDK could not be found, please run 'make dotnet -C builds'." }, "tools": { - "dotnet": "11.0.100-preview.6.26277.116" + "dotnet": "11.0.100-preview.6.26280.103" }, "msbuild-sdks": { "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26280.103" From 98a50efb1ed87f9a5e6a15c799b7715bf1652995 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Mon, 1 Jun 2026 02:01:39 +0000 Subject: [PATCH 40/54] Update dependencies from https://github.com/dotnet/dotnet build 20260531.2 On relative base path root Microsoft.NET.Runtime.MonoTargets.Sdk , Microsoft.NET.ILLink , Microsoft.NET.ILLink.Tasks , Microsoft.NETCore.App.Ref From Version 11.0.0-preview.5.26256.105 -> To Version 11.0.0-preview.6.26281.102 Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.SharedFramework.Sdk From Version 11.0.0-beta.26256.105 -> To Version 11.0.0-beta.26281.102 Microsoft.DotNet.Cecil From Version 0.11.5-preview.26256.105 -> To Version 0.11.5-preview.26281.102 Microsoft.NET.Sdk , Microsoft.TemplateEngine.Authoring.Tasks From Version 11.0.100-preview.5.26256.105 -> To Version 11.0.100-preview.6.26281.102 --- eng/Version.Details.props | 20 ++++++++++---------- eng/Version.Details.xml | 40 +++++++++++++++++++-------------------- global.json | 2 +- 3 files changed, 31 insertions(+), 31 deletions(-) diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 5b42b5975422..4cb5b75a2300 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -6,16 +6,16 @@ This file should be imported by eng/Versions.props - 11.0.0-beta.26280.103 - 11.0.0-beta.26280.103 - 0.11.5-preview.26280.103 - 11.0.0-beta.26280.103 - 11.0.0-preview.6.26280.103 - 11.0.0-preview.6.26280.103 - 11.0.0-preview.6.26280.103 - 11.0.100-preview.6.26280.103 - 11.0.0-preview.6.26280.103 - 11.0.100-preview.6.26280.103 + 11.0.0-beta.26281.102 + 11.0.0-beta.26281.102 + 0.11.5-preview.26281.102 + 11.0.0-beta.26281.102 + 11.0.0-preview.6.26281.102 + 11.0.0-preview.6.26281.102 + 11.0.0-preview.6.26281.102 + 11.0.100-preview.6.26281.102 + 11.0.0-preview.6.26281.102 + 11.0.100-preview.6.26281.102 26.0.11017 26.5.10288 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 3ae5173d2d9f..ad8dc65ec3cb 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,29 +1,29 @@ - + https://github.com/dotnet/dotnet - f39bff9dea48e7e8c9407e770c94e9245e31e878 + e6542746cf944ff2a1a595edf2af006ef3046784 - + https://github.com/dotnet/dotnet - f39bff9dea48e7e8c9407e770c94e9245e31e878 + e6542746cf944ff2a1a595edf2af006ef3046784 - + https://github.com/dotnet/dotnet - f39bff9dea48e7e8c9407e770c94e9245e31e878 + e6542746cf944ff2a1a595edf2af006ef3046784 - + https://github.com/dotnet/dotnet - f39bff9dea48e7e8c9407e770c94e9245e31e878 + e6542746cf944ff2a1a595edf2af006ef3046784 - + https://github.com/dotnet/dotnet - f39bff9dea48e7e8c9407e770c94e9245e31e878 + e6542746cf944ff2a1a595edf2af006ef3046784 - + https://github.com/dotnet/dotnet - f39bff9dea48e7e8c9407e770c94e9245e31e878 + e6542746cf944ff2a1a595edf2af006ef3046784 @@ -61,25 +61,25 @@ - + https://github.com/dotnet/dotnet - f39bff9dea48e7e8c9407e770c94e9245e31e878 + e6542746cf944ff2a1a595edf2af006ef3046784 - + https://github.com/dotnet/dotnet - f39bff9dea48e7e8c9407e770c94e9245e31e878 + e6542746cf944ff2a1a595edf2af006ef3046784 - + https://github.com/dotnet/dotnet - f39bff9dea48e7e8c9407e770c94e9245e31e878 + e6542746cf944ff2a1a595edf2af006ef3046784 https://github.com/dotnet/xharness 866707736d49c2323628744716cda2475b3af9ee - + https://github.com/dotnet/dotnet - f39bff9dea48e7e8c9407e770c94e9245e31e878 + e6542746cf944ff2a1a595edf2af006ef3046784 diff --git a/global.json b/global.json index 5e332f60bb8d..ce3b3a31fc79 100644 --- a/global.json +++ b/global.json @@ -11,6 +11,6 @@ "dotnet": "11.0.100-preview.6.26280.103" }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26280.103" + "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26281.102" } } From 4c849bff74247ba4d7606e5a4bc7f94e51a35643 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Mon, 1 Jun 2026 02:02:30 +0000 Subject: [PATCH 41/54] Re-generate global.json for PR #25379: [net11.0] Update dependencies from dotnet/dotnet --- global.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/global.json b/global.json index ce3b3a31fc79..05dd3852fc9c 100644 --- a/global.json +++ b/global.json @@ -1,6 +1,6 @@ { "sdk": { - "version": "11.0.100-preview.6.26280.103", + "version": "11.0.100-preview.6.26281.102", "paths": [ "builds/downloads/dotnet", "$host$" @@ -8,7 +8,7 @@ "errorMessage": "The .NET SDK could not be found, please run 'make dotnet -C builds'." }, "tools": { - "dotnet": "11.0.100-preview.6.26280.103" + "dotnet": "11.0.100-preview.6.26281.102" }, "msbuild-sdks": { "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26281.102" From b912e2dac194a04330e10dba0dce1d38d8dc10e6 Mon Sep 17 00:00:00 2001 From: Rolf Bjarne Kvinge Date: Mon, 1 Jun 2026 17:33:18 +0200 Subject: [PATCH 42/54] [tests] Fix link sdk tests to correctly recognize release IL patterns. The new ILLink version more aggressively stubs method bodies that have no remaining callers. Update the test to accept either outcome: - ret (old behavior) - ldnull; throw (linker stubbed after optimization) Both outcomes indicate successful release build. --- tests/linker/link sdk/LinkSdkRegressionTest.cs | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/tests/linker/link sdk/LinkSdkRegressionTest.cs b/tests/linker/link sdk/LinkSdkRegressionTest.cs index b75d223ed24a..f3ce13c3f0ff 100644 --- a/tests/linker/link sdk/LinkSdkRegressionTest.cs +++ b/tests/linker/link sdk/LinkSdkRegressionTest.cs @@ -36,6 +36,7 @@ #if !__TVOS__ using WebKit; #endif +using Linker.Shared; using MonoTests.System.Net.Http; using Xamarin.Utils; @@ -951,18 +952,17 @@ static void CheckILLinkStubbedMethod (MethodInfo? m) // ILLink does not remove the method, but it can "stub" (empty) it if (m is null) throw new InvalidOperationException ("Method not found (null)"); - var mb = m.GetMethodBody (); - if (mb is null) - throw new InvalidOperationException ("GetMethodBody"); - var il = mb.GetILAsByteArray (); - if (il is null) - throw new InvalidOperationException ("GetILAsByteArray"); + var reader = new ILReader (m); + var il = reader.ToArray (); + var actualIL = string.Join ("\n", il.Select (v => v.ToString ().Trim ())); + var releaseRet = "IL_0000 ret"; + var releaseThrow = "IL_0000 ldnull\nIL_0001 throw"; #if DEBUG // means some stuff in addition to the `ret` instruction - Assert.That (il.Length, Is.GreaterThan (1), "il > 1"); + Assert.That (actualIL, Is.Not.EqualTo (releaseRet).And.Not.EqualTo (releaseThrow), $"debug il"); #else // empty means a `ret` instruction (and that's true even if IL is stripped) - Assert.That (il.Length, Is.EqualTo (1), "il == 1"); + Assert.That (actualIL, Is.EqualTo (releaseRet).Or.EqualTo (releaseThrow), $"release il"); #endif } From 544cdb62acad7b33c643207cf4b4f0c5d7b82765 Mon Sep 17 00:00:00 2001 From: Rolf Bjarne Kvinge Date: Mon, 1 Jun 2026 18:14:45 +0200 Subject: [PATCH 43/54] [tests] Fix tests after improved linker heuristics. The ILLink now understands typeof(T).Assembly.GetType(string) patterns (dotnet/runtime#127319), so it preserves types referenced by constant string arguments. Append WorkAroundLinkerHeuristics to break constant folding and prevent the linker from resolving the type names. --- tests/monotouch-test/ObjCRuntime/RegistrarTest.cs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/tests/monotouch-test/ObjCRuntime/RegistrarTest.cs b/tests/monotouch-test/ObjCRuntime/RegistrarTest.cs index fd82fd56373f..ec8ee4b3b243 100644 --- a/tests/monotouch-test/ObjCRuntime/RegistrarTest.cs +++ b/tests/monotouch-test/ObjCRuntime/RegistrarTest.cs @@ -2,6 +2,7 @@ using System.Drawing; using System.Linq; using System.Reflection; +using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Threading; @@ -126,6 +127,12 @@ public void DoIt (_LongNSRange a, out _LongNSRange b, ref _LongNSRange c) } } + // Returns "" at runtime, but the linker can't constant-fold this, which prevents + // its dataflow analysis from resolving type names passed to Assembly.GetType. + [MethodImpl (MethodImplOptions.NoInlining)] + static string GetEmptyString () => string.Intern (""); + static string WorkAroundLinkerHeuristics => GetEmptyString (); + [Test] [UnconditionalSuppressMessage ("Trimming", "IL2026", Justification = "This test verifies linker behavior, and as such any behavioral difference when the trimmer is enabled is exactly what it's looking for.")] public void RegistrarRemoval () @@ -139,8 +146,8 @@ public void RegistrarRemoval () #else var shouldBeRemoved = false; #endif - Assert.That (typeof (NSObject).Assembly.GetType ("Registrar.Registrar") is null, Is.EqualTo (shouldBeRemoved), "Registrar removal"); - Assert.That (typeof (NSObject).Assembly.GetType ("Registrar.DynamicRegistrar") is null, Is.EqualTo (shouldBeRemoved), "DynamicRegistrar removal"); + Assert.That (typeof (NSObject).Assembly.GetType ("Registrar.Registrar" + WorkAroundLinkerHeuristics) is null, Is.EqualTo (shouldBeRemoved), "Registrar removal"); + Assert.That (typeof (NSObject).Assembly.GetType ("Registrar.DynamicRegistrar" + WorkAroundLinkerHeuristics) is null, Is.EqualTo (shouldBeRemoved), "DynamicRegistrar removal"); } #if !MONOMAC From b2cd82c56c9b5df8dad41e5025115a62eb356d4c Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Tue, 2 Jun 2026 02:04:29 +0000 Subject: [PATCH 44/54] Update dependencies from https://github.com/dotnet/dotnet build 20260601.9 On relative base path root Microsoft.NET.Runtime.MonoTargets.Sdk , Microsoft.NET.ILLink , Microsoft.NET.ILLink.Tasks , Microsoft.NETCore.App.Ref From Version 11.0.0-preview.5.26256.105 -> To Version 11.0.0-preview.6.26301.109 Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.SharedFramework.Sdk From Version 11.0.0-beta.26256.105 -> To Version 11.0.0-beta.26301.109 Microsoft.DotNet.Cecil From Version 0.11.5-preview.26256.105 -> To Version 0.11.5-preview.26301.109 Microsoft.NET.Sdk , Microsoft.TemplateEngine.Authoring.Tasks From Version 11.0.100-preview.5.26256.105 -> To Version 11.0.100-preview.6.26301.109 --- eng/Version.Details.props | 20 ++++++++++---------- eng/Version.Details.xml | 40 +++++++++++++++++++-------------------- global.json | 2 +- 3 files changed, 31 insertions(+), 31 deletions(-) diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 4cb5b75a2300..7b0ece1aff46 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -6,16 +6,16 @@ This file should be imported by eng/Versions.props - 11.0.0-beta.26281.102 - 11.0.0-beta.26281.102 - 0.11.5-preview.26281.102 - 11.0.0-beta.26281.102 - 11.0.0-preview.6.26281.102 - 11.0.0-preview.6.26281.102 - 11.0.0-preview.6.26281.102 - 11.0.100-preview.6.26281.102 - 11.0.0-preview.6.26281.102 - 11.0.100-preview.6.26281.102 + 11.0.0-beta.26301.109 + 11.0.0-beta.26301.109 + 0.11.5-preview.26301.109 + 11.0.0-beta.26301.109 + 11.0.0-preview.6.26301.109 + 11.0.0-preview.6.26301.109 + 11.0.0-preview.6.26301.109 + 11.0.100-preview.6.26301.109 + 11.0.0-preview.6.26301.109 + 11.0.100-preview.6.26301.109 26.0.11017 26.5.10288 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index ad8dc65ec3cb..5f2258e6ea9e 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,29 +1,29 @@ - + https://github.com/dotnet/dotnet - e6542746cf944ff2a1a595edf2af006ef3046784 + 0fcb1b533967244768c3322ab70e85ed241aa381 - + https://github.com/dotnet/dotnet - e6542746cf944ff2a1a595edf2af006ef3046784 + 0fcb1b533967244768c3322ab70e85ed241aa381 - + https://github.com/dotnet/dotnet - e6542746cf944ff2a1a595edf2af006ef3046784 + 0fcb1b533967244768c3322ab70e85ed241aa381 - + https://github.com/dotnet/dotnet - e6542746cf944ff2a1a595edf2af006ef3046784 + 0fcb1b533967244768c3322ab70e85ed241aa381 - + https://github.com/dotnet/dotnet - e6542746cf944ff2a1a595edf2af006ef3046784 + 0fcb1b533967244768c3322ab70e85ed241aa381 - + https://github.com/dotnet/dotnet - e6542746cf944ff2a1a595edf2af006ef3046784 + 0fcb1b533967244768c3322ab70e85ed241aa381 @@ -61,25 +61,25 @@ - + https://github.com/dotnet/dotnet - e6542746cf944ff2a1a595edf2af006ef3046784 + 0fcb1b533967244768c3322ab70e85ed241aa381 - + https://github.com/dotnet/dotnet - e6542746cf944ff2a1a595edf2af006ef3046784 + 0fcb1b533967244768c3322ab70e85ed241aa381 - + https://github.com/dotnet/dotnet - e6542746cf944ff2a1a595edf2af006ef3046784 + 0fcb1b533967244768c3322ab70e85ed241aa381 https://github.com/dotnet/xharness 866707736d49c2323628744716cda2475b3af9ee - + https://github.com/dotnet/dotnet - e6542746cf944ff2a1a595edf2af006ef3046784 + 0fcb1b533967244768c3322ab70e85ed241aa381 diff --git a/global.json b/global.json index 05dd3852fc9c..1d0f224a4fea 100644 --- a/global.json +++ b/global.json @@ -11,6 +11,6 @@ "dotnet": "11.0.100-preview.6.26281.102" }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26281.102" + "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26301.109" } } From fff743f6c0066e13336878b20a5c0b53450dc8a4 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Tue, 2 Jun 2026 02:05:13 +0000 Subject: [PATCH 45/54] Re-generate global.json for PR #25379: [net11.0] Update dependencies from dotnet/dotnet --- global.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/global.json b/global.json index 1d0f224a4fea..3f2fcd92b49b 100644 --- a/global.json +++ b/global.json @@ -1,6 +1,6 @@ { "sdk": { - "version": "11.0.100-preview.6.26281.102", + "version": "11.0.100-preview.6.26301.109", "paths": [ "builds/downloads/dotnet", "$host$" @@ -8,7 +8,7 @@ "errorMessage": "The .NET SDK could not be found, please run 'make dotnet -C builds'." }, "tools": { - "dotnet": "11.0.100-preview.6.26281.102" + "dotnet": "11.0.100-preview.6.26301.109" }, "msbuild-sdks": { "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26301.109" From 80736e38baba0d913ad480b829e83c8940fdb950 Mon Sep 17 00:00:00 2001 From: Rolf Bjarne Kvinge Date: Tue, 2 Jun 2026 12:25:35 +0200 Subject: [PATCH 46/54] [tests] Tweak expected IL a bit. --- tests/linker/link sdk/LinkSdkRegressionTest.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/linker/link sdk/LinkSdkRegressionTest.cs b/tests/linker/link sdk/LinkSdkRegressionTest.cs index f3ce13c3f0ff..46e8cbd9eb99 100644 --- a/tests/linker/link sdk/LinkSdkRegressionTest.cs +++ b/tests/linker/link sdk/LinkSdkRegressionTest.cs @@ -955,14 +955,14 @@ static void CheckILLinkStubbedMethod (MethodInfo? m) var reader = new ILReader (m); var il = reader.ToArray (); var actualIL = string.Join ("\n", il.Select (v => v.ToString ().Trim ())); - var releaseRet = "IL_0000 ret"; - var releaseThrow = "IL_0000 ldnull\nIL_0001 throw"; + var releaseRet = "IL_0000 ret"; // only release #if DEBUG // means some stuff in addition to the `ret` instruction - Assert.That (actualIL, Is.Not.EqualTo (releaseRet).And.Not.EqualTo (releaseThrow), $"debug il"); + Assert.That (actualIL, Is.Not.EqualTo (releaseRet), $"debug il"); #else // empty means a `ret` instruction (and that's true even if IL is stripped) - Assert.That (actualIL, Is.EqualTo (releaseRet).Or.EqualTo (releaseThrow), $"release il"); + var trimmedBody = "IL_0000 ldnull\nIL_0001 throw"; // this can happen for both release and debug + Assert.That (actualIL, Is.EqualTo (releaseRet).Or.EqualTo (trimmedBody), $"release il"); #endif } From 71701cc298e33c2b87a0b6910d466d38cc436344 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Wed, 3 Jun 2026 02:03:02 +0000 Subject: [PATCH 47/54] Update dependencies from https://github.com/dotnet/dotnet build 20260602.9 On relative base path root Microsoft.NET.Runtime.MonoTargets.Sdk , Microsoft.NET.ILLink , Microsoft.NET.ILLink.Tasks , Microsoft.NETCore.App.Ref From Version 11.0.0-preview.5.26256.105 -> To Version 11.0.0-preview.6.26302.109 Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.SharedFramework.Sdk From Version 11.0.0-beta.26256.105 -> To Version 11.0.0-beta.26302.109 Microsoft.DotNet.Cecil From Version 0.11.5-preview.26256.105 -> To Version 0.11.5-preview.26302.109 Microsoft.NET.Sdk , Microsoft.TemplateEngine.Authoring.Tasks From Version 11.0.100-preview.5.26256.105 -> To Version 11.0.100-preview.6.26302.109 --- eng/Version.Details.props | 20 ++-- eng/Version.Details.xml | 40 +++---- eng/common/native/install-dependencies.sh | 8 +- eng/common/tools.ps1 | 135 +++++++--------------- eng/common/tools.sh | 44 ++----- global.json | 2 +- 6 files changed, 85 insertions(+), 164 deletions(-) diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 7b0ece1aff46..fa7829b9ba11 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -6,16 +6,16 @@ This file should be imported by eng/Versions.props - 11.0.0-beta.26301.109 - 11.0.0-beta.26301.109 - 0.11.5-preview.26301.109 - 11.0.0-beta.26301.109 - 11.0.0-preview.6.26301.109 - 11.0.0-preview.6.26301.109 - 11.0.0-preview.6.26301.109 - 11.0.100-preview.6.26301.109 - 11.0.0-preview.6.26301.109 - 11.0.100-preview.6.26301.109 + 11.0.0-beta.26302.109 + 11.0.0-beta.26302.109 + 0.11.5-preview.26302.109 + 11.0.0-beta.26302.109 + 11.0.0-preview.6.26302.109 + 11.0.0-preview.6.26302.109 + 11.0.0-preview.6.26302.109 + 11.0.100-preview.6.26302.109 + 11.0.0-preview.6.26302.109 + 11.0.100-preview.6.26302.109 26.0.11017 26.5.10288 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 5f2258e6ea9e..ae25d42f7caf 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,29 +1,29 @@ - + https://github.com/dotnet/dotnet - 0fcb1b533967244768c3322ab70e85ed241aa381 + 953380f224e6f6ee72662fdee8b27900adbb29c2 - + https://github.com/dotnet/dotnet - 0fcb1b533967244768c3322ab70e85ed241aa381 + 953380f224e6f6ee72662fdee8b27900adbb29c2 - + https://github.com/dotnet/dotnet - 0fcb1b533967244768c3322ab70e85ed241aa381 + 953380f224e6f6ee72662fdee8b27900adbb29c2 - + https://github.com/dotnet/dotnet - 0fcb1b533967244768c3322ab70e85ed241aa381 + 953380f224e6f6ee72662fdee8b27900adbb29c2 - + https://github.com/dotnet/dotnet - 0fcb1b533967244768c3322ab70e85ed241aa381 + 953380f224e6f6ee72662fdee8b27900adbb29c2 - + https://github.com/dotnet/dotnet - 0fcb1b533967244768c3322ab70e85ed241aa381 + 953380f224e6f6ee72662fdee8b27900adbb29c2 @@ -61,25 +61,25 @@ - + https://github.com/dotnet/dotnet - 0fcb1b533967244768c3322ab70e85ed241aa381 + 953380f224e6f6ee72662fdee8b27900adbb29c2 - + https://github.com/dotnet/dotnet - 0fcb1b533967244768c3322ab70e85ed241aa381 + 953380f224e6f6ee72662fdee8b27900adbb29c2 - + https://github.com/dotnet/dotnet - 0fcb1b533967244768c3322ab70e85ed241aa381 + 953380f224e6f6ee72662fdee8b27900adbb29c2 https://github.com/dotnet/xharness 866707736d49c2323628744716cda2475b3af9ee - + https://github.com/dotnet/dotnet - 0fcb1b533967244768c3322ab70e85ed241aa381 + 953380f224e6f6ee72662fdee8b27900adbb29c2 diff --git a/eng/common/native/install-dependencies.sh b/eng/common/native/install-dependencies.sh index 4742177a7685..aff839fa0974 100644 --- a/eng/common/native/install-dependencies.sh +++ b/eng/common/native/install-dependencies.sh @@ -24,16 +24,16 @@ case "$os" in apt update apt install -y build-essential gettext locales cmake llvm clang lld lldb liblldb-dev libunwind8-dev libicu-dev liblttng-ust-dev \ - libssl-dev libkrb5-dev pigz cpio ninja-build + libssl-dev libkrb5-dev pigz cpio ninja-build file localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8 elif [ "$ID" = "fedora" ] || [ "$ID" = "rhel" ] || [ "$ID" = "azurelinux" ] || [ "$ID" = "centos" ]; then pkg_mgr="$(command -v tdnf 2>/dev/null || command -v dnf)" - $pkg_mgr install -y cmake llvm lld lldb clang python curl libicu-devel openssl-devel krb5-devel lttng-ust-devel pigz cpio ninja-build + $pkg_mgr install -y cmake llvm lld lldb clang python curl libicu-devel openssl-devel krb5-devel lttng-ust-devel pigz cpio ninja-build file elif [ "$ID" = "amzn" ]; then - dnf install -y cmake llvm lld lldb clang python libicu-devel openssl-devel krb5-devel lttng-ust-devel pigz cpio ninja-build + dnf install -y cmake llvm lld lldb clang python libicu-devel openssl-devel krb5-devel lttng-ust-devel pigz cpio ninja-build file elif [ "$ID" = "alpine" ]; then - apk add build-base cmake bash curl clang llvm llvm-dev lld lldb-dev krb5-dev lttng-ust-dev icu-dev openssl-dev pigz cpio ninja + apk add build-base cmake bash curl clang llvm llvm-dev lld lldb-dev krb5-dev lttng-ust-dev icu-dev openssl-dev pigz cpio ninja file else echo "Unsupported distro. distro: $ID" exit 1 diff --git a/eng/common/tools.ps1 b/eng/common/tools.ps1 index 2dd64758ee6e..fc72fe63049d 100644 --- a/eng/common/tools.ps1 +++ b/eng/common/tools.ps1 @@ -162,12 +162,6 @@ function InitializeDotNetCli([bool]$install, [bool]$createSdkLocationFile) { $env:DOTNET_CLI_TELEMETRY_OPTOUT=1 } - # Keep repo builds isolated from machine-installed SDK state and workload advertising. - # This avoids preview SDK builds picking up mismatched workloads on CI images. - $env:DOTNET_MULTILEVEL_LOOKUP = '0' - $env:DOTNET_SKIP_FIRST_TIME_EXPERIENCE = '1' - $env:DOTNET_CLI_WORKLOAD_UPDATE_NOTIFY_DISABLE = '1' - # Find the first path on %PATH% that contains the dotnet.exe if ($useInstalledDotNetCli -and (-not $globalJsonHasRuntimes) -and ($env:DOTNET_INSTALL_DIR -eq $null)) { $dotnetExecutable = GetExecutableFileName 'dotnet' @@ -230,9 +224,6 @@ function InitializeDotNetCli([bool]$install, [bool]$createSdkLocationFile) { Write-PipelinePrependPath -Path $dotnetRoot Write-PipelineSetVariable -Name 'DOTNET_NOLOGO' -Value '1' - Write-PipelineSetVariable -Name 'DOTNET_MULTILEVEL_LOOKUP' -Value '0' - Write-PipelineSetVariable -Name 'DOTNET_SKIP_FIRST_TIME_EXPERIENCE' -Value '1' - Write-PipelineSetVariable -Name 'DOTNET_CLI_WORKLOAD_UPDATE_NOTIFY_DISABLE' -Value '1' return $global:_DotNetInstallDir = $dotnetRoot } @@ -599,16 +590,16 @@ function GetDefaultMSBuildEngine() { ExitWithExitCode 1 } -function GetNuGetPackageCachePath() { +function InitializeNuGetPackageCachePath() { if ($env:NUGET_PACKAGES -eq $null) { # Use local cache on CI to ensure deterministic build. - # Avoid using the http cache as workaround for https://github.com/NuGet/Home/issues/3116 # use global cache in dev builds to avoid cost of downloading packages. # For directory normalization, see also: https://github.com/NuGet/Home/issues/7968 if ($useGlobalNuGetCache) { - $env:NUGET_PACKAGES = Join-Path $env:UserProfile '.nuget\packages\' + $userProfile = if (IsWindowsPlatform) { $env:UserProfile } else { $env:HOME } + $env:NUGET_PACKAGES = [IO.Path]::Combine($userProfile, '.nuget', 'packages') + [IO.Path]::DirectorySeparatorChar } else { - $env:NUGET_PACKAGES = Join-Path $RepoRoot '.packages\' + $env:NUGET_PACKAGES = [IO.Path]::Combine($RepoRoot, '.packages') + [IO.Path]::DirectorySeparatorChar } } @@ -657,8 +648,6 @@ function InitializeToolset() { return $global:_InitializeToolset } - $nugetCache = GetNuGetPackageCachePath - $toolsetVersion = Read-ArcadeSdkVersion $toolsetToolsDir = Join-Path $ToolsetDir $toolsetVersion @@ -679,7 +668,7 @@ function InitializeToolset() { ExitWithExitCode 1 } - $downloadArgs = @("package", "download", "Microsoft.DotNet.Arcade.Sdk@$toolsetVersion", "--verbosity", "minimal", "--prerelease", "--output", "$nugetCache") + $downloadArgs = @("package", "download", "Microsoft.DotNet.Arcade.Sdk@$toolsetVersion", "--verbosity", "minimal", "--prerelease", "--output", "$nugetPackageCachePath") $nugetConfig = $env:NUGET_CONFIG if (-not $nugetConfig) { # Search for any variation of nuget.config in the RepoRoot @@ -696,7 +685,7 @@ function InitializeToolset() { } DotNet @downloadArgs - $packageDir = Join-Path $nugetCache (Join-Path 'microsoft.dotnet.arcade.sdk' $toolsetVersion) + $packageDir = Join-Path $nugetPackageCachePath (Join-Path 'microsoft.dotnet.arcade.sdk' $toolsetVersion) $packageToolsetDir = Join-Path $packageDir 'toolset' if (!(Test-Path $packageToolsetDir)) { @@ -747,60 +736,6 @@ function Stop-Processes() { # Terminates the script if the build fails. # function MSBuild() { - if ($ci) { - InitializeToolset | Out-Null - - $env:NUGET_PLUGIN_HANDSHAKE_TIMEOUT_IN_SECONDS = 20 - $env:NUGET_PLUGIN_REQUEST_TIMEOUT_IN_SECONDS = 20 - Write-PipelineSetVariable -Name 'NUGET_PLUGIN_HANDSHAKE_TIMEOUT_IN_SECONDS' -Value '20' - Write-PipelineSetVariable -Name 'NUGET_PLUGIN_REQUEST_TIMEOUT_IN_SECONDS' -Value '20' - - Enable-Nuget-EnhancedRetry - } - - MSBuild-Core @args -} - -# -# Executes a dotnet command with arguments passed to the function. -# Terminates the script if the command fails. -# -function DotNet() { - $dotnetRoot = InitializeDotNetCli -install:$restore - $dotnetPath = Join-Path $dotnetRoot (GetExecutableFileName 'dotnet') - - $cmdArgs = "" - foreach ($arg in $args) { - if ($null -ne $arg -and $arg.Trim() -ne "") { - if ($arg.EndsWith('\')) { - $arg = $arg + "\" - } - $cmdArgs += " `"$arg`"" - } - } - - $env:ARCADE_BUILD_TOOL_COMMAND = "`"$dotnetPath`" $cmdArgs" - - $exitCode = Exec-Process $dotnetPath $cmdArgs - - if ($exitCode -ne 0) { - Write-Host "dotnet command failed with exit code $exitCode. Check errors above." -ForegroundColor Red - - if ($ci -and $env:SYSTEM_TEAMPROJECT -ne $null -and !$fromVMR) { - Write-PipelineSetResult -Result "Failed" -Message "dotnet command execution failed." - ExitWithExitCode 0 - } else { - ExitWithExitCode $exitCode - } - } -} - -# -# Executes msbuild (or 'dotnet msbuild') with arguments passed to the function. -# The arguments are automatically quoted. -# Terminates the script if the build fails. -# -function MSBuild-Core() { if ($ci) { if (!$binaryLog -and !$excludeCIBinarylog) { Write-PipelineTelemetryError -Category 'Build' -Message 'Binary log must be enabled in CI build, or explicitly opted-out from with the -excludeCIBinarylog switch.' @@ -813,16 +748,10 @@ function MSBuild-Core() { } } - Enable-Nuget-EnhancedRetry - $buildTool = InitializeBuildTool $cmdArgs = "$($buildTool.Command) /m /nologo /clp:Summary /v:$verbosity /nr:$nodeReuse /p:ContinuousIntegrationBuild=$ci" - if ($ci -and $buildTool.Tool -eq 'dotnet') { - $cmdArgs += ' /p:MSBuildEnableWorkloadResolver=false' - } - # Add -mt flag for MSBuild multithreaded mode if enabled via environment variable if ($env:MSBUILD_MT_ENABLED -eq "1") { $cmdArgs += ' -mt' @@ -876,6 +805,40 @@ function MSBuild-Core() { } } +# +# Executes a dotnet command with arguments passed to the function. +# Terminates the script if the command fails. +# +function DotNet() { + $dotnetRoot = InitializeDotNetCli -install:$restore + $dotnetPath = Join-Path $dotnetRoot (GetExecutableFileName 'dotnet') + + $cmdArgs = "" + foreach ($arg in $args) { + if ($null -ne $arg -and $arg.Trim() -ne "") { + if ($arg.EndsWith('\')) { + $arg = $arg + "\" + } + $cmdArgs += " `"$arg`"" + } + } + + $env:ARCADE_BUILD_TOOL_COMMAND = "`"$dotnetPath`" $cmdArgs" + + $exitCode = Exec-Process $dotnetPath $cmdArgs + + if ($exitCode -ne 0) { + Write-Host "dotnet command failed with exit code $exitCode. Check errors above." -ForegroundColor Red + + if ($ci -and $env:SYSTEM_TEAMPROJECT -ne $null -and !$fromVMR) { + Write-PipelineSetResult -Result "Failed" -Message "dotnet command execution failed." + ExitWithExitCode 0 + } else { + ExitWithExitCode $exitCode + } + } +} + function GetMSBuildBinaryLogCommandLineArgument($arguments) { foreach ($argument in $arguments) { if ($argument -ne $null) { @@ -960,19 +923,5 @@ if (!$disableConfigureToolsetImport) { } } -# -# If $ci flag is set, turn on (and log that we did) special environment variables for improved Nuget client retry logic. -# -function Enable-Nuget-EnhancedRetry() { - if ($ci) { - Write-Host "Setting NUGET enhanced retry environment variables" - $env:NUGET_ENABLE_ENHANCED_HTTP_RETRY = 'true' - $env:NUGET_ENHANCED_MAX_NETWORK_TRY_COUNT = 6 - $env:NUGET_ENHANCED_NETWORK_RETRY_DELAY_MILLISECONDS = 1000 - $env:NUGET_RETRY_HTTP_429 = 'true' - Write-PipelineSetVariable -Name 'NUGET_ENABLE_ENHANCED_HTTP_RETRY' -Value 'true' - Write-PipelineSetVariable -Name 'NUGET_ENHANCED_MAX_NETWORK_TRY_COUNT' -Value '6' - Write-PipelineSetVariable -Name 'NUGET_ENHANCED_NETWORK_RETRY_DELAY_MILLISECONDS' -Value '1000' - Write-PipelineSetVariable -Name 'NUGET_RETRY_HTTP_429' -Value 'true' - } -} +# Initialize the nuget package cache vars +$nugetPackageCachePath = InitializeNuGetPackageCachePath diff --git a/eng/common/tools.sh b/eng/common/tools.sh index 2a587f1184af..48cab70ebf4b 100644 --- a/eng/common/tools.sh +++ b/eng/common/tools.sh @@ -116,12 +116,6 @@ function InitializeDotNetCli { export DOTNET_CLI_TELEMETRY_OPTOUT=1 fi - # Keep repo builds isolated from machine-installed SDK state and workload advertising. - # This avoids preview SDK builds picking up mismatched workloads on CI images. - export DOTNET_MULTILEVEL_LOOKUP=0 - export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 - export DOTNET_CLI_WORKLOAD_UPDATE_NOTIFY_DISABLE=1 - # LTTNG is the logging infrastructure used by Core CLR. Need this variable set # so it doesn't output warnings to the console. export LTTNG_HOME="$HOME" @@ -167,9 +161,6 @@ function InitializeDotNetCli { Write-PipelinePrependPath -path "$dotnet_root" Write-PipelineSetVariable -name "DOTNET_NOLOGO" -value "1" - Write-PipelineSetVariable -name "DOTNET_MULTILEVEL_LOOKUP" -value "0" - Write-PipelineSetVariable -name "DOTNET_SKIP_FIRST_TIME_EXPERIENCE" -value "1" - Write-PipelineSetVariable -name "DOTNET_CLI_WORKLOAD_UPDATE_NOTIFY_DISABLE" -value "1" # return value _InitializeDotNetCli="$dotnet_root" @@ -373,7 +364,7 @@ function InitializeBuildTool { _InitializeBuildToolCommand="msbuild" } -function GetNuGetPackageCachePath { +function InitializeNuGetPackageCachePath { if [[ -z ${NUGET_PACKAGES:-} ]]; then if [[ "$use_global_nuget_cache" == true ]]; then export NUGET_PACKAGES="$HOME/.nuget/packages/" @@ -383,7 +374,7 @@ function GetNuGetPackageCachePath { fi # return value - _GetNuGetPackageCachePath=$NUGET_PACKAGES + _InitializeNuGetPackageCachePath=$NUGET_PACKAGES } function InitializeNativeTools() { @@ -405,8 +396,6 @@ function InitializeToolset { return fi - GetNuGetPackageCachePath - ReadGlobalVersion "Microsoft.DotNet.Arcade.Sdk" local toolset_version=$_ReadGlobalVersion @@ -429,7 +418,7 @@ function InitializeToolset { ExitWithExitCode 2 fi - local download_args=("package" "download" "Microsoft.DotNet.Arcade.Sdk@$toolset_version" "--verbosity" "minimal" "--prerelease" "--output" "$_GetNuGetPackageCachePath") + local download_args=("package" "download" "Microsoft.DotNet.Arcade.Sdk@$toolset_version" "--verbosity" "minimal" "--prerelease" "--output" "$_InitializeNuGetPackageCachePath") local nuget_config="${NUGET_CONFIG:-}" if [[ -z "$nuget_config" ]]; then # Search for any variation of nuget.config in the RepoRoot @@ -446,7 +435,7 @@ function InitializeToolset { fi DotNet "${download_args[@]}" - local package_dir="$_GetNuGetPackageCachePath/microsoft.dotnet.arcade.sdk/$toolset_version" + local package_dir="$_InitializeNuGetPackageCachePath/microsoft.dotnet.arcade.sdk/$toolset_version" if [[ ! -d "$package_dir/toolset" ]]; then Write-PipelineTelemetryError -category 'InitializeToolset' "Arcade SDK package does not contain a toolset folder: $package_dir" @@ -502,21 +491,6 @@ function DotNet { } function MSBuild { - local args=( "$@" ) - - if [[ "$ci" == true ]]; then - InitializeToolset - - export NUGET_PLUGIN_HANDSHAKE_TIMEOUT_IN_SECONDS=20 - export NUGET_PLUGIN_REQUEST_TIMEOUT_IN_SECONDS=20 - Write-PipelineSetVariable -name "NUGET_PLUGIN_HANDSHAKE_TIMEOUT_IN_SECONDS" -value "20" - Write-PipelineSetVariable -name "NUGET_PLUGIN_REQUEST_TIMEOUT_IN_SECONDS" -value "20" - fi - - MSBuild-Core "${args[@]}" -} - -function MSBuild-Core { if [[ "$ci" == true ]]; then if [[ "$binary_log" != true && "$exclude_ci_binary_log" != true ]]; then Write-PipelineTelemetryError -category 'Build' "Binary log must be enabled in CI build, or explicitly opted-out from with the -noBinaryLog switch." @@ -569,12 +543,7 @@ function MSBuild-Core { warnnotaserror_switch="/warnnotaserror:$warn_not_as_error /p:AdditionalWarningsNotAsErrors=$warn_not_as_error" fi - local workload_resolver_switch="" - if [[ "$ci" == true && -n "${_InitializeBuildToolCommand:-}" ]]; then - workload_resolver_switch="/p:MSBuildEnableWorkloadResolver=false" - fi - - RunBuildTool "$_InitializeBuildToolCommand" /m /nologo /clp:Summary /v:$verbosity /nr:$node_reuse $warnaserror_switch $mt_switch $warnnotaserror_switch $workload_resolver_switch /p:TreatWarningsAsErrors=$warn_as_error /p:ContinuousIntegrationBuild=$ci "$@" + RunBuildTool "$_InitializeBuildToolCommand" /m /nologo /clp:Summary /v:$verbosity /nr:$node_reuse $warnaserror_switch $mt_switch $warnnotaserror_switch /p:TreatWarningsAsErrors=$warn_as_error /p:ContinuousIntegrationBuild=$ci "$@" } function GetDarc { @@ -665,3 +634,6 @@ fi if [[ -n "${useInstalledDotNetCli:-}" ]]; then use_installed_dotnet_cli="$useInstalledDotNetCli" fi + +# Initialize the nuget package cache vars +InitializeNuGetPackageCachePath diff --git a/global.json b/global.json index 3f2fcd92b49b..ebeb44f938b7 100644 --- a/global.json +++ b/global.json @@ -11,6 +11,6 @@ "dotnet": "11.0.100-preview.6.26301.109" }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26301.109" + "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26302.109" } } From 21b120304cfb8e382b05d3bb0e45e6fa4441488e Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Wed, 3 Jun 2026 02:03:42 +0000 Subject: [PATCH 48/54] Re-generate global.json for PR #25379: [net11.0] Update dependencies from dotnet/dotnet --- global.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/global.json b/global.json index ebeb44f938b7..f5a4fb8aca09 100644 --- a/global.json +++ b/global.json @@ -1,6 +1,6 @@ { "sdk": { - "version": "11.0.100-preview.6.26301.109", + "version": "11.0.100-preview.6.26302.109", "paths": [ "builds/downloads/dotnet", "$host$" @@ -8,7 +8,7 @@ "errorMessage": "The .NET SDK could not be found, please run 'make dotnet -C builds'." }, "tools": { - "dotnet": "11.0.100-preview.6.26301.109" + "dotnet": "11.0.100-preview.6.26302.109" }, "msbuild-sdks": { "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26302.109" From 94645dab3cb415cc3752367eb52587b1971ab6fc Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Thu, 4 Jun 2026 02:02:38 +0000 Subject: [PATCH 49/54] Update dependencies from https://github.com/dotnet/dotnet build 20260603.11 On relative base path root Microsoft.NET.Runtime.MonoTargets.Sdk , Microsoft.NET.ILLink , Microsoft.NET.ILLink.Tasks , Microsoft.NETCore.App.Ref From Version 11.0.0-preview.5.26256.105 -> To Version 11.0.0-preview.6.26303.111 Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.SharedFramework.Sdk From Version 11.0.0-beta.26256.105 -> To Version 11.0.0-beta.26303.111 Microsoft.DotNet.Cecil From Version 0.11.5-preview.26256.105 -> To Version 0.11.5-preview.26303.111 Microsoft.NET.Sdk , Microsoft.TemplateEngine.Authoring.Tasks From Version 11.0.100-preview.5.26256.105 -> To Version 11.0.100-preview.6.26303.111 --- eng/Version.Details.props | 20 +++++----- eng/Version.Details.xml | 40 +++++++++---------- .../native/LocateNativeCompiler.targets | 27 +++++++++++++ global.json | 2 +- 4 files changed, 58 insertions(+), 31 deletions(-) create mode 100644 eng/common/native/LocateNativeCompiler.targets diff --git a/eng/Version.Details.props b/eng/Version.Details.props index fa7829b9ba11..24a92ef75799 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -6,16 +6,16 @@ This file should be imported by eng/Versions.props - 11.0.0-beta.26302.109 - 11.0.0-beta.26302.109 - 0.11.5-preview.26302.109 - 11.0.0-beta.26302.109 - 11.0.0-preview.6.26302.109 - 11.0.0-preview.6.26302.109 - 11.0.0-preview.6.26302.109 - 11.0.100-preview.6.26302.109 - 11.0.0-preview.6.26302.109 - 11.0.100-preview.6.26302.109 + 11.0.0-beta.26303.111 + 11.0.0-beta.26303.111 + 0.11.5-preview.26303.111 + 11.0.0-beta.26303.111 + 11.0.0-preview.6.26303.111 + 11.0.0-preview.6.26303.111 + 11.0.0-preview.6.26303.111 + 11.0.100-preview.6.26303.111 + 11.0.0-preview.6.26303.111 + 11.0.100-preview.6.26303.111 26.0.11017 26.5.10288 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index ae25d42f7caf..0f7832643c7a 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,29 +1,29 @@ - + https://github.com/dotnet/dotnet - 953380f224e6f6ee72662fdee8b27900adbb29c2 + 272cf6be68b94cffb7572b5286e791be83641bfd - + https://github.com/dotnet/dotnet - 953380f224e6f6ee72662fdee8b27900adbb29c2 + 272cf6be68b94cffb7572b5286e791be83641bfd - + https://github.com/dotnet/dotnet - 953380f224e6f6ee72662fdee8b27900adbb29c2 + 272cf6be68b94cffb7572b5286e791be83641bfd - + https://github.com/dotnet/dotnet - 953380f224e6f6ee72662fdee8b27900adbb29c2 + 272cf6be68b94cffb7572b5286e791be83641bfd - + https://github.com/dotnet/dotnet - 953380f224e6f6ee72662fdee8b27900adbb29c2 + 272cf6be68b94cffb7572b5286e791be83641bfd - + https://github.com/dotnet/dotnet - 953380f224e6f6ee72662fdee8b27900adbb29c2 + 272cf6be68b94cffb7572b5286e791be83641bfd @@ -61,25 +61,25 @@ - + https://github.com/dotnet/dotnet - 953380f224e6f6ee72662fdee8b27900adbb29c2 + 272cf6be68b94cffb7572b5286e791be83641bfd - + https://github.com/dotnet/dotnet - 953380f224e6f6ee72662fdee8b27900adbb29c2 + 272cf6be68b94cffb7572b5286e791be83641bfd - + https://github.com/dotnet/dotnet - 953380f224e6f6ee72662fdee8b27900adbb29c2 + 272cf6be68b94cffb7572b5286e791be83641bfd https://github.com/dotnet/xharness 866707736d49c2323628744716cda2475b3af9ee - + https://github.com/dotnet/dotnet - 953380f224e6f6ee72662fdee8b27900adbb29c2 + 272cf6be68b94cffb7572b5286e791be83641bfd diff --git a/eng/common/native/LocateNativeCompiler.targets b/eng/common/native/LocateNativeCompiler.targets new file mode 100644 index 000000000000..028b33d94441 --- /dev/null +++ b/eng/common/native/LocateNativeCompiler.targets @@ -0,0 +1,27 @@ + + + + + clang + $(ROOTFS_DIR) + + + + + + + + $(_CC_LDFLAGS.SubString(0, $(_CC_LDFLAGS.IndexOf(';')))) + <_LDFLAGS>$(_CC_LDFLAGS.SubString($([MSBuild]::Add($(_CC_LDFLAGS.IndexOf(';')), 1)))) + lld + + + diff --git a/global.json b/global.json index f5a4fb8aca09..88062821e102 100644 --- a/global.json +++ b/global.json @@ -11,6 +11,6 @@ "dotnet": "11.0.100-preview.6.26302.109" }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26302.109" + "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26303.111" } } From 50df5618482430e3349ed77b37742230304539aa Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Thu, 4 Jun 2026 02:03:23 +0000 Subject: [PATCH 50/54] Re-generate global.json for PR #25379: [net11.0] Update dependencies from dotnet/dotnet --- global.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/global.json b/global.json index 88062821e102..735715a289b4 100644 --- a/global.json +++ b/global.json @@ -1,6 +1,6 @@ { "sdk": { - "version": "11.0.100-preview.6.26302.109", + "version": "11.0.100-preview.6.26303.111", "paths": [ "builds/downloads/dotnet", "$host$" @@ -8,7 +8,7 @@ "errorMessage": "The .NET SDK could not be found, please run 'make dotnet -C builds'." }, "tools": { - "dotnet": "11.0.100-preview.6.26302.109" + "dotnet": "11.0.100-preview.6.26303.111" }, "msbuild-sdks": { "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26303.111" From 27509a01cd2be7ec93753f3de7017278881d4891 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Fri, 5 Jun 2026 02:02:27 +0000 Subject: [PATCH 51/54] Update dependencies from https://github.com/dotnet/dotnet build 20260604.13 On relative base path root Microsoft.NET.Runtime.MonoTargets.Sdk , Microsoft.NET.ILLink , Microsoft.NET.ILLink.Tasks , Microsoft.NETCore.App.Ref From Version 11.0.0-preview.5.26256.105 -> To Version 11.0.0-preview.6.26304.113 Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.SharedFramework.Sdk From Version 11.0.0-beta.26256.105 -> To Version 11.0.0-beta.26304.113 Microsoft.DotNet.Cecil From Version 0.11.5-preview.26256.105 -> To Version 0.11.5-preview.26304.113 Microsoft.NET.Sdk , Microsoft.TemplateEngine.Authoring.Tasks From Version 11.0.100-preview.5.26256.105 -> To Version 11.0.100-preview.6.26304.113 --- eng/Version.Details.props | 20 +++++----- eng/Version.Details.xml | 40 +++++++++---------- .../core-templates/job/helix-job-monitor.yml | 2 +- eng/common/core-templates/job/job.yml | 6 +++ eng/common/templates/job/job.yml | 5 --- global.json | 2 +- 6 files changed, 38 insertions(+), 37 deletions(-) diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 24a92ef75799..add1db82bb40 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -6,16 +6,16 @@ This file should be imported by eng/Versions.props - 11.0.0-beta.26303.111 - 11.0.0-beta.26303.111 - 0.11.5-preview.26303.111 - 11.0.0-beta.26303.111 - 11.0.0-preview.6.26303.111 - 11.0.0-preview.6.26303.111 - 11.0.0-preview.6.26303.111 - 11.0.100-preview.6.26303.111 - 11.0.0-preview.6.26303.111 - 11.0.100-preview.6.26303.111 + 11.0.0-beta.26304.113 + 11.0.0-beta.26304.113 + 0.11.5-preview.26304.113 + 11.0.0-beta.26304.113 + 11.0.0-preview.6.26304.113 + 11.0.0-preview.6.26304.113 + 11.0.0-preview.6.26304.113 + 11.0.100-preview.6.26304.113 + 11.0.0-preview.6.26304.113 + 11.0.100-preview.6.26304.113 26.0.11017 26.5.10288 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 0f7832643c7a..1918f7638e32 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,29 +1,29 @@ - + https://github.com/dotnet/dotnet - 272cf6be68b94cffb7572b5286e791be83641bfd + 1edacc8de1a9fef827f05750fb9f64f1dcec9abd - + https://github.com/dotnet/dotnet - 272cf6be68b94cffb7572b5286e791be83641bfd + 1edacc8de1a9fef827f05750fb9f64f1dcec9abd - + https://github.com/dotnet/dotnet - 272cf6be68b94cffb7572b5286e791be83641bfd + 1edacc8de1a9fef827f05750fb9f64f1dcec9abd - + https://github.com/dotnet/dotnet - 272cf6be68b94cffb7572b5286e791be83641bfd + 1edacc8de1a9fef827f05750fb9f64f1dcec9abd - + https://github.com/dotnet/dotnet - 272cf6be68b94cffb7572b5286e791be83641bfd + 1edacc8de1a9fef827f05750fb9f64f1dcec9abd - + https://github.com/dotnet/dotnet - 272cf6be68b94cffb7572b5286e791be83641bfd + 1edacc8de1a9fef827f05750fb9f64f1dcec9abd @@ -61,25 +61,25 @@ - + https://github.com/dotnet/dotnet - 272cf6be68b94cffb7572b5286e791be83641bfd + 1edacc8de1a9fef827f05750fb9f64f1dcec9abd - + https://github.com/dotnet/dotnet - 272cf6be68b94cffb7572b5286e791be83641bfd + 1edacc8de1a9fef827f05750fb9f64f1dcec9abd - + https://github.com/dotnet/dotnet - 272cf6be68b94cffb7572b5286e791be83641bfd + 1edacc8de1a9fef827f05750fb9f64f1dcec9abd https://github.com/dotnet/xharness 866707736d49c2323628744716cda2475b3af9ee - + https://github.com/dotnet/dotnet - 272cf6be68b94cffb7572b5286e791be83641bfd + 1edacc8de1a9fef827f05750fb9f64f1dcec9abd diff --git a/eng/common/core-templates/job/helix-job-monitor.yml b/eng/common/core-templates/job/helix-job-monitor.yml index 767450da2fcb..a8162c511667 100644 --- a/eng/common/core-templates/job/helix-job-monitor.yml +++ b/eng/common/core-templates/job/helix-job-monitor.yml @@ -170,7 +170,7 @@ jobs: toolArgs=( --helix-base-uri '${{ parameters.helixBaseUri }}' --polling-interval-seconds '${{ parameters.pollingIntervalSeconds }}' - --max-wait-minutes "$((${{ parameters.timeoutInMinutes }} - 2))" # Set the tool's timeout slightly lower than the Azure DevOps job timeout to allow it to exit gracefully. + --max-wait-minutes "$((${{ parameters.timeoutInMinutes }} - 5))" # Set the tool's timeout slightly lower than the Azure DevOps job timeout to allow it to exit gracefully. --stage-name '$(System.StageName)' ) diff --git a/eng/common/core-templates/job/job.yml b/eng/common/core-templates/job/job.yml index 66c7988f222a..cb60f5297844 100644 --- a/eng/common/core-templates/job/job.yml +++ b/eng/common/core-templates/job/job.yml @@ -75,6 +75,12 @@ jobs: variables: - name: AllowPtrToDetectTestRunRetryFiles value: true + # Component Governance detection and CodeQL are not run in the public project + - ${{ if eq(variables['System.TeamProject'], 'public') }}: + - name: skipComponentGovernanceDetection + value: true + - name: Codeql.SkipTaskAutoInjection + value: true - ${{ if ne(parameters.enableTelemetry, 'false') }}: - name: DOTNET_CLI_TELEMETRY_PROFILE value: '$(Build.Repository.Uri)' diff --git a/eng/common/templates/job/job.yml b/eng/common/templates/job/job.yml index 5e261f34db42..85501406a541 100644 --- a/eng/common/templates/job/job.yml +++ b/eng/common/templates/job/job.yml @@ -21,11 +21,6 @@ jobs: - ${{ each step in parameters.steps }}: - ${{ step }} - # we don't run CG in public - - ${{ if eq(variables['System.TeamProject'], 'public') }}: - - script: echo "##vso[task.setvariable variable=skipComponentGovernanceDetection]true" - displayName: Set skipComponentGovernanceDetection variable - artifactPublishSteps: - ${{ if ne(parameters.artifacts.publish, '') }}: - ${{ if and(ne(parameters.artifacts.publish.artifacts, 'false'), ne(parameters.artifacts.publish.artifacts, '')) }}: diff --git a/global.json b/global.json index 735715a289b4..1c7a6d96207a 100644 --- a/global.json +++ b/global.json @@ -11,6 +11,6 @@ "dotnet": "11.0.100-preview.6.26303.111" }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26303.111" + "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26304.113" } } From 191596582409b00f00ee0e5171dd05c619b32dc1 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Fri, 5 Jun 2026 02:03:12 +0000 Subject: [PATCH 52/54] Re-generate global.json for PR #25379: [net11.0] Update dependencies from dotnet/dotnet --- global.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/global.json b/global.json index 1c7a6d96207a..eca4a2bf497d 100644 --- a/global.json +++ b/global.json @@ -1,6 +1,6 @@ { "sdk": { - "version": "11.0.100-preview.6.26303.111", + "version": "11.0.100-preview.6.26304.113", "paths": [ "builds/downloads/dotnet", "$host$" @@ -8,7 +8,7 @@ "errorMessage": "The .NET SDK could not be found, please run 'make dotnet -C builds'." }, "tools": { - "dotnet": "11.0.100-preview.6.26303.111" + "dotnet": "11.0.100-preview.6.26304.113" }, "msbuild-sdks": { "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26304.113" From d8302262a51e20f463fa436b2fe66c48edae7e2b Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Sat, 6 Jun 2026 02:02:53 +0000 Subject: [PATCH 53/54] Update dependencies from https://github.com/dotnet/dotnet build 20260605.1 On relative base path root Microsoft.NET.Runtime.MonoTargets.Sdk , Microsoft.NET.ILLink , Microsoft.NET.ILLink.Tasks , Microsoft.NETCore.App.Ref From Version 11.0.0-preview.5.26256.105 -> To Version 11.0.0-preview.6.26305.101 Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.SharedFramework.Sdk From Version 11.0.0-beta.26256.105 -> To Version 11.0.0-beta.26305.101 Microsoft.DotNet.Cecil From Version 0.11.5-preview.26256.105 -> To Version 0.11.5-preview.26305.101 Microsoft.NET.Sdk , Microsoft.TemplateEngine.Authoring.Tasks From Version 11.0.100-preview.5.26256.105 -> To Version 11.0.100-preview.6.26305.101 --- eng/Version.Details.props | 20 ++++++++++---------- eng/Version.Details.xml | 40 +++++++++++++++++++-------------------- global.json | 2 +- 3 files changed, 31 insertions(+), 31 deletions(-) diff --git a/eng/Version.Details.props b/eng/Version.Details.props index add1db82bb40..fab91b639077 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -6,16 +6,16 @@ This file should be imported by eng/Versions.props - 11.0.0-beta.26304.113 - 11.0.0-beta.26304.113 - 0.11.5-preview.26304.113 - 11.0.0-beta.26304.113 - 11.0.0-preview.6.26304.113 - 11.0.0-preview.6.26304.113 - 11.0.0-preview.6.26304.113 - 11.0.100-preview.6.26304.113 - 11.0.0-preview.6.26304.113 - 11.0.100-preview.6.26304.113 + 11.0.0-beta.26305.101 + 11.0.0-beta.26305.101 + 0.11.5-preview.26305.101 + 11.0.0-beta.26305.101 + 11.0.0-preview.6.26305.101 + 11.0.0-preview.6.26305.101 + 11.0.0-preview.6.26305.101 + 11.0.100-preview.6.26305.101 + 11.0.0-preview.6.26305.101 + 11.0.100-preview.6.26305.101 26.0.11017 26.5.10288 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 1918f7638e32..bd21c83ae1fb 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,29 +1,29 @@ - + https://github.com/dotnet/dotnet - 1edacc8de1a9fef827f05750fb9f64f1dcec9abd + 025cac314d7303a35dcc77dd4ef2b209ab98c641 - + https://github.com/dotnet/dotnet - 1edacc8de1a9fef827f05750fb9f64f1dcec9abd + 025cac314d7303a35dcc77dd4ef2b209ab98c641 - + https://github.com/dotnet/dotnet - 1edacc8de1a9fef827f05750fb9f64f1dcec9abd + 025cac314d7303a35dcc77dd4ef2b209ab98c641 - + https://github.com/dotnet/dotnet - 1edacc8de1a9fef827f05750fb9f64f1dcec9abd + 025cac314d7303a35dcc77dd4ef2b209ab98c641 - + https://github.com/dotnet/dotnet - 1edacc8de1a9fef827f05750fb9f64f1dcec9abd + 025cac314d7303a35dcc77dd4ef2b209ab98c641 - + https://github.com/dotnet/dotnet - 1edacc8de1a9fef827f05750fb9f64f1dcec9abd + 025cac314d7303a35dcc77dd4ef2b209ab98c641 @@ -61,25 +61,25 @@ - + https://github.com/dotnet/dotnet - 1edacc8de1a9fef827f05750fb9f64f1dcec9abd + 025cac314d7303a35dcc77dd4ef2b209ab98c641 - + https://github.com/dotnet/dotnet - 1edacc8de1a9fef827f05750fb9f64f1dcec9abd + 025cac314d7303a35dcc77dd4ef2b209ab98c641 - + https://github.com/dotnet/dotnet - 1edacc8de1a9fef827f05750fb9f64f1dcec9abd + 025cac314d7303a35dcc77dd4ef2b209ab98c641 https://github.com/dotnet/xharness 866707736d49c2323628744716cda2475b3af9ee - + https://github.com/dotnet/dotnet - 1edacc8de1a9fef827f05750fb9f64f1dcec9abd + 025cac314d7303a35dcc77dd4ef2b209ab98c641 diff --git a/global.json b/global.json index eca4a2bf497d..5ea519285a6a 100644 --- a/global.json +++ b/global.json @@ -11,6 +11,6 @@ "dotnet": "11.0.100-preview.6.26304.113" }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26304.113" + "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26305.101" } } From d8d3e6f9b7411086a53e0ad3781ba49eb0639395 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Sat, 6 Jun 2026 02:03:40 +0000 Subject: [PATCH 54/54] Re-generate global.json for PR #25379: [net11.0] Update dependencies from dotnet/dotnet --- global.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/global.json b/global.json index 5ea519285a6a..35060ed9a7f4 100644 --- a/global.json +++ b/global.json @@ -1,6 +1,6 @@ { "sdk": { - "version": "11.0.100-preview.6.26304.113", + "version": "11.0.100-preview.6.26305.101", "paths": [ "builds/downloads/dotnet", "$host$" @@ -8,7 +8,7 @@ "errorMessage": "The .NET SDK could not be found, please run 'make dotnet -C builds'." }, "tools": { - "dotnet": "11.0.100-preview.6.26304.113" + "dotnet": "11.0.100-preview.6.26305.101" }, "msbuild-sdks": { "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26305.101"