Skip to content

Conversation

@radical
Copy link
Member

@radical radical commented Jul 28, 2023

[wasm] CI: Add support for running WBT with multiple runtime packs

This depends on two other builds:

  1. A single threaded build run from wasm-build-only, which publishes its nugets, and other artifacts.
  2. A multi threaded build similar to (1)

The actual WBT job does not build anything now. Instead:

  1. Downloads the artifacts from the two builds
  2. Downloads Wasm.Build.Tests.zip
  3. Sets up artifacts/ to enable the steps below
  4. Prepare the sdk for workload testing
  5. Run the zip from (2) with sdk from (3), on helix

Details

  • [wasm] Rename GlobalizationMode.Default to GlobalizationMode.Sharded
  • [wasm] WBT: Add BlazorRunOptions
  • [wasm] WBT: Add $(PreparePackagesForWorkloadInstall) to control
  • Add new mono.wasmworkload subset
  • [wasm] CI: rename wasm-build-tests.yml to simple-wasm-build-tests.yml
  • CI: Add preBuildSteps parameter to global-build-job.yml
  • [wasm] CI: Add support for building, and publishing from multiple wasm
  • [wasm] CI: Add support for running WBT with multiple runtime packs
  • [wasm] WBT: Add a blazor test for multithreaded build

Notes

  • Multithreading tests are run locally only if the multithreading runtime pack (with dotnet.native.worker.js) is available
  • These tests are always run on CI

radical added 12 commits July 27, 2023 21:27
.. to be similar to the values in `src/mono/wasm/runtime/dotnet.d.ts`.
The other values are not changed as the names in the tests map better to
the terms used in the build.

Based on feedback from @maraf .
.. jobs.

- `wasm-build-only.yml`:
    - Use the new `mono.wasmworkload` subset to prepare some nugets
      needed for WBT
    - Build WBT, and generate the zip file, but don't generate the sdk
- After the build, run:
    - `wasm-post-build-steps.yml` - Publishes the nugets, some tasks
      needed for WBT job, and archive of `Wasm.Build.Tests`.
This depends on two other builds:
1. A single threaded build run from wasm-build-only, which publishes
   its nugets, and other artifacts.
2. A multi threaded build

The actual WBT job does not build anything now. Instead:
1. Downloads the artifacts from the two builds
2. Downloads Wasm.Build.Tests.zip
2. Sets up `artifacts/` to enable the steps below
3. Prepare the sdk for workload testing
4. Run the zip from (2) with sdk from (3).
@radical radical added the arch-wasm WebAssembly architecture label Jul 28, 2023
@ghost ghost added the area-Build-mono label Jul 28, 2023
@ghost ghost assigned radical Jul 28, 2023
@ghost
Copy link

ghost commented Jul 28, 2023

Tagging subscribers to 'arch-wasm': @lewing
See info in area-owners.md if you want to be subscribed.

Issue Details
  • [wasm] Rename GlobalizationMode.Default to GlobalizationMode.Sharded
  • [wasm] WBT: Add BlazorRunOptions
  • cleanup
  • [wasm] WBT: Add $(PreparePackagesForWorkloadInstall) to control
  • Add new mono.wasmworkload subset
  • [wasm] CI: rename wasm-build-tests.yml to simple-wasm-build-tests.yml
  • CI: Add preBuildSteps parameter to global-build-job.yml
  • [wasm] CI: Add support for building, and publishing from multiple wasm
  • [wasm] CI: Add support for running WBT with multiple runtime packs
  • cleanup
  • [wasm] WBT: Add a blazor test for multithreaded build
  • [wasm] add WasmBuild.sln path for vscode workspace
Author: radical
Assignees: -
Labels:

arch-wasm

Milestone: -

@radical radical changed the title mt runtime final [wasm] CI: Add support for running WBT with multithreaded runtime installed too Jul 28, 2023
@radical radical requested a review from maraf July 28, 2023 01:30
@radical
Copy link
Member Author

radical commented Jul 28, 2023

/azp run runtime-wasm

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@radical
Copy link
Member Author

radical commented Jul 28, 2023

Notes for reviewers: Read the individual commits in order.

@radical
Copy link
Member Author

radical commented Jul 28, 2023

@akoeplinger this has some non-wasm CI, and build bits. Would you mind taking a look?

@pavelsavara
Copy link
Member

pavelsavara commented Jul 28, 2023

the non-MT and the MT build still can't run on in the same artifacts, right ? What does it mean for running WBT locally ?

@radical
Copy link
Member Author

radical commented Jul 28, 2023

Failures are known, and unrelated.

@radical
Copy link
Member Author

radical commented Jul 28, 2023

the non-MT and the MT build still can't run on in the same artifacts, right ? What does it mean for running WBT locally ?

Hm good question. I will disable the MT test for local runs right now. And in a follow up PR, add some detection mechanism so it runs only if you have a proper mt runtime available.

@ghost
Copy link

ghost commented Jul 28, 2023

Tagging subscribers to this area: @directhex
See info in area-owners.md if you want to be subscribed.

Issue Details

[wasm] CI: Add support for running WBT with multiple runtime packs

This depends on two other builds:

  1. A single threaded build run from wasm-build-only, which publishes its nugets, and other artifacts.
  2. A multi threaded build similar to (1)

The actual WBT job does not build anything now. Instead:

  1. Downloads the artifacts from the two builds
  2. Downloads Wasm.Build.Tests.zip
  3. Sets up artifacts/ to enable the steps below
  4. Prepare the sdk for workload testing
  5. Run the zip from (2) with sdk from (3), on helix

Details

  • [wasm] Rename GlobalizationMode.Default to GlobalizationMode.Sharded
  • [wasm] WBT: Add BlazorRunOptions
  • [wasm] WBT: Add $(PreparePackagesForWorkloadInstall) to control
  • Add new mono.wasmworkload subset
  • [wasm] CI: rename wasm-build-tests.yml to simple-wasm-build-tests.yml
  • CI: Add preBuildSteps parameter to global-build-job.yml
  • [wasm] CI: Add support for building, and publishing from multiple wasm
  • [wasm] CI: Add support for running WBT with multiple runtime packs
  • [wasm] WBT: Add a blazor test for multithreaded build

Notes

  • Multithreading tests are run locally only if the multithreading runtime pack (with dotnet.native.worker.js) is available
  • These tests are always run on CI
Author: radical
Assignees: radical
Labels:

arch-wasm, area-Build-mono, area-Infrastructure-mono

Milestone: -

@radical radical merged commit 772a743 into dotnet:main Aug 1, 2023
@radical radical deleted the mt-runtime-final branch August 1, 2023 16:19
@ghost ghost locked as resolved and limited conversation to collaborators Aug 31, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants