Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[wasm] Update Wasm.Build.Tests to build with net6.0 #54936

Merged
merged 12 commits into from
Jul 7, 2021

Conversation

radical
Copy link
Member

@radical radical commented Jun 30, 2021

  • This also refactors to tests to be usable for testing with workloads
    in an upcoming PR.
  • And skips workload-only tests

- This also refactors to tests to be usable for testing with workloads
  in an upcoming PR.
- And skips workload-only tests
@ghost
Copy link

ghost commented Jun 30, 2021

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

Issue Details
  • This also refactors to tests to be usable for testing with workloads
    in an upcoming PR.
  • And skips workload-only tests
Author: radical
Assignees: -
Labels:

area-Infrastructure-mono

Milestone: -

- Console (AOT/interp)
- Browser (AOT/interp)
- TopLevel (nterp)

All of these are covered in Wasm.Build.Tests . This saves on unncessary
build time too ;)
@radical radical added the arch-wasm WebAssembly architecture label Jun 30, 2021
@ghost
Copy link

ghost commented Jun 30, 2021

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

Issue Details
  • This also refactors to tests to be usable for testing with workloads
    in an upcoming PR.
  • And skips workload-only tests
Author: radical
Assignees: -
Labels:

arch-wasm, area-Infrastructure-mono

Milestone: -

.. so they can be added with the PR that adds support for workloads, and
can be reviewed there.
@radical
Copy link
Member Author

radical commented Jun 30, 2021

Libraries Test Run release coreclr Linux x64 Debug failed - Unrelated - #54778

CoreCLR Pri0 Runtime Tests Run windows arm64 checked - unrelated, likely - https://github.com/dotnet/runtime/issues/53329

@radical
Copy link
Member Author

radical commented Jun 30, 2021

Build MacCatalyst x64 Debug AllSubsets_Mono: timed out after almost 3 hours, though checks doesn't seem to be getting the updated status. Unrelated to this PR.

Copy link
Member

@lewing lewing left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking good, some thoughts

src/tests/BuildWasmApps/Wasm.Build.Tests/CommandBase.cs Outdated Show resolved Hide resolved
src/tests/BuildWasmApps/Wasm.Build.Tests/CommandBase.cs Outdated Show resolved Hide resolved
src/tests/BuildWasmApps/Wasm.Build.Tests/CommandBase.cs Outdated Show resolved Hide resolved
src/tests/BuildWasmApps/Wasm.Build.Tests/CommandBase.cs Outdated Show resolved Hide resolved
src/tests/BuildWasmApps/Wasm.Build.Tests/CommandBase.cs Outdated Show resolved Hide resolved
@radical radical requested a review from lewing July 5, 2021 23:00
@lewing
Copy link
Member

lewing commented Jul 7, 2021

are the runtime pack resolution bits needed in this pr?

@radical
Copy link
Member Author

radical commented Jul 7, 2021

are the runtime pack resolution bits needed in this pr?

where? the changes in WasmApp.Native.targets are needed to make net6.0 test project builds work correctly. Those properties are set elsewhere already.

@radical radical merged commit 0ef56df into dotnet:main Jul 7, 2021
@radical radical deleted the wasm-tests branch July 7, 2021 23:32
radical added a commit to radical/runtime that referenced this pull request Jul 12, 2021
Currently we run `Wasm.Build.Tests` on helix, by setting various paths to
reference files from `artifacts`. This PR adds another mode, we *try* to test
against workload packs.

For this:

1. we need the nugets for the various workload packs, and the manifests
2. manifest id, path to those nugets
3. and a SDK version to use for testing

Steps:

1. The specified SDK is installed in `artifacts/bin/dotnet-workload`
2. the specified manifest is installed from the built nugets, and any
   `depends-on` manifests in the json.

3. `dotnet workload install` is used to install the packs, with the built
   nugets path being used as one the nuget sources

Once this setup is done, the tests are run in an environment such that
they use `dotnet` from above, and try to resolve packs from there.

Known issues:
1. `Pack` target is explicitly invoked for the aotcross projects

We still want to test without packs, the case of using `EMSDK_PATH` directly,
for example, in the library tests. So, we now run `Wasm.Build.Tests` for
Workloads, *and* the regular `EMSDK_PATH`.

Two workload specific tests were added in a recent PR (dotnet#54936)
- simple test for building blazorwasm template project with AOT
- a test to validate that the files in `UnixFilePermissions.xml` for the packs actually exist on disk

.. and these are enabled here.

Notes:
- This also fixes using the correct runtime pack based on the version in the manifest json.
- The sdk version is specified with
  `<SdkVersionForWorkloadTesting>6.0.100-preview.7.21326.4</SdkVersionForWorkloadTesting>`
  in `eng/Versions.props`

TODO:
- Run the blazorwasm test with playwright
- Add sdk-with-no-packs case also
@ghost ghost locked as resolved and limited conversation to collaborators Aug 7, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
arch-wasm WebAssembly architecture area-Build-mono
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants