Skip to content

Modernise Linux CI containers and native compiler discovery - #7868

Merged
rosebyte merged 2 commits into
dotnet:mainfrom
rosebyte:rosebyte-pipeline-node-handler-failure
Oct 30, 2026
Merged

rosebyte merged 2 commits into
dotnet:mainfrom
rosebyte:rosebyte-pipeline-node-handler-failure

Conversation

@rosebyte

Copy link
Copy Markdown
Member

Replace the Ubuntu 18.04 build environments with newer published images to address Azure Pipelines task-runner compatibility, without disabling Node.js EOL restrictions.

  • Use ubuntu-22.04-mlnet for Ubuntu x64 PR validation and nightly builds.
  • Use dotnet/runtime release/8.0’s azurelinux-3.0-net8.0-cross-arm and cross-arm64 images for PR and official ARM builds.
  • Select the bundled LLVM linker for those cross-build containers.
  • Add Clang 14 discovery while preserving existing compiler preferences.
  • Move Linux nightly hosted agents to Ubuntu 22.04 and update the associated template conditions.
  • Document the container choices and native compatibility constraints.

Compatibility

The ARM images retain older Ubuntu Xenial target sysroots, including target OpenMP dependencies, while running the build tools on Azure Linux 3.0.

Keep the CentOS Stream 8 build images unchanged, including the official x64 native-package build, to avoid silently raising the system-library requirements of shipped native assets.

Remaining verification

Run the affected Azure Pipelines jobs to confirm task-runner startup and native compilation in the replacement containers. Container execution has not been verified locally because Docker is unavailable.

@codecov

codecov Bot commented Oct 30, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 70.82%. Comparing base (5687032) to head (359108e).

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #7868   +/-   ##
=======================================
  Coverage   70.81%   70.82%           
=======================================
  Files        1421     1421           
  Lines      280034   280034           
  Branches    27621    27621           
=======================================
+ Hits       198311   198338   +27     
+ Misses      73558    73537   -21     
+ Partials     8165     8159    -6     
Flag Coverage Δ
Debug 70.82% <ø> (+<0.01%) ⬆️
production 64.26% <ø> (+0.01%) ⬆️
test 90.78% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.
see 8 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@rosebyte
rosebyte enabled auto-merge (squash) October 30, 2026 11:45
@rosebyte
rosebyte merged commit 44ede55 into dotnet:main Oct 30, 2026
28 checks passed
@matouskozak

matouskozak commented Nov 2, 2026 •

Copy link
Copy Markdown
Member

@rosebyte Do we need to backport this to release/5.0 6.0 branches also? I see bunch of Node.js failures on #7870 and #7871

rosebyte added a commit that referenced this pull request Nov 3, 2026
…very (#7873)

Backport commit 44ede55 from
[#7868](#7868)
to `release/5.0`.

- Update Ubuntu x64 validation/nightly containers and Linux nightly
hosts to Ubuntu 22.04.
- Use Azure Linux 3.0 ARM/ARM64 cross-build images with
`LDFLAGS=-fuse-ld=lld`.
- Add Clang 14 discovery while retaining existing compiler preferences.
- Preserve CentOS Stream 8 images and the official x64 native-package
compatibility baseline.

## Release/5.0 adaptations
Resolved the documentation conflict while retaining release-specific
macOS instructions and existing sysroot inference. Replaced the obsolete
cross-container example with current container guidance. No main-branch
`rootfsDir` interface, prerequisite commits, or unrelated changes are
included.

Co-authored-by: rosebyte <jaroslav.ruzicka@hotmail.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
rosebyte added a commit that referenced this pull request Nov 3, 2026
…very (#7874)

Backport of #7868 to `release/6.0`.

Replace the Ubuntu 18.04 build environments with newer published images
to address Azure Pipelines task-runner compatibility, without disabling
Node.js EOL restrictions.

- Use `ubuntu-22.04-mlnet` for Ubuntu x64 PR validation and nightly
builds.
- Use dotnet/runtime release/8.0's `azurelinux-3.0-net8.0-cross-arm` and
`cross-arm64` images for PR and official ARM builds, with
`LDFLAGS=-fuse-ld=lld` to select the bundled LLVM linker.
- Add Clang 14 discovery while preserving existing compiler preferences.
- Move Linux nightly hosted agents to Ubuntu 22.04 and update the
associated template conditions.
- Document the container choices and native compatibility constraints.

The CentOS Stream 8 build images, including the official x64
native-package build, are unchanged to avoid silently raising the
system-library requirements of shipped native assets.

Co-authored-by: rosebyte <jaroslav.ruzicka@hotmail.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
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