Skip to content

[release/10.0] Move Linux CI jobs off Microsoft-hosted pools (backport #64842, #65867)#67797

Open
mmitche wants to merge 1 commit into
dotnet:release/10.0from
mmitche:mmitche/backport-pool-offload-10.0
Open

[release/10.0] Move Linux CI jobs off Microsoft-hosted pools (backport #64842, #65867)#67797
mmitche wants to merge 1 commit into
dotnet:release/10.0from
mmitche:mmitche/backport-pool-offload-10.0

Conversation

@mmitche

@mmitche mmitche commented Jul 14, 2026

Copy link
Copy Markdown
Member

Summary

Backport of #64842 and #65867 to release/10.0.

release/10.0 predates these PRs, so its default-build.yml still uses the old
useHostedUbuntu: true default, which routes Linux CI/PR jobs to the
Microsoft-hosted vmImage: ubuntu-22.04 pool. This includes the queue-bound
Components E2E ("Test: Blazor E2E tests on Linux") job and the Linux cross-build
legs, which incur multi-hour agent-queue waits on the finite hosted pool.

This change brings release/10.0 in line with main: it renames the parameter
to use1ESUbuntu (default false) and routes Linux jobs to the .NET-owned
dnceng pool ($(DncEngPublicBuildPool) / $(DncEngInternalBuildPool)) with the
1es-ubuntu-2204(-open) or Build.Ubuntu.2204.Amd64(.Open) images.

Backported PRs

Changes

File Change
jobs/default-build.yml Rename useHostedUbuntu (default true) → use1ESUbuntu (default false); route public/internal Linux to the dnceng pool with 1es-ubuntu-2204(-open) (when use1ESUbuntu: true) or Build.Ubuntu.2204.Amd64(.Open) (else)
jobs/components-e2e-test-job.yml Set use1ESUbuntu: true (Blazor E2E)
ci.yml, ci-public.yml, ci-unofficial.yml Remove useHostedUbuntu: false; add use1ESUbuntu: true to Linux ARM + ARM64
quarantined-pr.yml Remove useHostedUbuntu: false

Notes

  • The change was applied semantically (not a literal cherry-pick) because
    release/10.0 has diverged from the PRs' base (the Components E2E job is split
    into jobs/components-e2e-test-job.yml, and the Linux cross legs are structured
    differently). The resulting pool logic matches main.
  • release/10.0's Windows images (windows.vs2022.amd64[.open]) are intentionally
    left unchanged — the Windows image bump on main was a separate PR, not part of
    Switch default for useHostedUbuntu to false and use dnceng pool #64842/Fix Ubuntu build image #65867.
  • After the parameter rename, any lingering useHostedUbuntu reference would be an
    undeclared-parameter error, so every pipeline that passed it was updated. Verified
    no useHostedUbuntu remains and all changed YAML files parse.

Relates to dnceng AB#11633.

Backport of dotnet#64842 and dotnet#65867 to release/10.0.

release/10.0 still routes Linux CI/PR jobs (Components E2E and the Linux
cross-build legs) to the Microsoft-hosted `vmImage: ubuntu-22.04` via the
default `useHostedUbuntu: true`. This renames the parameter to
`use1ESUbuntu` (default false) and routes Linux jobs to the .NET-owned
dnceng pool ($(DncEng*BuildPool)) with the 1es-ubuntu-2204(-open) or
Build.Ubuntu.2204.Amd64(.Open) images, matching main.

- dotnet#64842: Switch default for useHostedUbuntu to false and use dnceng pool
- dotnet#65867: Fix Ubuntu build image (Build.Ubuntu.2204 -> Build.Ubuntu.2204.Amd64)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 06be8634-e5f3-4f62-97ad-a2691e47c43c
Copilot AI review requested due to automatic review settings July 14, 2026 21:08
@mmitche mmitche requested review from a team and wtgodbe as code owners July 14, 2026 21:08
@mmitche mmitche added Servicing-consider Shiproom approval is required for the issue area-infrastructure Includes: MSBuild projects/targets, build scripts, CI, Installers and shared framework labels Jul 14, 2026
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Hey @dotnet/aspnet-build, looks like this PR is something you want to take a look at.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Backport to release/10.0 that moves Linux CI jobs off the Microsoft-hosted ubuntu-22.04 pool and onto the .NET-owned dnceng pools/images, aligning the branch’s pipeline behavior with main (per backports of #64842 and #65867).

Changes:

  • Rename pipeline parameter useHostedUbuntuuse1ESUbuntu (default false) and update Linux pool selection logic in the shared default-build.yml job template.
  • Route public/internal Linux jobs to dnceng pools using 1es-ubuntu-2204(-open) when use1ESUbuntu: true, otherwise Build.Ubuntu.2204.Amd64(.Open).
  • Update CI entry pipelines and the Components E2E job to remove the old parameter and enable use1ESUbuntu: true where intended (E2E + Linux ARM/ARM64 legs).

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated no comments.

Show a summary per file
File Description
.azure/pipelines/quarantined-pr.yml Drops the old useHostedUbuntu override so the job follows the updated default-build template’s defaults.
.azure/pipelines/jobs/default-build.yml Implements use1ESUbuntu and updates Linux pool/image selection for public + internal templates.
.azure/pipelines/jobs/components-e2e-test-job.yml Enables use1ESUbuntu: true for the Blazor E2E Linux job.
.azure/pipelines/ci.yml Removes useHostedUbuntu usage and enables use1ESUbuntu for Linux ARM/ARM64 legs.
.azure/pipelines/ci-unofficial.yml Same parameter cleanup + use1ESUbuntu enablement for Linux ARM/ARM64 legs.
.azure/pipelines/ci-public.yml Same parameter cleanup + use1ESUbuntu enablement for Linux ARM/ARM64 legs.

@mmitche mmitche removed the Servicing-consider Shiproom approval is required for the issue label Jul 14, 2026
@mmitche

mmitche commented Jul 14, 2026

Copy link
Copy Markdown
Member Author

@wtgodbe Some aspnetcore servicing PRs are showing up in the "extra slow" bucket, due to waiting on hosted pool machines. This should reduce the pressure on those pools somewhat.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area-infrastructure Includes: MSBuild projects/targets, build scripts, CI, Installers and shared framework

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants