Skip to content

[automated] Merge branch 'release/8.0.1xx' => 'release/8.0.4xx'#55207

Merged
dsplaisted merged 13 commits into
release/8.0.4xxfrom
merge/release/8.0.1xx-to-release/8.0.4xx
Jul 14, 2026
Merged

[automated] Merge branch 'release/8.0.1xx' => 'release/8.0.4xx'#55207
dsplaisted merged 13 commits into
release/8.0.4xxfrom
merge/release/8.0.1xx-to-release/8.0.4xx

Conversation

@github-actions

@github-actions github-actions Bot commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

I detected changes in the release/8.0.1xx branch which have not been merged yet to release/8.0.4xx. I'm a robot and am configured to help you automatically keep release/8.0.4xx up to date, so I've opened this PR.

This PR merges commits made on release/8.0.1xx by the following committers:

  • marcpopMSFT

Instructions for merging from UI

This PR will not be auto-merged. When pull request checks pass, complete this PR by creating a merge commit, not a squash or rebase commit.

merge button instructions

If this repo does not allow creating merge commits from the GitHub UI, use command line instructions.

Instructions for merging via command line

Run these commands to merge this pull request from the command line.

git fetch
git checkout release/8.0.1xx
git pull --ff-only
git checkout release/8.0.4xx
git pull --ff-only
git merge --no-ff release/8.0.1xx

# If there are merge conflicts, resolve them and then run git merge --continue to complete the merge
# Pushing the changes to the PR branch will re-trigger PR validation.
git push https://github.com/dotnet/sdk HEAD:merge/release/8.0.1xx-to-release/8.0.4xx
or if you are using SSH
git push git@github.com:dotnet/sdk HEAD:merge/release/8.0.1xx-to-release/8.0.4xx

After PR checks are complete push the branch

git push

Instructions for resolving conflicts

⚠️ If there are merge conflicts, you will need to resolve them manually before merging. You can do this using GitHub or using the command line.

Instructions for updating this pull request

Contributors to this repo have permission update this pull request by pushing to the branch 'merge/release/8.0.1xx-to-release/8.0.4xx'. This can be done to resolve conflicts or make other changes to this pull request before it is merged.
The provided examples assume that the remote is named 'origin'. If you have a different remote name, please replace 'origin' with the name of your remote.

git fetch
git checkout -b merge/release/8.0.1xx-to-release/8.0.4xx origin/release/8.0.4xx
git pull https://github.com/dotnet/sdk merge/release/8.0.1xx-to-release/8.0.4xx
(make changes)
git commit -m "Updated PR with my changes"
git push https://github.com/dotnet/sdk HEAD:merge/release/8.0.1xx-to-release/8.0.4xx
or if you are using SSH
git fetch
git checkout -b merge/release/8.0.1xx-to-release/8.0.4xx origin/release/8.0.4xx
git pull git@github.com:dotnet/sdk merge/release/8.0.1xx-to-release/8.0.4xx
(make changes)
git commit -m "Updated PR with my changes"
git push git@github.com:dotnet/sdk HEAD:merge/release/8.0.1xx-to-release/8.0.4xx

Contact .NET Core Engineering (dotnet/dnceng) if you have questions or issues.
Also, if this PR was generated incorrectly, help us fix it. See https://github.com/dotnet/arcade/blob/main/.github/workflows/scripts/inter-branch-merge.ps1.

marcpopMSFT and others added 12 commits May 27, 2026 11:21
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>
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>
The globalization invariant mode was causing ~70+ test failures on
Azure Linux 3 by preventing culture-aware operations:
- CultureNotFoundException for en-US, ja, de, fr cultures
- Missing satellite assemblies (.resources.dll/.resources.wasm)
- Failed culture code warnings in build tasks
- Cascading test directory collisions from Arcade retries

Azure Linux 3 Helix images have ICU installed, so invariant mode
is not needed. Windows never needed it either.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Create ICU version symlinks in RunTestsOnHelix.sh so old .NET runtimes
(< .NET 6) can discover ICU on Azure Linux 3 where the ICU version (74)
is higher than what those runtimes probe for via dlopen.

Also update EnvironmentInfo.SupportsTargetFramework to skip netcoreapp1.x
tests on Azure Linux since those runtimes are not installed there.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…ymlinks

Azure Linux 3 ships ICU 72 which uses versioned symbol names (e.g.
u_charsToUChars_72). Old .NET runtimes (< .NET 5) try to load symbols
with older version suffixes that don't exist in ICU 72, causing
'undefined symbol' crashes. This ABI incompatibility cannot be fixed
via symlinks.

Changes:
- Remove broken ICU symlink logic from RunTestsOnHelix.sh
- Expand EnvironmentInfo.SupportsTargetFramework to skip < net5.0 on
  Azure Linux (was < netcoreapp2.0)
- Add RequiresSpecificFrameworkFact/Theory(netcoreapp2.2) to tests
  that invoke legacy DotNetCliTool packages
- Add runtime SupportsTargetFramework check to CoreMSBuildOnlyFact
  tests that generate/run netcoreapp2.2 tool deps files

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Add zlib symlink workaround in RunTestsOnHelix.sh for NativeAOT linking
  (Azure Linux 3 has libz.so.1 but missing libz.so from zlib-devel)
- Skip DepsJson version conflict tests on Azure Linux (netcoreapp2.0/2.2)
- Skip WebApp self-contained 2x publish test on Azure Linux (netcoreapp2.2)
- Skip AppHost netcoreapp3.1 test variant on Azure Linux (ICU 72 ABI)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- TransitiveProjectRefs: 4 tests build+run netcoreapp2.1 apps (ICU crash)
- Store compose: 3 tests target netcoreapp2.0 (missing native crypto lib)
- ReferenceExeTests: netcoreapp3.1 referenced project (ICU crash)
- RunFromOutputFolder: netcoreapp2.0/2.1 variants (ICU crash)
- SingleFileApp: netcoreapp3.0/3.1 variants (ICU crash)

All failures are due to Azure Linux 3 having ICU 72 which is
ABI-incompatible with .NET runtimes < 5.0 (versioned symbol names).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
netcoreapp2.1/2.2 variants crash with ICU 72 ABI incompatibility.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Switch helixTargetQueue Docker image from ubuntu-22.04-helix-amd64 to
azurelinux-3.0-helix-amd64 in both .vsts-ci.yml and eng/template-engine.yml.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Reset patterns:
- global.json
- NuGet.config
- eng/Version.Details.xml
- eng/Versions.props
- eng/common/*
…esolve

# Conflicts:
#	src/Tests/Microsoft.NET.Build.Tests/GivenThatWeWantToBuildANetCoreApp.cs
@dsplaisted

Copy link
Copy Markdown
Member

/ba-g All tests actually passed, but barely missed the timeout window for the AzDO leg

@dsplaisted
dsplaisted merged commit 4da9b1e into release/8.0.4xx Jul 14, 2026
19 of 21 checks passed
@dsplaisted
dsplaisted deleted the merge/release/8.0.1xx-to-release/8.0.4xx branch July 14, 2026 11:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants