From b72d7d83eae71fa62c9a9ca0c3db928488e269d5 Mon Sep 17 00:00:00 2001 From: Larry Ewing Date: Tue, 1 Sep 2026 14:10:57 -0500 Subject: [PATCH 1/3] [perf][wasm] Stage Crossgen2 pack in CoreCLR artifact Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --- .../performance/templates/perf-wasm-build-jobs.yml | 1 + .../templates/perf-wasm-prepare-artifacts-steps.yml | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/eng/pipelines/performance/templates/perf-wasm-build-jobs.yml b/eng/pipelines/performance/templates/perf-wasm-build-jobs.yml index aaf2a2375cfa77..3840e23a8bdf1c 100644 --- a/eng/pipelines/performance/templates/perf-wasm-build-jobs.yml +++ b/eng/pipelines/performance/templates/perf-wasm-build-jobs.yml @@ -41,4 +41,5 @@ jobs: artifactName: BrowserWasmCoreCLR sdkDirName: dotnet-none includeRefPack: false + includeCrossgen2Pack: true publishCoreClrRuntimePack: true diff --git a/eng/pipelines/performance/templates/perf-wasm-prepare-artifacts-steps.yml b/eng/pipelines/performance/templates/perf-wasm-prepare-artifacts-steps.yml index a6452608f1b349..c5a1e399123f4b 100644 --- a/eng/pipelines/performance/templates/perf-wasm-prepare-artifacts-steps.yml +++ b/eng/pipelines/performance/templates/perf-wasm-prepare-artifacts-steps.yml @@ -4,6 +4,7 @@ parameters: runtimeFlavor: 'mono' sdkDirName: 'dotnet-latest' includeRefPack: true + includeCrossgen2Pack: false # The Mono (default) build installs the wasm-tools workload, whose manifest now includes the # CoreCLR browser-wasm runtime pack (Microsoft.NETCore.App.Runtime.browser-wasm). A Mono-only # build doesn't produce that pack, so download it from the CoreCLR build job and stage it into @@ -51,6 +52,15 @@ steps: - script: cp -r $(Build.SourcesDirectory)/artifacts/bin/microsoft.netcore.app.ref $(Build.SourcesDirectory)/artifacts/staging displayName: "Stage ref pack directory" + - ${{ if eq(parameters.includeCrossgen2Pack, true) }}: + - script: >- + find $(Build.SourcesDirectory)/artifacts/packages/${{ parameters.configForBuild }}/Shipping -maxdepth 1 + -name 'Microsoft.NETCore.App.Crossgen2.*.nupkg' -not -name '*.symbols.nupkg' + -exec cp {} $(Build.SourcesDirectory)/artifacts/staging/built-nugets \; && + test -n "$(find $(Build.SourcesDirectory)/artifacts/staging/built-nugets -maxdepth 1 + -name 'Microsoft.NETCore.App.Crossgen2.*.nupkg' -not -name '*.symbols.nupkg' -print -quit)" + displayName: "Stage Crossgen2 pack" + # Publish the CoreCLR browser-wasm runtime pack nuget on its own so the Mono build job can stage # it into its local feed for the wasm-tools workload install. - ${{ if eq(parameters.publishCoreClrRuntimePack, true) }}: From a3fd901a7451485e1456d642057b73bcbdbdf43a Mon Sep 17 00:00:00 2001 From: Larry Ewing Date: Tue, 1 Sep 2026 15:56:08 -0500 Subject: [PATCH 2/3] [perf][wasm] Build host Crossgen2 pack Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: c4188acf-cdd7-467f-818f-5a43eaaf9e3e --- eng/pipelines/performance/templates/perf-wasm-build-jobs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/pipelines/performance/templates/perf-wasm-build-jobs.yml b/eng/pipelines/performance/templates/perf-wasm-build-jobs.yml index 3840e23a8bdf1c..5e70a42c991ad4 100644 --- a/eng/pipelines/performance/templates/perf-wasm-build-jobs.yml +++ b/eng/pipelines/performance/templates/perf-wasm-build-jobs.yml @@ -31,7 +31,7 @@ jobs: platforms: - browser_wasm jobParameters: - buildArgs: -s clr+libs+host+packs -c $(_BuildConfig) /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS) + buildArgs: -s clr+libs+host+packs -c $(_BuildConfig) /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS) /p:BuildHostTools=true nameSuffix: wasm_coreclr isOfficialBuild: false postBuildSteps: From 4c4f9650bb762adbe40e0818acdd6a4973d8d815 Mon Sep 17 00:00:00 2001 From: Larry Ewing Date: Tue, 1 Sep 2026 16:49:39 -0500 Subject: [PATCH 3/3] [perf][wasm] Allow browser host Crossgen2 pack Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: c4188acf-cdd7-467f-818f-5a43eaaf9e3e --- eng/Subsets.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/eng/Subsets.props b/eng/Subsets.props index 898741f170e185..73efd1ddb9d1a6 100644 --- a/eng/Subsets.props +++ b/eng/Subsets.props @@ -752,10 +752,10 @@ - +