From 6bf2ad78ccefd2e1cf08335445c58e3a4d567d9e Mon Sep 17 00:00:00 2001 From: pavelsavara Date: Wed, 19 Feb 2025 12:44:13 +0100 Subject: [PATCH 1/4] move wasm MT to extra --- .../runtime-extra-platforms-wasm.yml | 17 ++++++++++++- eng/pipelines/runtime.yml | 25 ------------------- 2 files changed, 16 insertions(+), 26 deletions(-) diff --git a/eng/pipelines/extra-platforms/runtime-extra-platforms-wasm.yml b/eng/pipelines/extra-platforms/runtime-extra-platforms-wasm.yml index f0b197b68db9ac..a916447180c86e 100644 --- a/eng/pipelines/extra-platforms/runtime-extra-platforms-wasm.yml +++ b/eng/pipelines/extra-platforms/runtime-extra-platforms-wasm.yml @@ -74,6 +74,21 @@ 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 }} + 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: @@ -162,7 +177,7 @@ jobs: - browser_wasm_win nameSuffix: MultiThreaded extraBuildArgs: /p:WasmEnableThreads=true /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS) - condition: ne(variables['wasmMultiThreadedBuildOnlyNeededOnDefaultPipeline'], true) + condition: or(eq(variables.isRollingBuild, true), eq(variables.wasmSingleThreadedBuildOnlyNeededOnDefaultPipeline, true)) publishArtifactsForWorkload: true publishWBT: false diff --git a/eng/pipelines/runtime.yml b/eng/pipelines/runtime.yml index 4880c8475743da..7514379d672533 100644 --- a/eng/pipelines/runtime.yml +++ b/eng/pipelines/runtime.yml @@ -822,20 +822,6 @@ 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: @@ -871,17 +857,6 @@ 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: From 519e581e2b7882f2fbd4e7102e3d80664ca0dcc3 Mon Sep 17 00:00:00 2001 From: pavelsavara Date: Wed, 19 Feb 2025 14:19:02 +0100 Subject: [PATCH 2/4] more --- eng/pipelines/extra-platforms/runtime-extra-platforms-wasm.yml | 1 - src/mono/wasm/features.md | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/eng/pipelines/extra-platforms/runtime-extra-platforms-wasm.yml b/eng/pipelines/extra-platforms/runtime-extra-platforms-wasm.yml index a916447180c86e..bb3e21f969d692 100644 --- a/eng/pipelines/extra-platforms/runtime-extra-platforms-wasm.yml +++ b/eng/pipelines/extra-platforms/runtime-extra-platforms-wasm.yml @@ -177,7 +177,6 @@ jobs: - browser_wasm_win nameSuffix: MultiThreaded extraBuildArgs: /p:WasmEnableThreads=true /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS) - condition: or(eq(variables.isRollingBuild, true), eq(variables.wasmSingleThreadedBuildOnlyNeededOnDefaultPipeline, true)) publishArtifactsForWorkload: true publishWBT: false diff --git a/src/mono/wasm/features.md b/src/mono/wasm/features.md index c13dde952952c9..ec00eff02e3d6a 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 support is enabled by `true`, and is currently disabled by default. It requires a unique build of the runtime. +Multi-threading experiment 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. From 5cd31a9cd65f9662970d94ec587c8f1d8362ef00 Mon Sep 17 00:00:00 2001 From: pavelsavara Date: Wed, 19 Feb 2025 14:23:14 +0100 Subject: [PATCH 3/4] more --- eng/pipelines/extra-platforms/runtime-extra-platforms-wasm.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/eng/pipelines/extra-platforms/runtime-extra-platforms-wasm.yml b/eng/pipelines/extra-platforms/runtime-extra-platforms-wasm.yml index bb3e21f969d692..8d1b32c7be54ad 100644 --- a/eng/pipelines/extra-platforms/runtime-extra-platforms-wasm.yml +++ b/eng/pipelines/extra-platforms/runtime-extra-platforms-wasm.yml @@ -84,7 +84,6 @@ jobs: extraBuildArgs: /p:WasmEnableThreads=true /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS) extraHelixArguments: /p:WasmEnableThreads=true isExtraPlatformsBuild: ${{ parameters.isExtraPlatformsBuild }} - alwaysRun: ${{ variables.isRollingBuild }} shouldRunSmokeOnly: onLibrariesAndIllinkChanges scenarios: - WasmTestOnChrome From ffcd8def5d6a93ca0d852b197c8eed9754961eca Mon Sep 17 00:00:00 2001 From: pavelsavara Date: Wed, 19 Feb 2025 14:31:55 +0100 Subject: [PATCH 4/4] more --- eng/pipelines/extra-platforms/runtime-extra-platforms-wasm.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/eng/pipelines/extra-platforms/runtime-extra-platforms-wasm.yml b/eng/pipelines/extra-platforms/runtime-extra-platforms-wasm.yml index 8d1b32c7be54ad..dd7f5d2a638203 100644 --- a/eng/pipelines/extra-platforms/runtime-extra-platforms-wasm.yml +++ b/eng/pipelines/extra-platforms/runtime-extra-platforms-wasm.yml @@ -84,6 +84,8 @@ jobs: 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