Replace ubuntu22 VM and Helix images with Azure Linux 3#53792
Replace ubuntu22 VM and Helix images with Azure Linux 3#53792marcpopMSFT wants to merge 3 commits intorelease/8.0.1xxfrom
Conversation
There was a problem hiding this comment.
Pull request overview
Updates this repo’s Azure Pipelines configuration to migrate Linux CI/PR jobs from Ubuntu 22.04 images/queues to Azure Linux 3 equivalents.
Changes:
- Switches
agentOslabels fromUbuntu_22_04*toAzureLinux_3*for build and template-engine jobs. - Replaces Ubuntu 22.04 pool image/demand selectors with
build.azurelinux.3.*selectors. - Updates Helix target queues from Ubuntu 22.04 queues to Azure Linux 3 queues.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
eng/template-engine.yml |
Moves template-engine Linux job to Azure Linux 3 pool demands and Helix queue. |
.vsts-pr.yml |
Updates PR pipeline Linux job to Azure Linux 3 agentOs, pool demands, and Helix queue. |
.vsts-ci.yml |
Updates CI pipeline Linux jobs (including template-engine) to Azure Linux 3 pool images and Helix queues. |
| demands: ImageOverride -equals build.azurelinux.3.amd64 | ||
| ${{ if eq(variables['System.TeamProject'], 'public') }}: | ||
| helixTargetQueue: 'ubuntu.2204.amd64.open@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04-helix-amd64' | ||
| helixTargetQueue: 'azurelinux.3.amd64.open@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04-helix-amd64' |
There was a problem hiding this comment.
The Helix target queue was switched to azurelinux.3.amd64.open, but the Docker image override is still pinned to prereqs:ubuntu-22.04-helix-amd64. If the intent is to fully migrate Helix to Azure Linux 3, this should likely be updated to the Azure Linux 3 prereqs image (or the override removed). If keeping the Ubuntu image is intentional, consider documenting why to avoid confusion when debugging Helix environment issues.
| helixTargetQueue: 'azurelinux.3.amd64.open@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04-helix-amd64' | |
| helixTargetQueue: azurelinux.3.amd64.open |
| os: linux | ||
| ${{ if eq(variables['System.TeamProject'], 'public') }}: | ||
| helixTargetQueue: 'ubuntu.2204.amd64.open@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04-helix-amd64' | ||
| helixTargetQueue: 'azurelinux.3.amd64.open@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04-helix-amd64' |
There was a problem hiding this comment.
The queue name has moved to azurelinux.3.amd64.open, but the Helix Docker image override remains prereqs:ubuntu-22.04-helix-amd64. If Azure Linux 3 has a corresponding prereqs image, consider switching to it (or dropping the override) so the queue/OS name and the container environment don’t diverge unexpectedly.
| helixTargetQueue: 'azurelinux.3.amd64.open@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04-helix-amd64' | |
| helixTargetQueue: azurelinux.3.amd64.open |
Replace Ubuntu 22.04 VM pool images, Helix queues, and agentOs labels with Azure Linux 3 equivalents across CI/PR pipelines. Changes: - 1es-ubuntu-2204-open -> build.azurelinux.3.amd64.open - 1es-ubuntu-2204 -> build.azurelinux.3.amd64 - build.ubuntu.2204.amd64.open -> build.azurelinux.3.amd64.open - build.ubuntu.2204.amd64 -> build.azurelinux.3.amd64 - ubuntu.2204.amd64.open -> azurelinux.3.amd64.open - Ubuntu.2204.Amd64 -> AzureLinux.3.Amd64 - agentOs: Ubuntu_22_04 -> AzureLinux_3 - vmImage: ubuntu-22.04 -> demands-based pool with azurelinux image Container images and eng/common (from arcade) are unchanged. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
4afa861 to
3ce2fa2
Compare
These tests fail on Azure Linux 3 because older .NET Core runtimes (netcoreapp3.0/3.1) require libicu for globalization support, which is not installed by default on Azure Linux. Since these TFMs are long out of support, remove them rather than adding workarounds. Changes: - Remove netcoreapp3.1 from PublishTestUtils.SupportedTfms (affects ~14 tests) - Remove netcoreapp3.0 InlineData from ILLink_runs_and_creates_linked_app - Remove netcoreapp3.1 InlineData from ILLink_old_defaults_keep_nonframework - Remove netcoreapp3.1 InlineData from ILLink_displays_informational_warning_up_to_net5_by_default - Retarget ILLink_and_crossgen_process_razor_assembly from netcoreapp3.0 to net6.0 - Update CreateTestProjectForILLinkTesting helper package reference TFM from netcoreapp3.0 to net5.0 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Set DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=true in both RunTestsOnHelix.sh and RunTestsOnHelix.cmd so old .NET Core runtimes (1.x/2.x) can run on distros without ICU installed (e.g., Azure Linux 3) - Fix ILLink_and_crossgen_process_razor_assembly test: check TestWeb.dll instead of TestWeb.Views.dll since net6.0+ compiles Razor views into the main assembly Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Replace Ubuntu 22.04 VM pool images, Helix queues, and agentOs labels with Azure Linux 3 equivalents across CI/PR pipelines.
Changes:
Container images and eng/common (from arcade) are unchanged.