[perf][wasm] Stage Crossgen2 pack for CoreCLR R2R benchmarks - #133040
Draft
lewing wants to merge 3 commits into
Draft
[perf][wasm] Stage Crossgen2 pack for CoreCLR R2R benchmarks#133040lewing wants to merge 3 commits into
lewing wants to merge 3 commits into
Conversation
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
Azure Pipelines: Successfully started running 6 pipeline(s). 10 pipeline(s) were filtered out due to trigger conditions. There may be pipelines that require an authorized user to comment /azp run to run. |
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: c4188acf-cdd7-467f-818f-5a43eaaf9e3e
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: c4188acf-cdd7-467f-818f-5a43eaaf9e3e
Contributor
There was a problem hiding this comment.
🟢 Approval recommended
The changes are narrowly scoped to the CoreCLR browser-wasm perf pipeline and the updated conditions/staging logic are consistent with existing TargetsMobile semantics for TargetOS=browser.
Pull request overview
This PR updates the WASM performance build to produce and stage the host Crossgen2 pack alongside the CoreCLR browser-wasm performance artifact, enabling downstream R2R publishing on isolated machines using same-build assets.
Changes:
- Allow building the Crossgen2 host pack when
TargetOS=browserandBuildHostTools=true(even though browser setsTargetsMobile=true). - Add an optional pipeline step to copy the non-symbol
Microsoft.NETCore.App.Crossgen2.*.nupkginto the stagedbuilt-nugetsfeed and fail if none is present. - Enable
BuildHostTools=truefor the CoreCLR browser-wasm perf build job and turn on Crossgen2 pack staging for its artifact.
File summaries
| File | Description |
|---|---|
| eng/Subsets.props | Adjusts pack-building conditions so browser-wasm CoreCLR builds can produce the host Crossgen2 pack when opted in. |
| eng/pipelines/performance/templates/perf-wasm-prepare-artifacts-steps.yml | Adds an opt-in step to stage only non-symbol Crossgen2 nupkgs into the perf artifact’s local feed. |
| eng/pipelines/performance/templates/perf-wasm-build-jobs.yml | Opts the CoreCLR browser-wasm perf job into BuildHostTools and Crossgen2 pack staging. |
Review details
- Files reviewed: 3/3 changed files
- Comments generated: 0
- Review effort level: Lite
This was referenced Sep 2, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Stage the matching locally built, non-symbol
Microsoft.NETCore.App.Crossgen2package in theBrowserWasmCoreCLRperformance artifact understaging/built-nugets.This enables isolated Helix machines to resolve the same-build Crossgen2 pack when per-application browser-WASM benchmarks publish with
PublishReadyToRun=true. The CoreCLR performance build enablesBuildHostTools, and the pack subset permits browser builds with that explicit opt-in to runMicrosoft.NETCore.App.Crossgen2.Host.sfxproj. The package selection excludes*.symbols.nupkgand fails if no matching non-symbol package is available. These changes apply only toBrowserWasmCoreCLR; Mono artifact behavior is unchanged.End-to-end
runtime-wasm-perfvalidation depends on the companiondotnet/performancechange currently at commit17449e9826d0ecc224e92a3ad854796b0be41219.Validation
git diff --checkand commit checks.BuildHostTools=trueincludesMicrosoft.NETCore.App.Crossgen2.Host.sfxproj;BuildHostTools=true.Note
This pull request was generated with the assistance of GitHub Copilot.