Skip to content

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

Merged
mmitche merged 1 commit into
dotnet:release/10.0from
mmitche:mmitche/backport-pool-offload-10.0
Jul 15, 2026
Merged

[release/10.0] Move Linux CI jobs off Microsoft-hosted pools (backport #64842, #65867)#67797
mmitche merged 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.

@mmitche
mmitche merged commit 077a06a into dotnet:release/10.0 Jul 15, 2026
25 of 28 checks passed
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