From b41e5cf05b7c5b42243cddf0f473f86438eaf793 Mon Sep 17 00:00:00 2001 From: Marc Paine Date: Tue, 22 Jul 2025 11:39:18 -0700 Subject: [PATCH 01/12] Attempt to update the rest of our container images to ones that are latest and in support. --- .vsts-ci.yml | 39 +++++++++++++++++++-------------------- .vsts-pr.yml | 14 +++++++------- 2 files changed, 26 insertions(+), 27 deletions(-) diff --git a/.vsts-ci.yml b/.vsts-ci.yml index 6a93a9e789b7..15f743539002 100644 --- a/.vsts-ci.yml +++ b/.vsts-ci.yml @@ -47,20 +47,20 @@ extends: template: v1/1ES.Official.PipelineTemplate.yml@1esPipelines parameters: containers: - alpine319WithNode: - image: mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.19-WithNode - cblMariner20Fpm: - image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-fpm + alpine322WithNode: + image: mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.22-amd64 + azureLinux30: + image: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-net8.0-build-amd64 centosStream9: image: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream9 - debian11: - image: mcr.microsoft.com/dotnet-buildtools/prereqs:debian-11-amd64 - fedora40: - image: mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-40 + debian12: + image: mcr.microsoft.com/dotnet-buildtools/prereqs:debian-12-amd64 + fedora42: + image: mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-42 ubuntu2204: image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04 - mariner20CrossArm: - image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-arm-alpine + azureLinux30CrossArm: + image: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-net8.0-cross-arm-alpine ubuntu2204DebPkg: image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04-debpkg sdl: @@ -120,8 +120,8 @@ extends: - template: eng/build.yml@self parameters: agentOs: Linux - jobName: Build_Fedora_40_Debug_x64 - container: fedora40 + jobName: Build_Fedora_42_Debug_x64 + container: fedora42 buildConfiguration: Debug buildArchitecture: x64 linuxPortable: true @@ -135,12 +135,11 @@ extends: buildArchitecture: x64 linuxPortable: false runTests: true - additionalBuildParameters: '/p:OSName=centos.8' - template: eng/build.yml@self parameters: agentOs: Linux - jobName: Build_Debian_11_Debug_x64 - container: debian11 + jobName: Build_Debian_12_Debug_x64 + container: debian12 buildConfiguration: Debug buildArchitecture: x64 additionalBuildParameters: '/p:BuildSdkDeb=true' @@ -160,7 +159,7 @@ extends: parameters: agentOs: Linux jobName: Build_Linux_musl_Debug_x64 - container: alpine319WithNode + container: alpine322WithNode buildConfiguration: Debug buildArchitecture: x64 runtimeIdentifier: 'linux-musl-x64' @@ -234,7 +233,7 @@ extends: parameters: agentOs: Linux jobName: Build_Linux_musl_Release_arm - container: mariner20CrossArm + container: azureLinux30CrossArm buildConfiguration: Release buildArchitecture: arm runtimeIdentifier: 'linux-musl-arm' @@ -255,7 +254,7 @@ extends: parameters: agentOs: Linux jobName: Build_Linux_musl_Release_x64 - container: alpine319WithNode + container: alpine322WithNode buildConfiguration: Release buildArchitecture: x64 runtimeIdentifier: 'linux-musl-x64' @@ -279,7 +278,7 @@ extends: parameters: agentOs: Linux jobName: Build_Linux_Portable_Rpm_Release_x64 - container: cblMariner20Fpm + container: azureLinux30 buildConfiguration: Release buildArchitecture: x64 # Do not publish zips and tarballs. The linux-x64 binaries are @@ -291,7 +290,7 @@ extends: parameters: agentOs: Linux jobName: Build_Linux_Portable_Rpm_Release_Arm64 - container: cblMariner20Fpm + container: azureLinux30 buildConfiguration: Release buildArchitecture: arm64 runtimeIdentifier: 'linux-arm64' diff --git a/.vsts-pr.yml b/.vsts-pr.yml index 65f508a4a70e..72a018317307 100644 --- a/.vsts-pr.yml +++ b/.vsts-pr.yml @@ -78,8 +78,8 @@ stages: - template: eng/build-pr.yml parameters: agentOs: Linux - jobName: Build_Fedora_36_Debug_x64 - container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-36' + jobName: Build_Fedora_42_Debug_x64 + container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-42' buildConfiguration: Debug buildArchitecture: x64 linuxPortable: true @@ -96,8 +96,8 @@ stages: - template: eng/build-pr.yml parameters: agentOs: Linux - jobName: Build_Debian_11_Debug_x64 - container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:debian-11-amd64' + jobName: Build_Debian_12_Debug_x64 + container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:debian-12-amd64' buildConfiguration: Debug buildArchitecture: x64 additionalBuildParameters: '/p:BuildSdkDeb=true' @@ -218,7 +218,7 @@ stages: parameters: agentOs: Linux jobName: Build_Linux_musl_Release_x64 - container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.19-WithNode' + container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.22-amd64' buildConfiguration: Release buildArchitecture: x64 runtimeIdentifier: 'linux-musl-x64' @@ -242,7 +242,7 @@ stages: parameters: agentOs: Linux jobName: Build_Linux_Portable_Rpm_Release_x64 - container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-fpm' + container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-net8.0-build-amd64' buildConfiguration: Release buildArchitecture: x64 # Do not publish zips and tarballs. The linux-x64 binaries are @@ -254,7 +254,7 @@ stages: parameters: agentOs: Linux jobName: Build_Linux_Portable_Rpm_Release_Arm64 - container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-fpm' + container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-net8.0-build-amd64' buildConfiguration: Release buildArchitecture: arm64 runtimeIdentifier: 'linux-arm64' From 1c415b922c6edd67b74a195cf78b294b781617f8 Mon Sep 17 00:00:00 2001 From: Marc Paine Date: Tue, 22 Jul 2025 14:03:25 -0700 Subject: [PATCH 02/12] Update debian and fedora --- .vsts-ci.yml | 10 +++++----- .vsts-pr.yml | 6 +++--- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.vsts-ci.yml b/.vsts-ci.yml index 15f743539002..2a3b3a539b26 100644 --- a/.vsts-ci.yml +++ b/.vsts-ci.yml @@ -54,9 +54,9 @@ extends: centosStream9: image: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream9 debian12: - image: mcr.microsoft.com/dotnet-buildtools/prereqs:debian-12-amd64 - fedora42: - image: mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-42 + image: mcr.microsoft.com/dotnet-buildtools/prereqs:debian-12-helix-amd64 + fedora41: + image: mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-41 ubuntu2204: image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04 azureLinux30CrossArm: @@ -120,8 +120,8 @@ extends: - template: eng/build.yml@self parameters: agentOs: Linux - jobName: Build_Fedora_42_Debug_x64 - container: fedora42 + jobName: Build_Fedora_41_Debug_x64 + container: fedora41 buildConfiguration: Debug buildArchitecture: x64 linuxPortable: true diff --git a/.vsts-pr.yml b/.vsts-pr.yml index 72a018317307..67e3a9ed42f8 100644 --- a/.vsts-pr.yml +++ b/.vsts-pr.yml @@ -78,8 +78,8 @@ stages: - template: eng/build-pr.yml parameters: agentOs: Linux - jobName: Build_Fedora_42_Debug_x64 - container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-42' + jobName: Build_Fedora_41_Debug_x64 + container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-41' buildConfiguration: Debug buildArchitecture: x64 linuxPortable: true @@ -97,7 +97,7 @@ stages: parameters: agentOs: Linux jobName: Build_Debian_12_Debug_x64 - container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:debian-12-amd64' + container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:debian-12-helix-amd64' buildConfiguration: Debug buildArchitecture: x64 additionalBuildParameters: '/p:BuildSdkDeb=true' From 66d4b08281fede5786c5a059662bdb6da2bc0650 Mon Sep 17 00:00:00 2001 From: Marc Paine Date: Tue, 22 Jul 2025 16:41:13 -0700 Subject: [PATCH 03/12] Switch back to using the unofficial templates for PRs They want us to split the PRs out into a separate pipeline that will have different capabilities (ie we can't sign from a PR pipeline). That needs to run on unofficial 1ES templates so the easiest way to do this is just add the conditional back. --- .vsts-ci.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.vsts-ci.yml b/.vsts-ci.yml index 6a93a9e789b7..4149140fd986 100644 --- a/.vsts-ci.yml +++ b/.vsts-ci.yml @@ -44,7 +44,10 @@ resources: ref: refs/tags/release extends: - template: v1/1ES.Official.PipelineTemplate.yml@1esPipelines + ${{ if ne(variables['Build.Reason'], 'PullRequest') }}: + template: v1/1ES.Official.PipelineTemplate.yml@1esPipelines + ${{ else }}: + template: v1/1ES.Unofficial.PipelineTemplate.yml@1esPipelines parameters: containers: alpine319WithNode: From 990e2ba15b420301939dab39665d511a5bd58084 Mon Sep 17 00:00:00 2001 From: Marc Paine Date: Tue, 22 Jul 2025 16:53:57 -0700 Subject: [PATCH 04/12] A few tests fail on net2 on these new linux targets so disabling those tests --- test/SdkTests/TestsToSkipLinux.xml | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/test/SdkTests/TestsToSkipLinux.xml b/test/SdkTests/TestsToSkipLinux.xml index db2474aab3b9..027a59668337 100644 --- a/test/SdkTests/TestsToSkipLinux.xml +++ b/test/SdkTests/TestsToSkipLinux.xml @@ -9,5 +9,17 @@ - + + + + + From cbb3bed1319998688d983ed8dce270f75eb60991 Mon Sep 17 00:00:00 2001 From: Wenwen <53243232+Winniexu01@users.noreply.github.com> Date: Wed, 23 Jul 2025 14:21:37 +0000 Subject: [PATCH 05/12] Retry all errors to handle curl (18) (#20501) --- src/SourceBuild/content/prep.sh | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/SourceBuild/content/prep.sh b/src/SourceBuild/content/prep.sh index a842566b2ea4..ca8210b5320a 100755 --- a/src/SourceBuild/content/prep.sh +++ b/src/SourceBuild/content/prep.sh @@ -117,7 +117,23 @@ function DownloadArchive { if [[ $archiveVersionLine =~ $versionPattern ]]; then archiveUrl="${BASH_REMATCH[1]}" echo " Downloading source-built $archiveType from $archiveUrl..." - (cd "$packagesArchiveDir" && curl --retry 5 -O "$archiveUrl") + ( + cd "$packagesArchiveDir" && + for i in {1..5}; do + if curl --retry 5 -O "$archiveUrl"; then + exit 0 + else + case $? in + 18) + sleep 3 + ;; + *) + exit 1 + ;; + esac + fi + done + ) elif [ "$isRequired" == true ]; then echo " ERROR: $notFoundMessage" exit 1 From 50f4bdd9f6bae5e61204f0d64b44bedac38e6f6d Mon Sep 17 00:00:00 2001 From: Marc Paine Date: Wed, 23 Jul 2025 14:36:26 -0700 Subject: [PATCH 06/12] switch to the debian gcc image --- .vsts-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.vsts-ci.yml b/.vsts-ci.yml index 2a3b3a539b26..963a7a0ea402 100644 --- a/.vsts-ci.yml +++ b/.vsts-ci.yml @@ -54,7 +54,7 @@ extends: centosStream9: image: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream9 debian12: - image: mcr.microsoft.com/dotnet-buildtools/prereqs:debian-12-helix-amd64 + image: mcr.microsoft.com/dotnet-buildtools/prereqs:debian-12-gcc15-amd64 fedora41: image: mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-41 ubuntu2204: From 2817fe7d2fb4a15fa34e1ac84f5c0e28a1fedfe3 Mon Sep 17 00:00:00 2001 From: Marc Paine Date: Fri, 25 Jul 2025 12:41:51 -0700 Subject: [PATCH 07/12] Switch the PR yml to use the gcc debian image --- .vsts-pr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.vsts-pr.yml b/.vsts-pr.yml index 67e3a9ed42f8..d42fe74655be 100644 --- a/.vsts-pr.yml +++ b/.vsts-pr.yml @@ -97,7 +97,7 @@ stages: parameters: agentOs: Linux jobName: Build_Debian_12_Debug_x64 - container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:debian-12-helix-amd64' + container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:debian-12-gcc15-amd64' buildConfiguration: Debug buildArchitecture: x64 additionalBuildParameters: '/p:BuildSdkDeb=true' From ad324b85af93e40e2781341b07dc9cf6beaa28f1 Mon Sep 17 00:00:00 2001 From: Marc Paine Date: Fri, 25 Jul 2025 14:05:50 -0700 Subject: [PATCH 08/12] Update TestsToSkipLinux.xml for an additional test Couldn't find a valid ICU package installed on the system. Set the configuration flag System.Globalization.Invariant to true if you want to run with no globalization support. --- test/SdkTests/TestsToSkipLinux.xml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/test/SdkTests/TestsToSkipLinux.xml b/test/SdkTests/TestsToSkipLinux.xml index 027a59668337..78ebf66dc132 100644 --- a/test/SdkTests/TestsToSkipLinux.xml +++ b/test/SdkTests/TestsToSkipLinux.xml @@ -21,5 +21,8 @@ - + + From 0b23695547026e2f858a7bb6b078e1c779ac6f33 Mon Sep 17 00:00:00 2001 From: Marc Paine Date: Fri, 25 Jul 2025 15:18:12 -0700 Subject: [PATCH 09/12] Remove WithNode as that's no longer part of the container name --- .vsts-ci.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.vsts-ci.yml b/.vsts-ci.yml index 963a7a0ea402..3204eaa1732e 100644 --- a/.vsts-ci.yml +++ b/.vsts-ci.yml @@ -47,7 +47,7 @@ extends: template: v1/1ES.Official.PipelineTemplate.yml@1esPipelines parameters: containers: - alpine322WithNode: + alpine322: image: mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.22-amd64 azureLinux30: image: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-net8.0-build-amd64 @@ -159,7 +159,7 @@ extends: parameters: agentOs: Linux jobName: Build_Linux_musl_Debug_x64 - container: alpine322WithNode + container: alpine322 buildConfiguration: Debug buildArchitecture: x64 runtimeIdentifier: 'linux-musl-x64' @@ -254,7 +254,7 @@ extends: parameters: agentOs: Linux jobName: Build_Linux_musl_Release_x64 - container: alpine322WithNode + container: alpine322 buildConfiguration: Release buildArchitecture: x64 runtimeIdentifier: 'linux-musl-x64' From 53f2db4ec78881e9513754c5a528abbf2d8bbd3c Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Tue, 29 Jul 2025 02:02:38 +0000 Subject: [PATCH 10/12] Update dependencies from https://github.com/dotnet/arcade build 20250728.1 Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.CMake.Sdk From Version 8.0.0-beta.25366.2 -> To Version 8.0.0-beta.25378.1 --- eng/Version.Details.xml | 12 ++++++------ eng/Versions.props | 2 +- eng/common/templates-official/job/job.yml | 10 ++++++---- global.json | 4 ++-- 4 files changed, 15 insertions(+), 13 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 4459da4b8ff5..4d33881ad708 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -219,18 +219,18 @@ - + https://github.com/dotnet/arcade - a73c08ec0de5a6e5e2a8668837df67edecb3a3da + 8dca4f8ae100b102230287f8cc1b75264c9f1a6f - + https://github.com/dotnet/arcade - a73c08ec0de5a6e5e2a8668837df67edecb3a3da + 8dca4f8ae100b102230287f8cc1b75264c9f1a6f - + https://github.com/dotnet/arcade - a73c08ec0de5a6e5e2a8668837df67edecb3a3da + 8dca4f8ae100b102230287f8cc1b75264c9f1a6f https://github.com/dotnet/arcade-services diff --git a/eng/Versions.props b/eng/Versions.props index be8fdc136156..4002440800a7 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -40,7 +40,7 @@ - 8.0.0-beta.25366.2 + 8.0.0-beta.25378.1 diff --git a/eng/common/templates-official/job/job.yml b/eng/common/templates-official/job/job.yml index 9713e93c84cd..b98f6a6505d3 100644 --- a/eng/common/templates-official/job/job.yml +++ b/eng/common/templates-official/job/job.yml @@ -21,6 +21,7 @@ parameters: # See schema documentation - https://github.com/dotnet/arcade/blob/master/Documentation/AzureDevOps/TemplateSchema.md artifacts: '' enableMicrobuild: false + microbuildUseESRP: true enablePublishBuildArtifacts: false enablePublishBuildAssets: false enablePublishTestResults: false @@ -135,10 +136,11 @@ jobs: signType: $(_SignType) zipSources: false feedSource: https://dnceng.pkgs.visualstudio.com/_packaging/MicroBuildToolset/nuget/v3/index.json - ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: - ConnectedPMEServiceName: 6cc74545-d7b9-4050-9dfa-ebefcc8961ea - ${{ else }}: - ConnectedPMEServiceName: 248d384a-b39b-46e3-8ad5-c2c210d5e7ca + ${{ if eq(parameters.microbuildUseESRP, true) }}: + ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: + ConnectedPMEServiceName: 6cc74545-d7b9-4050-9dfa-ebefcc8961ea + ${{ else }}: + ConnectedPMEServiceName: 248d384a-b39b-46e3-8ad5-c2c210d5e7ca env: TeamName: $(_TeamName) MicroBuildOutputFolderOverride: '$(Agent.TempDirectory)' diff --git a/global.json b/global.json index 795ba936ad1c..f57247f72c42 100644 --- a/global.json +++ b/global.json @@ -11,7 +11,7 @@ "cmake": "3.21.0" }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "8.0.0-beta.25366.2", - "Microsoft.DotNet.CMake.Sdk": "8.0.0-beta.25366.2" + "Microsoft.DotNet.Arcade.Sdk": "8.0.0-beta.25378.1", + "Microsoft.DotNet.CMake.Sdk": "8.0.0-beta.25378.1" } } From bd27942e240451e2669494974c6b05919d257175 Mon Sep 17 00:00:00 2001 From: Sean Reeser Date: Mon, 4 Aug 2025 10:47:46 -0700 Subject: [PATCH 11/12] Update branding to 8.0.120 --- eng/Versions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/Versions.props b/eng/Versions.props index be8fdc136156..3d545f2ba9c4 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -8,7 +8,7 @@ 8 0 1 - 19 + 20 $(VersionMajor).$(VersionMinor).$(VersionSDKMinor)$(VersionFeature) $(VersionMajor).$(VersionMinor) $(MajorMinorVersion).$(VersionSDKMinor) From aa4f38e42cb36e0520bcea1e2c7531e16227f45d Mon Sep 17 00:00:00 2001 From: Marc Paine Date: Mon, 4 Aug 2025 13:14:39 -0700 Subject: [PATCH 12/12] fix the branding --- eng/Versions.props | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eng/Versions.props b/eng/Versions.props index 4dbb49f67777..f523ba2e9d61 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -7,8 +7,8 @@ 8 0 - 1 - 20 + 3 + 17 $(VersionMajor).$(VersionMinor).$(VersionSDKMinor)$(VersionFeature) $(VersionMajor).$(VersionMinor) $(MajorMinorVersion).$(VersionSDKMinor)