Skip to content

Update WebAssembly Helix image versions#126524

Merged
richlander merged 6 commits intomainfrom
copilot/update-wasm-helix-images-2604
Apr 6, 2026
Merged

Update WebAssembly Helix image versions#126524
richlander merged 6 commits intomainfrom
copilot/update-wasm-helix-images-2604

Conversation

@richlander
Copy link
Copy Markdown
Member

@richlander richlander commented Apr 3, 2026

Note

This PR was AI/Copilot-generated.

Update the remaining WebAssembly/WASI Helix image references to the published Ubuntu 26.04 prereqs images, and fix public Helix queue identifiers to use the .Open suffix convention.

  • switch Browser WASM latest coverage in helix-platforms.yml to ubuntu-26.04-helix-webassembly-amd64
  • update CoreCLR browser WASM queues to Ubuntu.2604.* and the matching 26.04 image
  • update Libraries WASI/browser/firefox WASM queues to the 26.04 webassembly image
  • fix public Browser WASM Helix queue identifiers to use (Ubuntu.2604.Amd64.Open) convention (CoreCLR template and helix-platforms.yml latest slot)
  • fix helix_browser_wasm_oldest queue identifier to use (Ubuntu.2204.Amd64.Open) to match established .Open pattern for public queues
  • keep the oldest 22.04 coverage slot otherwise unchanged
  • fix markdown indentation in SKILL.md version-naming conventions section

Ref #126122

Switch the Browser/WASM and WASI Helix queues to the published Ubuntu 26.04 webassembly images while keeping the oldest 22.04 coverage slot intact.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@dotnet-policy-service
Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @dotnet/runtime-infrastructure
See info in area-owners.md if you want to be subscribed.

@richlander
Copy link
Copy Markdown
Member Author

@akoeplinger @lewing

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Updates remaining WebAssembly/WASI Helix queue/image references to Ubuntu 26.04 prereqs images, aligning infra with the repo’s ongoing move off older Ubuntu versions while keeping the “oldest” 22.04 coverage slot intact.

Changes:

  • Update Libraries WASI / browser WASM (including Firefox) Helix queues to Ubuntu 26.04.
  • Switch helix_browser_wasm_latest coverage in helix-platforms.yml to Ubuntu 26.04.
  • Update CoreCLR browser WASM Helix queues (public + internal) to Ubuntu 26.04 and the matching prereqs image.

Reviewed changes

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

File Description
eng/pipelines/libraries/helix-queues-setup.yml Updates Libraries WASI/browser/Firefox WASM Helix queue strings to Ubuntu 26.04 prereqs image.
eng/pipelines/helix-platforms.yml Switches “latest” Browser WASM Helix platform variable from Ubuntu 24.04 to 26.04.
eng/pipelines/coreclr/templates/helix-queues-setup.yml Updates CoreCLR browser WASM public/internal queues and container image to Ubuntu 26.04.

@github-actions

This comment has been minimized.

richlander and others added 2 commits April 3, 2026 16:47
Use the explicit ubuntu-26.04-helix-webassembly-amd64 tag in the Libraries Helix queues for consistency with the other WebAssembly queue definitions.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Update the update-os-coverage skill to treat image-info.dotnet-dotnet-buildtools-prereqs-docker-main.json as the authoritative source for prereqs tags and to prefer architecture-specific aliases when the Helix queue is processor-specific.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings April 3, 2026 23:52
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated 3 comments.

@richlander
Copy link
Copy Markdown
Member Author

@copilot apply changes based on the comments in this thread

@github-actions

This comment has been minimized.

…KILL.md indentation

Agent-Logs-Url: https://github.com/dotnet/runtime/sessions/607ac376-be42-4d08-847c-fc0746d7c76f

Co-authored-by: richlander <2608468+richlander@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 4, 2026

@copilot apply changes based on the comments in this thread

Applied in cdc46ec:

  • (Ubuntu.2604.Amd64)(Ubuntu.2604.Amd64.Open) in the CoreCLR public browser WASM queue
  • (Ubuntu.2604.Amd64)(Ubuntu.2604.Amd64.Open) in helix-platforms.yml browser WASM latest entry
  • (Ubuntu.2204.Amd64)(Ubuntu.2204.Amd64.Open) in helix-platforms.yml browser WASM oldest entry (same issue)
  • Fixed 4-space → 3-space indentation in SKILL.md lines 171–179

Normalize the public Browser WASM and WASI container queue identifiers to the .Open form so they match the established Helix naming convention and stop triggering repetitive review noise.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings April 4, 2026 00:57
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.

@github-actions

This comment has been minimized.

Update the remaining build documentation references to point at the current Azure Linux cross-build images and wording.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 4, 2026

Note

This review was generated by Copilot.

🤖 Copilot Code Review — PR #126524

Holistic Assessment

Motivation: This PR updates WASM/WASI Helix pipeline images from Ubuntu 22.04/24.04 to Ubuntu 26.04, fixes inconsistent .Open queue ID suffixes, standardizes on architecture-specific image tags (-amd64), removes stale CBL-Mariner 2.0 documentation references, and improves the update-os-coverage skill guidance. All of these are well-motivated infrastructure improvements.

Approach: The approach is sound — updating image tags across all three pipeline files (helix-platforms, coreclr helix-queues, libraries helix-queues), fixing pre-existing naming inconsistencies along the way, and codifying lessons learned into the skill documentation. The changes are consistent with existing patterns in the codebase.

Summary: ⚠️ Needs Human Review. The code changes are technically correct — all image tags are verified in image-info, the .Open suffix convention is now consistent with other public queues, and the documentation updates are accurate. However, there are two observations worth human confirmation: (1) helix_browser_wasm_latest/helix_browser_wasm_oldest variables in helix-platforms.yml are defined but never consumed by any pipeline, and (2) the libraries pipeline WASM entries lack public/internal branching unlike other platforms in the same file.


Detailed Findings

✅ Image Tags Verified — All referenced tags exist in image-info

Verified against image-info.dotnet-dotnet-buildtools-prereqs-docker-main.json:

  • ubuntu-26.04-helix-webassembly-amd64
  • ubuntu-22.04-helix-webassembly-amd64
  • azurelinux-3.0-net11.0-cross-arm64 ✅ (for the cross-building.md docs update)

Both generic (no arch suffix) and processor-specific (-amd64) variants exist in image-info, confirming the switch to -amd64 is valid.

.Open Queue ID Fix — Correctly aligns with codebase convention

The PR fixes a pre-existing inconsistency where WASM queue IDs were missing the .Open suffix that all other public container-backed queues use. For example, in helix-platforms.yml:

  • Before (inconsistent): (Ubuntu.2204.Amd64)AzureLinux.3.Amd64.Open@...
  • After (consistent): (Ubuntu.2204.Amd64.Open)AzureLinux.3.Amd64.Open@...

This matches the established pattern seen across all other container-backed entries in the file (e.g., (Ubuntu.2204.Amd64.Open), (Debian.13.Amd64.Open), (Fedora.44.Amd64.Open), etc.). The internal variant in coreclr/helix-queues-setup.yml correctly omits .Open in both queue ID and host queue.

✅ Architecture-Specific Tags — Consistent with new guidance

The switch from generic tags (ubuntu-22.04-helix-webassembly) to processor-specific tags (ubuntu-26.04-helix-webassembly-amd64) is correct for Amd64-specific queues and aligns with the new guidance codified in the SKILL.md update.

✅ Documentation Updates — Accurate and well-scoped

  • linux-build-methodology.md: Correctly removes outdated parenthetical CBL-Mariner 2.0 references. The factual content remains accurate — .NET 8 did use CBL-Mariner 2.0 at release, but the new phrasing ("in the Azure Linux family") avoids naming a specific obsolete version.
  • cross-building.md: The Docker example image tag azurelinux-3.0-net11.0-cross-arm64 is verified to exist in image-info.
  • update-os-coverage/SKILL.md: The guidance improvements (exact tag verification, architecture-specific tag preference, validation checklist addition) are well-written and clearly motivated by lessons learned from this PR.

⚠️ Unused Variables — helix_browser_wasm_* defined but never consumed

File: eng/pipelines/helix-platforms.yml lines 266-271

The variables helix_browser_wasm_latest and helix_browser_wasm_oldest are updated by this PR, but a search for $(helix_browser_wasm across the entire repo yields zero consumers. By contrast, other Helix platform variables like $(helix_macos_arm64), $(helix_linux_x64_oldest) etc. are actively consumed in pipeline templates.

This is a pre-existing issue — the variables were unused before this PR too. However, it means the "oldest: Ubuntu 22.04" retention in helix-platforms.yml has no actual effect on CI behavior. The real WASM queue definitions in coreclr/helix-queues-setup.yml and libraries/helix-queues-setup.yml all moved to 26.04.

Recommendation: Consider either (a) wiring up the libraries/coreclr WASM entries to use these variables (like other platforms do), or (b) removing the unused variables, or (c) adding a comment noting they're for reference/future use. (Follow-up, not blocking.)

⚠️ Missing Internal Variants — Libraries WASM entries are public-only

File: eng/pipelines/libraries/helix-queues-setup.yml lines 162-172

The WASI, browser_wasm, and browser_wasm_firefox entries define only public queues (with .Open in both queue ID and host queue). This contrasts with:

  • coreclr/helix-queues-setup.yml which correctly has both public (.Open) and internal (no .Open) branches for browser_wasm
  • Other platforms in the same libraries file (e.g., Android, Linux arm/arm64) which have public/internal branching

This is a pre-existing issue — the old entries also used .Open in the host queue part (AzureLinux.3.Amd64.Open), so they were already public-only. However, the PR now makes this more visibly public-only by adding .Open to the queue ID as well. If these pipeline paths are ever invoked in internal builds, they would use public queues.

Recommendation: Confirm that the WASM/WASI libraries test jobs are only triggered for public builds. If they could be triggered internally, consider adding internal variants as coreclr/helix-queues-setup.yml does. (Follow-up, not blocking.)


Models contributing: Claude Opus 4.6 (primary), Claude Sonnet 4.5 (secondary). GPT-5.2 exceeded the 10-minute timeout and did not contribute findings.

Generated by Code Review for issue #126524 ·

@richlander richlander enabled auto-merge (squash) April 5, 2026 01:50
@richlander
Copy link
Copy Markdown
Member Author

/ba-g "Build analysis stuck; failures unrelated."

@richlander richlander disabled auto-merge April 6, 2026 05:45
@richlander richlander merged commit 3f14c31 into main Apr 6, 2026
180 of 181 checks passed
@richlander richlander deleted the copilot/update-wasm-helix-images-2604 branch April 6, 2026 05:46
richlander added a commit that referenced this pull request Apr 6, 2026
> [!NOTE]
> This PR was AI/Copilot-generated.

Update the release/9.0 WASI and Browser WebAssembly Helix queue image
references to the published Ubuntu 26.04 WebAssembly image.

- `libraries/helix-queues-setup.yml`: move WASI, Browser WASM, and
Browser WASM Firefox to `ubuntu-26.04-helix-webassembly-amd64`
- `coreclr/templates/helix-queues-setup.yml`: move Browser WASM to the
26.04 amd64 image while preserving the existing host queue pattern on
this branch
- exact tag validated in
`image-info.dotnet-dotnet-buildtools-prereqs-docker-main.json`

Backport of #126524. Ref #125690, #126122

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
richlander added a commit that referenced this pull request Apr 6, 2026
> [!NOTE]
> This PR was AI/Copilot-generated.

Update the release/8.0 WASI and Browser WebAssembly Helix queue image
references to the published Ubuntu 26.04 WebAssembly image.

- `libraries/helix-queues-setup.yml`: move WASI, Browser WASM, and
Browser WASM Firefox to `ubuntu-26.04-helix-webassembly-amd64`
- `coreclr/templates/helix-queues-setup.yml`: move Browser WASM to the
26.04 amd64 image
- exact tag validated in
`image-info.dotnet-dotnet-buildtools-prereqs-docker-main.json`

Backport of #126524. Ref #125690, #126122

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
richlander added a commit that referenced this pull request Apr 6, 2026
> [!NOTE]
> This PR was AI/Copilot-generated.

main PR #126524. Ref #125690, #126122

# Description

Update the release/10.0 WASI and Browser WebAssembly Helix queue image
references to the published Ubuntu 26.04 WebAssembly images.

- `libraries/helix-queues-setup.yml`: move WASI, Browser WASM, and
Browser WASM Firefox to `ubuntu-26.04-helix-webassembly-amd64`; split
each entry into public (`.Open`) and internal (non-`.Open`) variants to
match the pattern used in `coreclr/templates/helix-queues-setup.yml`
- `coreclr/templates/helix-queues-setup.yml`: move Browser WASM
public/internal queues from Ubuntu 24.04 to 26.04, using `.Open` suffix
for public queue identifiers
- exact tag validated in
`image-info.dotnet-dotnet-buildtools-prereqs-docker-main.json`

# Customer Impact

Without this fix, WASI and Browser WebAssembly Helix test runs on
release/10.0 would continue using the older Ubuntu 22.04/24.04
WebAssembly images instead of the current Ubuntu 26.04 images. Internal
pipeline runs would also incorrectly reference public `.Open` queues,
potentially causing test scheduling failures.

# Regression

No. This updates image versions to stay current with available prereqs
images.

# Testing

Pipeline configuration change only. Validated that the exact container
image tag (`ubuntu-26.04-helix-webassembly-amd64`) is present in
`image-info.dotnet-dotnet-buildtools-prereqs-docker-main.json`.

# Risk

Low. This is a Helix queue image version bump with no code changes. The
queue identifiers follow the established `.Open` / non-`.Open`
convention for public and internal pipelines respectively.

# Package authoring no longer needed in .NET 9

IMPORTANT: Starting with .NET 9, you no longer need to edit a NuGet
package's csproj to enable building and bump the version.
Keep in mind that we still need package authoring in .NET 8 and older
versions.

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
radekdoulik pushed a commit to radekdoulik/runtime that referenced this pull request Apr 9, 2026
> [!NOTE]
> This PR was AI/Copilot-generated.

Update the remaining WebAssembly/WASI Helix image references to the
published Ubuntu 26.04 prereqs images, and fix public Helix queue
identifiers to use the `.Open` suffix convention.

- switch Browser WASM `latest` coverage in `helix-platforms.yml` to
`ubuntu-26.04-helix-webassembly-amd64`
- update CoreCLR browser WASM queues to `Ubuntu.2604.*` and the matching
26.04 image
- update Libraries WASI/browser/firefox WASM queues to the 26.04
webassembly image
- fix public Browser WASM Helix queue identifiers to use
`(Ubuntu.2604.Amd64.Open)` convention (CoreCLR template and
`helix-platforms.yml` latest slot)
- fix `helix_browser_wasm_oldest` queue identifier to use
`(Ubuntu.2204.Amd64.Open)` to match established `.Open` pattern for
public queues
- keep the `oldest` 22.04 coverage slot otherwise unchanged
- fix markdown indentation in `SKILL.md` version-naming conventions
section

Ref dotnet#126122

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

5 participants