Skip to content

Missing workload check causes error for WasmLinkerTest project #49774

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

Closed
mthalman opened this issue Aug 1, 2023 · 2 comments
Closed

Missing workload check causes error for WasmLinkerTest project #49774

mthalman opened this issue Aug 1, 2023 · 2 comments
Labels
area-infrastructure Includes: MSBuild projects/targets, build scripts, CI, Installers and shared framework

Comments

@mthalman
Copy link
Member

mthalman commented Aug 1, 2023

When using the most recent build of .NET 8 RC1 SDK to build the aspnetcore repo, the following error occurs:

/vmr/.dotnet/sdk/8.0.100-rc.1.23381.1/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To build this project, the following workloads must be installed: wasm-tools [/vmr/src/aspnetcore/artifacts/source-build/self/src/src/Components/WebAssembly/testassets/WasmLinkerTest/WasmLinkerTest.csproj]
/vmr/.dotnet/sdk/8.0.100-rc.1.23381.1/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To install these workloads, run the following command: dotnet workload restore [/vmr/src/aspnetcore/artifacts/source-build/self/src/src/Components/WebAssembly/testassets/WasmLinkerTest/WasmLinkerTest.csproj]

This is a recent regression that I believe is caused by the change in dotnet/emsdk#381.

This was caught by a build scenario for source-build which builds the SDK from the VMR and then uses that output SDK to build the VMR again. Since the input to the first build is currently the RC1 sources, we're using the RC1 SDK to build the VMR. It then fails in that second build when building the aspnetcore repo. This regression occurred between these commits: https://github.com/dotnet/dotnet/compare/c536f689..77cd3567, which contains the changes from dotnet/emsdk#381.

This failure occurs in the _CheckForMissingWorload target. Prior to this regression, the build would skip that target because @(MissingWorkloadPack) was empty. But now it is set with the following content:

MissingWorkloadPack
    Microsoft.NET.Runtime.Emscripten.Node
        Version = 8.0.0-rc.1.23377.1
    Microsoft.NET.Runtime.Emscripten.Sdk
        Version = 8.0.0-rc.1.23377.1
    Microsoft.NET.Runtime.Emscripten.Cache
        Version = 8.0.0-rc.1.23377.1
    Microsoft.NET.Runtime.Emscripten.Cache
        Version = 8.0.0-rc.1.23377.1

We've got three repos involved here so it's not clear to me what needs to be addressed:

  • Is all of this expected and aspnetcore needs to adjust the build configuration to account for this?
  • Is there an issue with how Allow WebAssembly SDK without workload emsdk#381 is implemented?
  • Is the sdk implementation of the missing workload check flawed in some way?

cc @dsplaisted, @maraf

@ghost ghost added the area-infrastructure Includes: MSBuild projects/targets, build scripts, CI, Installers and shared framework label Aug 1, 2023
@dsplaisted
Copy link
Member

@mthalman
Copy link
Member Author

mthalman commented Aug 2, 2023

This is fixed by #49761.

@mthalman mthalman closed this as completed Aug 2, 2023
@ghost ghost locked as resolved and limited conversation to collaborators Sep 1, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-infrastructure Includes: MSBuild projects/targets, build scripts, CI, Installers and shared framework
Projects
None yet
Development

No branches or pull requests

2 participants