-
Notifications
You must be signed in to change notification settings - Fork 5.5k
Conversation
Now that Ubuntu 26.04 VMs are available, undo the temporary VM-to-container conversion done in #125535. Each affected slot returns to a bare Ubuntu VM at its current version (queues verified present in Helix): helix-platforms.yml (oldest slots -> bare 22.04 VMs): - helix_linux_x64_oldest -> Ubuntu.2204.Amd64.Open - helix_linux_x64_oldest_internal -> Ubuntu.2204.Amd64 - helix_linux_x64_ubuntu_oldest -> Ubuntu.2204.Amd64.Open - helix_linux_arm64_oldest -> Ubuntu.2204.ArmArch.Open libraries/helix-queues-setup.yml (primary coverage -> bare 26.04 VMs): - Mono path -> Ubuntu.2604.Amd64.Open - Primary distro (general set) -> Ubuntu.2604.Amd64.Open Restores the bare-VM testing coverage described in the Ubuntu 26.04 VM plan (#125748). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Revert the Mono path (linux_x64) back to the ubuntu-26.04-helix-amd64 container on AzureLinux; only the CoreCLR primary distro and the helix-platforms oldest slots return to bare Ubuntu VMs. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Ahead of retiring the Ubuntu 22.04 VMs, make 24.04 the oldest bare-VM slot (queues verified present in Helix): - helix_linux_x64_oldest -> Ubuntu.2404.Amd64.Open - helix_linux_x64_oldest_internal -> Ubuntu.2404.Amd64 - helix_linux_x64_ubuntu_oldest -> Ubuntu.2404.Amd64.Open - helix_linux_arm64_oldest -> Ubuntu.2404.ArmArch.Open Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- helix_linux_x64_ubuntu_latest -> Ubuntu.2604.Amd64.Open (bare VM, no container) - helix_linux_arm64_latest -> Ubuntu.2604.ArmArch.Open (bare VM, no container) - helix_browser_wasm_oldest -> ubuntu-24.04-helix-webassembly-amd64 (kept as container; the WASM toolchain image is required) WASM latest stays on the 26.04 webassembly container for the same reason. All bare-VM queues and image tags verified present (Helix queue API / MCR registry). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Make the MCR registry tag list (mcr.microsoft.com/v2/dotnet-buildtools/prereqs/tags/list) the source of truth for confirming container tags. The image-info JSON in dotnet/versions can be stale or unavailable when branch protection blocks its automated push; note the in-flux state and the pending ORAS/OCI-artifact migration (dotnet/docker-tools#2142). Image-info is now a secondary cross-check. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Tagging subscribers to this area: @dotnet/runtime-infrastructure
See info in area-owners.md if you want to be subscribed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR updates Helix queue selection to shift Ubuntu coverage from the temporary "containers-on-AzureLinux" setup back to bare Ubuntu VM queues, using Ubuntu 24.04 for "oldest" coverage and Ubuntu 26.04 for "latest" where applicable.
Changes:
- Switch the libraries "CoreCLR primary distro" queue to bare
Ubuntu.2604.Amd64.Open. - Update
helix-platforms.ymlUbuntu x64/arm64 "oldest/latest" variables to bare 24.04/26.04 VM queues (while keeping WASM containerized and bumping its oldest image to 24.04). - Update the OS coverage skill guidance to verify prereqs image tags via the MCR registry tag list (treating the
dotnet/versionsimage-info JSON as a secondary cross-check).
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| eng/pipelines/libraries/helix-queues-setup.yml | Moves the primary Linux x64 CoreCLR libraries queue to bare Ubuntu.2604.Amd64.Open. |
| eng/pipelines/helix-platforms.yml | Re-points Ubuntu oldest/latest variables to bare 24.04/26.04 VM queues; updates WASM oldest container tag to 24.04. |
| .github/skills/update-os-coverage/SKILL.md | Updates documentation to validate prereqs container tags via the MCR registry tag list and explains why image-info may be stale. |
richlander
commented
Jun 25, 2026
This PR effectively reverts (by design) this prior change: #125535
Copilot Code Review
Holistic Assessment
Motivation: Justified — restores the repo's intended bare-VM testing policy for Ubuntu now that 24.04 and 26.04 Helix VMs are available, removing the temporary container-on-AzureLinux workaround. Tracked in #125748.
Approach: Correct — straightforward slot-by-slot replacement from container references to bare VM queue names, with WASM intentionally kept on containers (toolchain image required). Documentation updates to the update-os-coverage SKILL.md are a reasonable scope addition given the image-info publishing flux.
Summary: ✅ LGTM. The changes are syntactically consistent with existing patterns, well-scoped, and clearly documented. Queue names follow established conventions (Ubuntu.XXYY.{Amd64|ArmArch}.Open for public, without .Open for internal). Residual 22.04 usage (Android, SuperPMI) is explicitly called out as tracked separately.
Detailed Findings
Detailed Findings
✅ Queue name consistency — Bare VM format matches codebase conventions
All new bare VM values (Ubuntu.2404.Amd64.Open, Ubuntu.2404.Amd64, Ubuntu.2604.Amd64.Open, Ubuntu.2404.ArmArch.Open, Ubuntu.2604.ArmArch.Open) follow the exact naming patterns used elsewhere in helix-platforms.yml (e.g., AzureLinux.3.Amd64.Open, OSX.26.Arm64.Open). Internal variants correctly drop the .Open suffix.
✅ WASM container correctly stays containerized — Version bump from 22.04 → 24.04 is appropriate
helix_browser_wasm_oldest retains the (QueueAlias)HostQueue@container format, correctly recognizing that WASM testing requires the WebAssembly toolchain image. The container tag ubuntu-24.04-helix-webassembly-amd64 is stated as verified.
✅ helix-queues-setup.yml — CoreCLR primary distro change is consistent
The CoreCLR primary distro moves from a container+digest reference to bare Ubuntu.2604.Amd64.Open, matching the helix_linux_x64_ubuntu_latest variable in helix-platforms.yml. The Mono path intentionally retains its container reference per commit 280ff3d ("Keep Mono path on Ubuntu 26.04 container").
✅ SKILL.md documentation — Reasonable pragmatic update
Shifting verification guidance from image-info JSON to the MCR registry tag list is appropriate given the documented publishing instability (dotnet/docker-tools#2142). The warning callout clearly marks this as transitional and instructs revisiting once the ORAS-based solution ships.
💡 Minor observation — sha256 digest loss in helix-queues-setup.yml
The previous CoreCLR primary distro had a @sha256:... digest pin. Since this is now a bare VM (no container image), the pin is N/A. No action needed, but noting for awareness that other distro entries in the same block retain digest pins for their containers.
Note
This review was created by GitHub Copilot.
Generated by Code Review for issue #129863 · ●くろまる 18.3M · ◷
Now that Ubuntu 26.04 VMs (and 24.04 VMs) are available in Helix, move the Ubuntu Helix coverage off the temporary containers-on-Azure-Linux arrangement and back onto bare Ubuntu VMs, per the Ubuntu 26.04 VM Plan (#125748). This restores the bare-VM testing the policy calls for and retires the 22.04 VMs by moving the oldest slots to 24.04.
Changes
eng/pipelines/helix-platforms.ymlhelix_linux_x64_oldest(+_internal)Ubuntu.2404.Amd64.Open/Ubuntu.2404.Amd64helix_linux_x64_ubuntu_latestUbuntu.2604.Amd64.Openhelix_linux_x64_ubuntu_oldestUbuntu.2404.Amd64.Openhelix_linux_arm64_latestUbuntu.2604.ArmArch.Openhelix_linux_arm64_oldestUbuntu.2404.ArmArch.Openhelix_browser_wasm_oldestubuntu-22.04-helix-webassembly-amd64ubuntu-24.04-helix-webassembly-amd64eng/pipelines/libraries/helix-queues-setup.ymlUbuntu.2604.Amd64.Open.github/skills/update-os-coverage/SKILL.mddotnet/versionsimage-info JSON is in flux pending the ORAS/OCI-artifact migration (dotnet/docker-tools#2142).Notes
Ubuntu.2204.Amd64.Android.*) — no 24.04/26.04 Android Helix queue exists yet (needs dnceng).Ubuntu.2204.ArmArch) insrc/coreclr/scripts/superpmi_collect_setup.py.Reference: OS onboarding guide
Note
This pull request was AI/Copilot-generated.