Uh oh!
There was an error while loading. Please reload this page.
Enable browser WASM R2R tests in manual pipeline - #133308
Conversation
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
Azure Pipelines: Successfully started running 5 pipeline(s). 11 pipeline(s) were filtered out due to trigger conditions. There may be pipelines that require an authorized user to comment /azp run to run. |
lewing
commented
Sep 5, 2026
/azp run runtime-wasm-non-libtests |
|
Azure Pipelines: Successfully started running 1 pipeline(s). |
Tagging subscribers to this area: @akoeplinger, @matouskozak, @simonrozsival |
There was a problem hiding this comment.
🔵 Needs a closer look
The “manual pipeline only” intent should be made unambiguous by explicitly disabling PR triggers (e.g., pr: none) in the manual pipeline YAML to avoid accidental automatic execution of the new R2R leg.
Pull request overview
Restores the browser WASM CoreCLR R2R_CG2 runtime-test leg behind an explicit pipeline parameter, enabling it only in the runtime-wasm-non-libtests manual pipeline while keeping default WASM/extra-platform behavior unchanged.
Changes:
- Enable
runR2RTestsinruntime-wasm-non-libteststo turn on the R2R_CG2 leg for that manual pipeline. - Add a
runR2RTestsparameter (defaultfalse) to the WASM extra-platforms template and gate the R2R build/test jobs behind it.
File summaries
| File | Description |
|---|---|
| eng/pipelines/runtime-wasm-non-libtests.yml | Enables the R2R leg for this manual WASM non-libtests pipeline by setting runR2RTests: true. |
| eng/pipelines/extra-platforms/runtime-extra-platforms-wasm.yml | Introduces runR2RTests parameter (default off) and conditionally adds the R2R_CG2 build/run jobs when enabled. |
Review details
Suppressed comments (1)
eng/pipelines/runtime-wasm-non-libtests.yml:35
- If the intent is for
runtime-wasm-non-libteststo be manual-only (queued via/azp run), this pipeline file currently doesn’t disable PR triggers (there’strigger: nonebut nopr: none). WithrunR2RTests: trueadded, an accidentally-enabled PR trigger would run the R2R leg automatically on PR updates, which conflicts with the PR description’s “manual pipeline” goal. Consider explicitly addingpr: nonenear the top of the file to make the behavior unambiguous.
useHelixMonitor: ${{ variables.enableHelixJobMonitor }}
excludeNonLibTests: false
excludeLibTests: true
runR2RTests: true
- Files reviewed: 2/2 changed files
- Comments generated: 0
- Review effort level: Lite
I'm working on the active issues/skips, but being able to verify while doin that would be nice then we can move it back to required once things are green. |
Tagging subscribers to 'arch-wasm': @lewing, @pavelsavara |
lewing
commented
Sep 5, 2026
/ba-g I've verified this change does not impact the tests run on PRs and the failures are known |
Uh oh!
There was an error while loading. Please reload this page.
## Summary Narrowly suppress the confirmed WASM ReadyToRun failure shapes tracked by #131886, #133259, #133303, and #133307 so the browser R2R lane can be restored without losing interpreter or unaffected-platform coverage. - use method-level `ActiveIssue` conditions for `Runtime_79354` and `Runtime_58874`, scoped to WASM R2R - treat an empty `Assembly.Location` as an unsupported premise in `Runtime_117566`, following review feedback from #133274 - mark the merged `Interop` work item R2R-incompatible on CoreCLR Wasm because Crossgen2 aborts before execution while resolving `TypeMapApp` metadata - skip only the failing generic multidimensional-array subtest in the manual Crossgen2 smoke runner, using `PlatformDetection.IsWasm` and `PlatformDetection.IsReadyToRunCompiled` This intentionally does not suppress #133219, #133221, #133224, #133286, or the remaining unclassified failure shapes in #133305. Exact-base R2R evidence shows `b125091` now passes, and the current-main R2R baseline also shows `pinnedlocal` passing when reached. ## Testing - built all affected standalone and merged runtime-test projects - ran the affected local non-R2R wrapper scripts - inspected generated merged-runner conditions for the method-level exclusions - exact-base browser R2R baseline #133308 reproduced every retained target failure while `b125091` passed - ordinary browser-WASM CI executed and passed all affected tests, including all 70 ReadyToRun smoke subtests - purpose-built WASI comparison reproduced the `Runtime_79354`, `Runtime_117566`, `Runtime_58874`, and generic multidimensional-array R2R failures while their interpreter controls passed - applying the exact `Runtime_117566` empty-location guard on WASI made both interpreter and R2R executions pass - purpose-built WASI comparison confirmed the full `Interop` composite aborts before execution while `TypeMapApp` individually compiles and passes - regenerated WASI `Interop` with the parent `R2RIncompatible` property: interpreter ran 57/57 and R2R skipped before compilation with exit 0 - confirmed the merged `Interop` exclusion is set for browser-wasm and wasi-wasm but unset for native targets The broader WASI work items remain outside the curated lane: `Regression_o_3` has three additional `Assembly.Location` failures, and `Regression_1` later aborts in `csharptester`, even though `b125091` itself passes. > [!NOTE] > This pull request was created with GitHub Copilot assistance. --------- Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Summary
Restore the browser WASM CoreCLR
R2R_CG2runtime-test leg removed by #133294, but keep it out of the defaultruntimepipeline while its failures are investigated.The leg and its required build jobs are enabled only by
runtime-wasm-non-libtests, so it can be queued on a PR with:Other WASM wrappers and scheduled extra-platform runs retain their existing behavior.
Validation
git diff --check.Note
This pull request was created with the assistance of GitHub Copilot.