Skip to content

Commit 3cb7f5a

Browse files
authored
[wasm] Misc fixes (#76942)
* [wasm] Fix Wasm.Build.Tests with stable 7.0.0 Set the manifest package version to use (`7.0.0` instead of `7.0.0-ci`) early. Fixes #76908 . * Misc fixes based on review feedback Fixes #73758 . * Update WorkloadBuildTasksDir to remove 'publish' in the path * workloads-testing.targets: ignore symbols.nupkgs when looking for runtime packs * Fix WBT to have the correct version for WORKLOAD_PACKS_VER * [wasm] Emit an error if PackageVersionForWorkloadManifests property is not set * workloads-testing: Get the PackageVersion at build time .. because it is not set at evaluation time. So, get it in a target, and move the WorkloadIds to a target too. * Ensure the version is set before generating the runscript for WBT
1 parent 43552c6 commit 3cb7f5a

File tree

11 files changed

+348
-320
lines changed

11 files changed

+348
-320
lines changed

Directory.Build.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@
9797
<AndroidAppBuilderDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'AndroidAppBuilder', 'Debug', '$(NetCoreAppToolCurrent)', 'publish'))</AndroidAppBuilderDir>
9898
<WasmAppBuilderDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'WasmAppBuilder', 'Debug', '$(NetCoreAppToolCurrent)'))</WasmAppBuilderDir>
9999
<WasmBuildTasksDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'WasmBuildTasks', 'Debug', '$(NetCoreAppToolCurrent)', 'publish'))</WasmBuildTasksDir>
100-
<WorkloadBuildTasksDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'WorkloadBuildTasks', 'Debug', '$(NetCoreAppToolCurrent)', 'publish'))</WorkloadBuildTasksDir>
100+
<WorkloadBuildTasksDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'WorkloadBuildTasks', 'Debug', '$(NetCoreAppToolCurrent)'))</WorkloadBuildTasksDir>
101101
<MonoAOTCompilerDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'MonoAOTCompiler', 'Debug', '$(NetCoreAppToolCurrent)'))</MonoAOTCompilerDir>
102102
<MonoTargetsTasksDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'MonoTargetsTasks', 'Debug', '$(NetCoreAppToolCurrent)'))</MonoTargetsTasksDir>
103103
<TestExclusionListTasksDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'TestExclusionListTasks', 'Debug', '$(NetCoreAppToolCurrent)'))</TestExclusionListTasksDir>

eng/testing/tests.wasm.targets

Lines changed: 31 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
<_UseWasmSymbolicator Condition="'$(TestTrimming)' != 'true'">true</_UseWasmSymbolicator>
3131
<WasmIgnoreNet6WorkloadInstallErrors Condition="'$(WasmIgnoreNet6WorkloadInstallErrors)' == ''">true</WasmIgnoreNet6WorkloadInstallErrors>
3232
<WasmIgnoreNet6WorkloadInstallErrors Condition="'$(WasmIgnoreNet6WorkloadInstallErrors)' != 'true'">false</WasmIgnoreNet6WorkloadInstallErrors>
33+
<InstallWorkloadUsingArtifactsDependsOn>_GetWorkloadsToInstall;$(InstallWorkloadUsingArtifactsDependsOn)</InstallWorkloadUsingArtifactsDependsOn>
3334
</PropertyGroup>
3435

3536
<PropertyGroup Condition="'$(EnableAggressiveTrimming)' == 'true'">
@@ -145,32 +146,6 @@
145146
</PropertyGroup>
146147

147148
<ItemGroup>
148-
<WorkloadIdForTesting Include="wasm-tools;wasm-experimental"
149-
ManifestName="Microsoft.NET.Workload.Mono.ToolChain"
150-
Variant="latest"
151-
Version="$(PackageVersion)"
152-
VersionBand="$(SdkBandVersion)" />
153-
154-
<WorkloadIdForTesting Include="wasm-tools-net7;wasm-experimental-net7"
155-
ManifestName="Microsoft.NET.Workload.Mono.ToolChain.net7"
156-
Variant="net7"
157-
Version="$(PackageVersion)"
158-
VersionBand="$(SdkBandVersion)" />
159-
160-
<WorkloadIdForTesting Include="wasm-tools-net6"
161-
ManifestName="Microsoft.NET.Workload.Mono.ToolChain.net6"
162-
Variant="net6"
163-
Version="$(PackageVersion)"
164-
VersionBand="$(SdkBandVersion)"
165-
IgnoreErrors="$(WasmIgnoreNet6WorkloadInstallErrors)" />
166-
167-
<WorkloadCombinationsToInstall Include="latest" Variants="latest" />
168-
<WorkloadCombinationsToInstall Include="net7" Variants="net7" />
169-
<WorkloadCombinationsToInstall Include="net7+latest" Variants="net7;latest" />
170-
<!--<WorkloadCombinationsToInstall Include="net6" Variants="net6" />-->
171-
<!--<WorkloadCombinationsToInstall Include="net6+7" Variants="net6;net7" />-->
172-
<!--<WorkloadCombinationsToInstall Include="none" />-->
173-
174149
<WasmExtraFilesToDeploy Condition="'$(_UseWasmSymbolicator)' == 'true'" Include="$(MonoProjectRoot)wasm\data\wasm-symbol-patterns.txt" />
175150
<WasmExtraFilesToDeploy Condition="'$(_UseWasmSymbolicator)' == 'true'" Include="$(ArtifactsBinDir)WasmSymbolicator\$(Configuration)\$(NetCoreAppToolCurrent)\WasmSymbolicator.dll" />
176151
</ItemGroup>
@@ -339,4 +314,34 @@
339314
<Target Name="DeployHelixTargetsFile" AfterTargets="ArchiveTests" Condition="'$(HelixTargetsFile)' != ''">
340315
<Copy SourceFiles="$(HelixTargetsFile)" DestinationFiles="$(TestArchiveTestsDir)$(TestProjectName).helix.targets" SkipUnchangedFiles="true" />
341316
</Target>
317+
318+
<Target Name="_GetWorkloadsToInstall" DependsOnTargets="_SetPackageVersionForWorkloadsTesting" Returns="@(WorkloadIdForTesting);@(WorkloadCombinationsToInstall)">
319+
<ItemGroup>
320+
<WorkloadIdForTesting Include="wasm-tools;wasm-experimental"
321+
ManifestName="Microsoft.NET.Workload.Mono.ToolChain"
322+
Variant="latest"
323+
Version="$(PackageVersionForWorkloadManifests)"
324+
VersionBand="$(SdkBandVersion)" />
325+
326+
<WorkloadIdForTesting Include="wasm-tools-net7;wasm-experimental-net7"
327+
ManifestName="Microsoft.NET.Workload.Mono.ToolChain.net7"
328+
Variant="net7"
329+
Version="$(PackageVersionForWorkloadManifests)"
330+
VersionBand="$(SdkBandVersion)" />
331+
332+
<WorkloadIdForTesting Include="wasm-tools-net6"
333+
ManifestName="Microsoft.NET.Workload.Mono.ToolChain.net6"
334+
Variant="net6"
335+
Version="$(PackageVersionForWorkloadManifests)"
336+
VersionBand="$(SdkBandVersion)"
337+
IgnoreErrors="$(WasmIgnoreNet6WorkloadInstallErrors)" />
338+
339+
<WorkloadCombinationsToInstall Include="latest" Variants="latest" />
340+
<WorkloadCombinationsToInstall Include="net7" Variants="net7" />
341+
<WorkloadCombinationsToInstall Include="net7+latest" Variants="net7;latest" />
342+
<!--<WorkloadCombinationsToInstall Include="net6" Variants="net6" />-->
343+
<!--<WorkloadCombinationsToInstall Include="net6+7" Variants="net6;net7" />-->
344+
<!--<WorkloadCombinationsToInstall Include="none" />-->
345+
</ItemGroup>
346+
</Target>
342347
</Project>

eng/testing/workloads-testing.targets

Lines changed: 28 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,15 @@
99
<_SdkForWorkloadTestingBasePath>$(ArtifactsBinDir)</_SdkForWorkloadTestingBasePath>
1010
<_SdkWithNoWorkloadPath>$([MSBuild]::NormalizeDirectory($(_SdkForWorkloadTestingBasePath), 'dotnet-none'))</_SdkWithNoWorkloadPath>
1111
<_SdkWithNoWorkloadStampPath>$([MSBuild]::NormalizePath($(_SdkWithNoWorkloadPath), '.version-$(SdkVersionForWorkloadTesting).stamp'))</_SdkWithNoWorkloadStampPath>
12+
<InstallWorkloadUsingArtifactsDependsOn>
13+
$(InstallWorkloadUsingArtifactsDependsOn);
14+
_SetPackageVersionForWorkloadsTesting;
15+
_GetNuGetsToBuild;
16+
_PreparePackagesForWorkloadInstall;
17+
GetWorkloadInputs;
18+
_ProvisionDotNetForWorkloadTesting;
19+
_InstallWorkloads
20+
</InstallWorkloadUsingArtifactsDependsOn>
1221
</PropertyGroup>
1322

1423
<ItemGroup>
@@ -68,6 +77,17 @@
6877
Command='powershell -ExecutionPolicy ByPass -NoProfile -command "&amp; $(_DotNetInstallCommand)"' />
6978
</Target>
7079

80+
<Target Name="_SetPackageVersionForWorkloadsTesting">
81+
<PropertyGroup>
82+
<!-- Used for workload testing -->
83+
<PackageVersionForWorkloadManifests>$(PackageVersion)</PackageVersionForWorkloadManifests>
84+
<PackageVersionForWorkloadManifests Condition="'$(StabilizePackageVersion)' == 'true'">$(ProductVersion)</PackageVersionForWorkloadManifests>
85+
</PropertyGroup>
86+
87+
<Error Condition="'$(PackageVersionForWorkloadManifests)' == ''"
88+
Text="%24(PackageVersionForWorkloadManifests) is not set. PackageVersion=$(PackageVersion)." />
89+
</Target>
90+
7191
<Target Name="GetWorkloadInputs">
7292
<ItemGroup>
7393
<AvailableNuGetsInArtifacts Include="$(LibrariesShippingPackagesDir)\*.nupkg" />
@@ -92,19 +112,17 @@
92112

93113
<Target Name="InstallWorkloadUsingArtifacts"
94114
AfterTargets="ArchiveTests"
95-
DependsOnTargets="_GetNuGetsToBuild;_PreparePackagesForWorkloadInstall;GetWorkloadInputs;_ProvisionDotNetForWorkloadTesting;_InstallWorkloads"
115+
DependsOnTargets="$(InstallWorkloadUsingArtifactsDependsOn)"
96116
Condition="'$(InstallWorkloadForTesting)' == 'true'" />
97117

98118
<Target Name="_GetNuGetsToBuild" Returns="@(_NuGetsToBuild)" DependsOnTargets="_GetRuntimePackNuGetsToBuild">
99119
<PropertyGroup>
100-
<_PackageVersion>$(PackageVersion)</_PackageVersion>
101-
<_PackageVersion Condition="'$(StabilizePackageVersion)' == 'true'">$(ProductVersion)</_PackageVersion>
102120
<!-- Eg. Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.browser-wasm.6.0.0-dev.nupkg -->
103-
<_AOTCrossNuGetPath>$(LibrariesShippingPackagesDir)Microsoft.NETCore.App.Runtime.AOT.$(NETCoreSdkRuntimeIdentifier).Cross.$(RuntimeIdentifier).$(_PackageVersion).nupkg</_AOTCrossNuGetPath>
121+
<_AOTCrossNuGetPath>$(LibrariesShippingPackagesDir)Microsoft.NETCore.App.Runtime.AOT.$(NETCoreSdkRuntimeIdentifier).Cross.$(RuntimeIdentifier).$(PackageVersionForWorkloadManifests).nupkg</_AOTCrossNuGetPath>
104122
</PropertyGroup>
105123

106124
<ItemGroup>
107-
<_NuGetsToBuild Include="$(LibrariesShippingPackagesDir)Microsoft.NETCore.App.Ref.$(_PackageVersion).nupkg"
125+
<_NuGetsToBuild Include="$(LibrariesShippingPackagesDir)Microsoft.NETCore.App.Ref.$(PackageVersionForWorkloadManifests).nupkg"
108126
Project="$(InstallerProjectRoot)pkg/sfx/Microsoft.NETCore.App\Microsoft.NETCore.App.Ref.sfxproj"
109127
Properties="@(_DefaultPropsForNuGetBuild, ';')"
110128
Descriptor="Ref pack"/>
@@ -141,18 +159,16 @@
141159
-->
142160
<Target Name="_GetRuntimePackNuGetsToBuild" Condition="'$(TargetOS)' == 'Browser' and '$(WasmSkipMissingRuntimePackBuild)' != 'true'" Returns="@(_NuGetsToBuild)">
143161
<PropertyGroup>
144-
<_PackageVersion>$(PackageVersion)</_PackageVersion>
145-
<_PackageVersion Condition="'$(StabilizePackageVersion)' == 'true'">$(ProductVersion)</_PackageVersion>
146-
147162
<_DefaultBuildVariant Condition="'$(WasmEnableThreads)' == 'true' or '$(MonoWasmBuildVariant)' == 'multithread'">.multithread.</_DefaultBuildVariant>
148163
<_DefaultBuildVariant Condition="'$(WasmEnablePerfTracing)' == 'true' or '$(MonoWasmBuildVariant)' == 'perftrace'">.perftrace.</_DefaultBuildVariant>
149164
<_DefaultBuildVariant Condition="'$(_DefaultBuildVariant)' == ''">.</_DefaultBuildVariant>
150165

151-
<_DefaultRuntimePackNuGetPath>$(LibrariesShippingPackagesDir)Microsoft.NETCore.App.Runtime.Mono$(_DefaultBuildVariant)browser-wasm.$(_PackageVersion).nupkg</_DefaultRuntimePackNuGetPath>
166+
<_DefaultRuntimePackNuGetPath>$(LibrariesShippingPackagesDir)Microsoft.NETCore.App.Runtime.Mono$(_DefaultBuildVariant)browser-wasm.$(PackageVersionForWorkloadManifests).nupkg</_DefaultRuntimePackNuGetPath>
152167
</PropertyGroup>
153168

154169
<ItemGroup>
155-
<_RuntimePackNugetAvailable Include="$(LibrariesShippingPackagesDir)Microsoft.NETCore.App.Runtime.Mono*$(_PackageVersion).nupkg" />
170+
<_RuntimePackNugetAvailable Include="$(LibrariesShippingPackagesDir)Microsoft.NETCore.App.Runtime.Mono*$(PackageVersionForWorkloadManifests).nupkg" />
171+
<_RuntimePackNugetAvailable Remove="@(_RuntimePackNugetAvailable)" Condition="$([System.String]::new('%(_RuntimePackNugetAvailable.FileName)').EndsWith('.symbols'))" />
156172
</ItemGroup>
157173

158174
<Error Condition="@(_RuntimePackNugetAvailable -> Count()) != 3 and @(_RuntimePackNugetAvailable -> Count()) != 1"
@@ -162,14 +178,14 @@
162178
<_BuildVariants Include="multithread" Condition="'$(_DefaultBuildVariant)' != '.multithread.'" />
163179
<_BuildVariants Include="perftrace" Condition="'$(_DefaultBuildVariant)' != '.perftrace.'" />
164180

165-
<_NuGetsToBuild Include="$(LibrariesShippingPackagesDir)Microsoft.NETCore.App.Runtime.Mono.%(_BuildVariants.Identity).browser-wasm.$(_PackageVersion).nupkg"
181+
<_NuGetsToBuild Include="$(LibrariesShippingPackagesDir)Microsoft.NETCore.App.Runtime.Mono.%(_BuildVariants.Identity).browser-wasm.$(PackageVersionForWorkloadManifests).nupkg"
166182
Project="$(InstallerProjectRoot)pkg/sfx/Microsoft.NETCore.App/Microsoft.NETCore.App.Runtime.sfxproj"
167183
Dependencies="$(_DefaultRuntimePackNuGetPath)"
168184
Properties="@(_DefaultPropsForNuGetBuild, ';');MonoWasmBuildVariant=%(_BuildVariants.Identity)"
169185
Descriptor="runtime pack for %(_BuildVariants.Identity)" />
170186

171187
<!-- add for non-threaded runtime also -->
172-
<_NuGetsToBuild Include="$(LibrariesShippingPackagesDir)Microsoft.NETCore.App.Runtime.Mono.browser-wasm.$(_PackageVersion).nupkg"
188+
<_NuGetsToBuild Include="$(LibrariesShippingPackagesDir)Microsoft.NETCore.App.Runtime.Mono.browser-wasm.$(PackageVersionForWorkloadManifests).nupkg"
173189
Project="$(InstallerProjectRoot)pkg/sfx/Microsoft.NETCore.App/Microsoft.NETCore.App.Runtime.sfxproj"
174190
Properties="@(_DefaultPropsForNuGetBuild, ';');MonoWasmBuildVariant="
175191
Dependencies="$(_DefaultRuntimePackNuGetPath)"

src/mono/nuget/Directory.Build.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<Import Project="$(NuGetPackageRoot)\microsoft.dotnet.build.tasks.packaging\$(MicrosoftDotNetBuildTasksPackagingVersion)\build\Microsoft.DotNet.Build.Tasks.Packaging.props" />
55

66
<PropertyGroup>
7-
<WorkloadTasksAssemblyPath>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'WorkloadBuildTasks', 'Debug', '$(NetCoreAppToolCurrent)'))WorkloadBuildTasks.dll</WorkloadTasksAssemblyPath>
7+
<WorkloadTasksAssemblyPath>$([MSBuild]::NormalizePath('$(ArtifactsBinDir)', 'WorkloadBuildTasks', 'Debug', '$(NetCoreAppToolCurrent)', 'WorkloadBuildTasks.dll'))</WorkloadTasksAssemblyPath>
88
</PropertyGroup>
99
<PropertyGroup>
1010
<PackageIndexFile>$(MSBuildThisFileDirectory)packageIndex.json</PackageIndexFile>

src/mono/nuget/Microsoft.NET.Runtime.WebAssembly.Sdk/Sdk/AutoImport.props

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
<!-- Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license. -->
12
<Project>
23
<PropertyGroup>
34
<WasmNativeWorkload Condition="'$(WasmNativeWorkload)' == ''">net8.0</WasmNativeWorkload>

0 commit comments

Comments
 (0)