From 92a993683a817dc76d62ee3f53ad2dfac82a6afd Mon Sep 17 00:00:00 2001 From: Larry Ewing Date: Wed, 19 Feb 2025 15:27:37 -0600 Subject: [PATCH] Revert "[browser][MT] move wasm MT CI legs to extra-platforms (#112690)" This reverts commit 3c97a9040833ab190961e37a86ce5073a932ed9b. --- .../runtime-extra-platforms-wasm.yml | 17 +------------ eng/pipelines/runtime.yml | 25 +++++++++++++++++++ src/mono/wasm/features.md | 2 +- 3 files changed, 27 insertions(+), 17 deletions(-) diff --git a/eng/pipelines/extra-platforms/runtime-extra-platforms-wasm.yml b/eng/pipelines/extra-platforms/runtime-extra-platforms-wasm.yml index dd7f5d2a638203..f0b197b68db9ac 100644 --- a/eng/pipelines/extra-platforms/runtime-extra-platforms-wasm.yml +++ b/eng/pipelines/extra-platforms/runtime-extra-platforms-wasm.yml @@ -74,22 +74,6 @@ jobs: scenarios: - WasmTestOnChrome - # Library tests with full threading - - template: /eng/pipelines/common/templates/wasm-library-tests.yml - parameters: - platforms: - - browser_wasm - #- browser_wasm_win - nameSuffix: _Threading - extraBuildArgs: /p:WasmEnableThreads=true /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS) - extraHelixArguments: /p:WasmEnableThreads=true - isExtraPlatformsBuild: ${{ parameters.isExtraPlatformsBuild }} - isWasmOnlyBuild: ${{ parameters.isWasmOnlyBuild }} - alwaysRun: ${{ parameters.isWasmOnlyBuild }} - shouldRunSmokeOnly: onLibrariesAndIllinkChanges - scenarios: - - WasmTestOnChrome - # EAT Library tests - only run on linux - template: /eng/pipelines/common/templates/wasm-library-aot-tests.yml parameters: @@ -178,6 +162,7 @@ jobs: - browser_wasm_win nameSuffix: MultiThreaded extraBuildArgs: /p:WasmEnableThreads=true /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS) + condition: ne(variables['wasmMultiThreadedBuildOnlyNeededOnDefaultPipeline'], true) publishArtifactsForWorkload: true publishWBT: false diff --git a/eng/pipelines/runtime.yml b/eng/pipelines/runtime.yml index 7514379d672533..4880c8475743da 100644 --- a/eng/pipelines/runtime.yml +++ b/eng/pipelines/runtime.yml @@ -822,6 +822,20 @@ extends: scenarios: - WasmTestOnChrome + # Library tests with full threading + - template: /eng/pipelines/common/templates/wasm-library-tests.yml + parameters: + platforms: + - browser_wasm + #- browser_wasm_win + nameSuffix: _Threading + extraBuildArgs: /p:WasmEnableThreads=true /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS) + extraHelixArguments: /p:WasmEnableThreads=true + alwaysRun: ${{ variables.isRollingBuild }} + shouldRunSmokeOnly: onLibrariesAndIllinkChanges + scenarios: + - WasmTestOnChrome + # EAT Library tests - only run on linux - template: /eng/pipelines/common/templates/wasm-library-aot-tests.yml parameters: @@ -857,6 +871,17 @@ extends: publishArtifactsForWorkload: true publishWBT: true + - template: /eng/pipelines/common/templates/wasm-build-only.yml + parameters: + platforms: + - browser_wasm + - browser_wasm_win + condition: or(eq(variables.isRollingBuild, true), eq(variables.wasmSingleThreadedBuildOnlyNeededOnDefaultPipeline, true)) + nameSuffix: MultiThreaded + extraBuildArgs: /p:WasmEnableThreads=true /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS) + publishArtifactsForWorkload: true + publishWBT: false + # Browser Wasm.Build.Tests - template: /eng/pipelines/common/templates/browser-wasm-build-tests.yml parameters: diff --git a/src/mono/wasm/features.md b/src/mono/wasm/features.md index ec00eff02e3d6a..c13dde952952c9 100644 --- a/src/mono/wasm/features.md +++ b/src/mono/wasm/features.md @@ -23,7 +23,7 @@ Some of these properties require a unique build of the runtime, which means that ### Multi-threading -Multi-threading experiment is enabled by `true`, and is currently disabled by default. It requires a unique build of the runtime. +Multi-threading support is enabled by `true`, and is currently disabled by default. It requires a unique build of the runtime. Your HTTPS server and/or proxy must be configured to send HTTP headers similar to `Cross-Origin-Embedder-Policy:require-corp` and `Cross-Origin-Opener-Policy:same-origin` in order to enable multi-threading support in end-user web browsers for security reasons.