From 8f7583d813ccd5272feac04bf3de9145cba47e30 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexander=20K=C3=B6plinger?= Date: Thu, 2 Oct 2025 13:33:33 +0200 Subject: [PATCH 1/5] Upgrade to AzureLinux 3.0 in AzDO builds --- eng/azure-pipelines-codeql.yml | 6 +++++- eng/azure-pipelines-public.yml | 10 +++++----- eng/azure-pipelines.yml | 30 +++++++++++++++--------------- 3 files changed, 25 insertions(+), 21 deletions(-) diff --git a/eng/azure-pipelines-codeql.yml b/eng/azure-pipelines-codeql.yml index edd6b6805a03d..b343691b3a714 100644 --- a/eng/azure-pipelines-codeql.yml +++ b/eng/azure-pipelines-codeql.yml @@ -41,7 +41,7 @@ stages: x64: assetManifestOS: linux assetManifestPlatform: x64 - imagename: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-amd64 + imagename: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-net10.0-cross-amd64 rootfs: /crossrootfs/x64 ExtraArgs: -p:LibsRoot=/crossrootfs/x64/usr/lib/x86_64-linux-gnu ClangTargetArg: /p:ClangTarget=x86_64-linux-gnu @@ -62,6 +62,10 @@ stages: git clean -ffdx git reset --hard HEAD displayName: 'Clean up working directory' + + - bash: | + tdnf install -y which + displayName: 'Install CodeQL dependencies' - task: CodeQL3000Init@0 displayName: Initialize CodeQL (manually-injected) diff --git a/eng/azure-pipelines-public.yml b/eng/azure-pipelines-public.yml index a86fa4750a5a9..225f4e5c6fa3a 100644 --- a/eng/azure-pipelines-public.yml +++ b/eng/azure-pipelines-public.yml @@ -47,7 +47,7 @@ stages: x64: assetManifestOS: linux assetManifestPlatform: x64 - imagename: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-amd64 + imagename: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-net10.0-cross-amd64 rootfs: /crossrootfs/x64 ExtraArgs: -p:LibsRoot=/crossrootfs/x64/usr/lib/x86_64-linux-gnu ClangTargetArg: /p:ClangTarget=x86_64-linux-gnu @@ -56,7 +56,7 @@ stages: arm64: assetManifestOS: linux assetManifestPlatform: arm64 - imagename: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-arm64 + imagename: mcr.microsoft.com/dotnet-buildtools/prereqs:cazurelinux-3.0-net10.0-cross-arm64 rootfs: /crossrootfs/arm64 ExtraArgs: -p:LibsRoot=/crossrootfs/arm64/usr/lib/aarch64-linux-gnu ClangTargetArg: /p:ClangTarget=aarch64-linux-gnu @@ -65,7 +65,7 @@ stages: arm: assetManifestOS: linux assetManifestPlatform: arm - imagename: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-arm + imagename: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-net10.0-cross-arm rootfs: /crossrootfs/arm ExtraArgs: -p:LibsRoot=/crossrootfs/arm/usr/lib/arm-linux-gnueabihf ClangTargetArg: /p:ClangTarget=arm-linux-gnueabihf @@ -100,7 +100,7 @@ stages: x64: assetManifestOS: linux-musl assetManifestPlatform: x64 - imagename: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-amd64-alpine + imagename: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-net10.0-cross-amd64-alpine rootfs: /crossrootfs/x64 ExtraArgs: -p:LibsRoot=/crossrootfs/x64/lib ClangTargetArg: /p:ClangTarget=x86_64-alpine-linux-musl @@ -109,7 +109,7 @@ stages: arm64: assetManifestOS: linux-musl assetManifestPlatform: arm64 - imagename: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-arm64-alpine + imagename: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-net10.0-cross-arm64-alpine rootfs: /crossrootfs/arm64 ExtraArgs: -p:LibsRoot=/crossrootfs/arm64/lib ClangTargetArg: /p:ClangTarget=aarch64-alpine-linux-musl diff --git a/eng/azure-pipelines.yml b/eng/azure-pipelines.yml index 2ecf2d5034604..365dce33d002a 100644 --- a/eng/azure-pipelines.yml +++ b/eng/azure-pipelines.yml @@ -24,35 +24,35 @@ parameters: default: - arch: x64 assetManifestOS: linux - imagename: mariner2crossamd64 + imagename: azurelinux3crossamd64 rootfs: /crossrootfs/x64 ExtraArgs: -p:LibsRoot=/crossrootfs/x64/usr/lib/x86_64-linux-gnu ClangTargetArg: /p:ClangTarget=x86_64-linux-gnu ClangBinDirArg: /p:ClangBinDir=/usr/local/bin - arch: arm64 assetManifestOS: linux - imagename: mariner2crossarm64 + imagename: azurelinux3crossarm64 rootfs: /crossrootfs/arm64 ExtraArgs: -p:LibsRoot=/crossrootfs/arm64/usr/lib/aarch64-linux-gnu ClangTargetArg: /p:ClangTarget=aarch64-linux-gnu ClangBinDirArg: /p:ClangBinDir=/usr/local/bin - arch: arm assetManifestOS: linux - imagename: mariner2crossarm + imagename: azurelinux3crossarm rootfs: /crossrootfs/arm ExtraArgs: -p:LibsRoot=/crossrootfs/arm/usr/lib/arm-linux-gnueabihf ClangTargetArg: /p:ClangTarget=arm-linux-gnueabihf ClangBinDirArg: /p:ClangBinDir=/usr/local/bin - arch: x64 assetManifestOS: linux-musl - imagename: mariner2crossamd64alpine + imagename: azurelinux3crossamd64alpine rootfs: /crossrootfs/x64 ExtraArgs: -p:LibsRoot=/crossrootfs/x64/lib -p:OutputRid=linux-musl-x64 ClangTargetArg: /p:ClangTarget=x86_64-alpine-linux-musl ClangBinDirArg: /p:ClangBinDir=/usr/local/bin - arch: arm64 assetManifestOS: linux-musl - imagename: mariner2crossarm64alpine + imagename: azurelinux3crossarm64alpine rootfs: /crossrootfs/arm64 ExtraArgs: -p:LibsRoot=/crossrootfs/arm64/lib -p:OutputRid=linux-musl-arm64 ClangTargetArg: /p:ClangTarget=aarch64-alpine-linux-musl @@ -94,16 +94,16 @@ extends: credscan: suppressionsFile: $(Build.SourcesDirectory)/.config/CredScanSuppressions.json containers: - mariner2crossamd64: - image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-amd64 - mariner2crossarm64: - image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-arm64 - mariner2crossarm: - image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-arm - mariner2crossamd64alpine: - image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-amd64-alpine - mariner2crossarm64alpine: - image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-arm64-alpine + azurelinux3crossamd64: + image: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-net10.0-cross-amd64 + azurelinux3crossarm64: + image: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-net10.0-cross-arm64 + azurelinux3crossarm: + image: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-net10.0-cross-arm + azurelinux3crossamd64alpine: + image: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-net10.0-cross-amd64-alpine + azurelinux3crossarm64alpine: + image: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-net10.0-cross-arm64-alpine stages: - stage: build displayName: Build From cc9b067a9c9f7db9cbddf18d692471489b29d6f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexander=20K=C3=B6plinger?= Date: Thu, 2 Oct 2025 14:04:09 +0200 Subject: [PATCH 2/5] Install zlib-devel --- eng/azure-pipelines-codeql.yml | 6 +++++- eng/azure-pipelines-public.yml | 15 ++++++++------- eng/azure-pipelines.yml | 4 ++++ 3 files changed, 17 insertions(+), 8 deletions(-) diff --git a/eng/azure-pipelines-codeql.yml b/eng/azure-pipelines-codeql.yml index b343691b3a714..1afbad0814bbb 100644 --- a/eng/azure-pipelines-codeql.yml +++ b/eng/azure-pipelines-codeql.yml @@ -62,11 +62,15 @@ stages: git clean -ffdx git reset --hard HEAD displayName: 'Clean up working directory' - + - bash: | tdnf install -y which displayName: 'Install CodeQL dependencies' + - bash: | + tdnf install -y zlib-devel + displayName: 'Install build dependencies' + - task: CodeQL3000Init@0 displayName: Initialize CodeQL (manually-injected) diff --git a/eng/azure-pipelines-public.yml b/eng/azure-pipelines-public.yml index 225f4e5c6fa3a..e9e572c1aaa9d 100644 --- a/eng/azure-pipelines-public.yml +++ b/eng/azure-pipelines-public.yml @@ -27,13 +27,6 @@ stages: enablePublishBuildArtifacts: true enablePublishBuildAssets: true enablePublishUsingPipelines: true - enableSourceBuild: true - sourceBuildParameters: - platforms: - - name: 'AlmaLinux_8_Portable' - container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:almalinux-8-source-build' - jobProperties: - timeoutInMinutes: 600 jobs: ############ LINUX BUILD ############ @@ -83,6 +76,10 @@ stages: git reset --hard HEAD displayName: 'Clean up working directory' + - bash: | + tdnf install -y zlib-devel + displayName: 'Install build dependencies' + - bash: | ./build.sh --ci --restore --build --pack $(archflag) --configuration $(_BuildConfig) $(_InternalBuildArgs) $(ClangBinDirArg) $(ClangTargetArg) $(ExtraArgs) displayName: 'Build and package' @@ -127,6 +124,10 @@ stages: git reset --hard HEAD displayName: 'Clean up working directory' + - bash: | + tdnf install -y zlib-devel + displayName: 'Install build dependencies' + - bash: | ./build.sh --ci --restore --build --pack $(archflag) --configuration $(_BuildConfig) $(_InternalBuildArgs) /p:OutputRid=linux-musl-$(assetManifestPlatform) $(ClangBinDirArg) $(ClangTargetArg) $(ExtraArgs) displayName: 'Build and package' diff --git a/eng/azure-pipelines.yml b/eng/azure-pipelines.yml index 365dce33d002a..42a2b477d71ea 100644 --- a/eng/azure-pipelines.yml +++ b/eng/azure-pipelines.yml @@ -140,6 +140,10 @@ extends: git reset --hard HEAD displayName: 'Clean up working directory' + - bash: | + tdnf install -y zlib-devel + displayName: 'Install build dependencies' + - bash: | ./build.sh --ci --restore --build --pack --arch ${{ buildjob.arch }} --configuration $(_BuildConfig) $(_InternalBuildArgs) ${{ buildjob.ClangBinDirArg }} ${{ buildjob.ClangTargetArg }} ${{ buildjob.ExtraArgs }} displayName: 'Build and package' From a0fe1d329cfaf2ee4dfe85f1c38abafac1a7641d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexander=20K=C3=B6plinger?= Date: Thu, 2 Oct 2025 14:14:07 +0200 Subject: [PATCH 3/5] Use sudo --- eng/azure-pipelines-codeql.yml | 4 ++-- eng/azure-pipelines-public.yml | 4 ++-- eng/azure-pipelines.yml | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/eng/azure-pipelines-codeql.yml b/eng/azure-pipelines-codeql.yml index 1afbad0814bbb..d71df68d59cbd 100644 --- a/eng/azure-pipelines-codeql.yml +++ b/eng/azure-pipelines-codeql.yml @@ -64,11 +64,11 @@ stages: displayName: 'Clean up working directory' - bash: | - tdnf install -y which + sudo tdnf install -y which displayName: 'Install CodeQL dependencies' - bash: | - tdnf install -y zlib-devel + sudo tdnf install -y zlib-devel displayName: 'Install build dependencies' - task: CodeQL3000Init@0 diff --git a/eng/azure-pipelines-public.yml b/eng/azure-pipelines-public.yml index e9e572c1aaa9d..20cb61bb247a9 100644 --- a/eng/azure-pipelines-public.yml +++ b/eng/azure-pipelines-public.yml @@ -77,7 +77,7 @@ stages: displayName: 'Clean up working directory' - bash: | - tdnf install -y zlib-devel + sudo tdnf install -y zlib-devel displayName: 'Install build dependencies' - bash: | @@ -125,7 +125,7 @@ stages: displayName: 'Clean up working directory' - bash: | - tdnf install -y zlib-devel + sudo tdnf install -y zlib-devel displayName: 'Install build dependencies' - bash: | diff --git a/eng/azure-pipelines.yml b/eng/azure-pipelines.yml index 42a2b477d71ea..f8b9ac469acf9 100644 --- a/eng/azure-pipelines.yml +++ b/eng/azure-pipelines.yml @@ -141,7 +141,7 @@ extends: displayName: 'Clean up working directory' - bash: | - tdnf install -y zlib-devel + sudo tdnf install -y zlib-devel displayName: 'Install build dependencies' - bash: | From 1ebfa8101a3168e105920a4e4b70f44ffafcbf23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexander=20K=C3=B6plinger?= Date: Thu, 2 Oct 2025 14:17:25 +0200 Subject: [PATCH 4/5] Fix typo --- eng/azure-pipelines-public.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/azure-pipelines-public.yml b/eng/azure-pipelines-public.yml index 20cb61bb247a9..b1e081eaf864d 100644 --- a/eng/azure-pipelines-public.yml +++ b/eng/azure-pipelines-public.yml @@ -49,7 +49,7 @@ stages: arm64: assetManifestOS: linux assetManifestPlatform: arm64 - imagename: mcr.microsoft.com/dotnet-buildtools/prereqs:cazurelinux-3.0-net10.0-cross-arm64 + imagename: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-net10.0-cross-arm64 rootfs: /crossrootfs/arm64 ExtraArgs: -p:LibsRoot=/crossrootfs/arm64/usr/lib/aarch64-linux-gnu ClangTargetArg: /p:ClangTarget=aarch64-linux-gnu From de799e22efc1bb7d5eb3ca56da705e02d12a453a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexander=20K=C3=B6plinger?= Date: Thu, 2 Oct 2025 15:28:57 +0200 Subject: [PATCH 5/5] Use su instead of sudo --- eng/azure-pipelines-codeql.yml | 4 ++-- eng/azure-pipelines-public.yml | 4 ++-- eng/azure-pipelines.yml | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/eng/azure-pipelines-codeql.yml b/eng/azure-pipelines-codeql.yml index d71df68d59cbd..ab87d1eff5f26 100644 --- a/eng/azure-pipelines-codeql.yml +++ b/eng/azure-pipelines-codeql.yml @@ -64,11 +64,11 @@ stages: displayName: 'Clean up working directory' - bash: | - sudo tdnf install -y which + su -c "tdnf install -y which" displayName: 'Install CodeQL dependencies' - bash: | - sudo tdnf install -y zlib-devel + su -c "tdnf install -y zlib-devel" displayName: 'Install build dependencies' - task: CodeQL3000Init@0 diff --git a/eng/azure-pipelines-public.yml b/eng/azure-pipelines-public.yml index b1e081eaf864d..bd8aaef569166 100644 --- a/eng/azure-pipelines-public.yml +++ b/eng/azure-pipelines-public.yml @@ -77,7 +77,7 @@ stages: displayName: 'Clean up working directory' - bash: | - sudo tdnf install -y zlib-devel + ssu -c "tdnf install -y zlib-devel" displayName: 'Install build dependencies' - bash: | @@ -125,7 +125,7 @@ stages: displayName: 'Clean up working directory' - bash: | - sudo tdnf install -y zlib-devel + su -c "tdnf install -y zlib-devel" displayName: 'Install build dependencies' - bash: | diff --git a/eng/azure-pipelines.yml b/eng/azure-pipelines.yml index f8b9ac469acf9..0bf454c76e0ad 100644 --- a/eng/azure-pipelines.yml +++ b/eng/azure-pipelines.yml @@ -141,7 +141,7 @@ extends: displayName: 'Clean up working directory' - bash: | - sudo tdnf install -y zlib-devel + su -c "tdnf install -y zlib-devel" displayName: 'Install build dependencies' - bash: |