Skip to content

Commit 7c31be1

Browse files
authored
[wasi] CI: Add AOT library tests job (#95146)
* [wasm] Move LocalBuild, and aot targets to wasm/shared * Runner scripts: honor $PREPEND_PATH * Add support for AOT projects on helix, for wasi * CI: Add wasi aot smoke test projects * CI: Add jobs for wasi aot/smoke tests * CI: Add wasi/aot jobs on runtime-wasm * CI: fix wasi tests list * Fix wasi/windows builds where WasmAssemblyFileName contains the path also * Remove failing tests * [wasm] WBT: Set RID explicitly only for library tests * [wasi] Add --engine-arg=--max-wasm-stack=134217728 for library tests, based on feedback from Zoltan * [wasi] CI: Use shouldContinueOnError=true for aot library tests This adds the job to `runtime-wasm` also, which will run a larger subset of tests but will ignore any failures. For the smoke tests job, failures are not ignored.
1 parent eb64819 commit 7c31be1

23 files changed

+259
-78
lines changed

eng/pipelines/common/templates/wasm-library-aot-tests.yml

Lines changed: 7 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ parameters:
77
buildAOTOnHelix: true
88
nameSuffix: ''
99
platforms: []
10-
runAOT: false
10+
runAOT: false
1111
shouldRunSmokeOnly: false
1212
shouldContinueOnError: false
1313

@@ -17,11 +17,11 @@ jobs:
1717
# Build for Browser/wasm, with EnableAggressiveTrimming=true
1818
#
1919
# non-windows - run only with v8
20-
- ${{ if containsValue(parameters.platforms, 'browser_wasm') }}:
20+
- ${{ each platform in parameters.platforms }}:
2121
- template: /eng/pipelines/common/templates/wasm-library-tests.yml
2222
parameters:
2323
platforms:
24-
- browser_wasm
24+
- ${{ platform }}
2525
nameSuffix: ${{ parameters.nameSuffix }}
2626
isExtraPlatformsBuild: ${{ parameters.isExtraPlatformsBuild }}
2727
isWasmOnlyBuild: ${{ parameters.isWasmOnlyBuild }}
@@ -31,21 +31,7 @@ jobs:
3131
shouldRunSmokeOnly: ${{ parameters.shouldRunSmokeOnly }}
3232
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
3333
scenarios:
34-
- normal
35-
36-
# windows - run only with browser
37-
- ${{ if containsValue(parameters.platforms, 'browser_wasm_win') }}:
38-
- template: /eng/pipelines/common/templates/wasm-library-tests.yml
39-
parameters:
40-
platforms:
41-
- browser_wasm_win
42-
nameSuffix: ${{ parameters.nameSuffix }}
43-
isExtraPlatformsBuild: ${{ parameters.isExtraPlatformsBuild }}
44-
isWasmOnlyBuild: ${{ parameters.isWasmOnlyBuild }}
45-
extraBuildArgs: /p:EnableAggressiveTrimming=true /p:BuildAOTTestsOnHelix=${{ parameters.buildAOTOnHelix }} /p:RunAOTCompilation=${{ parameters.runAOT }} ${{ parameters.extraBuildArgs }}
46-
extraHelixArgs: /p:NeedsToBuildWasmAppsOnHelix=true ${{ parameters.extraHelixArgs }}
47-
alwaysRun: ${{ parameters.alwaysRun }}
48-
shouldRunSmokeOnly: ${{ parameters.shouldRunSmokeOnly }}
49-
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
50-
scenarios:
51-
- WasmTestOnBrowser
34+
- ${{ if eq(platform, 'browser_wasm_win') }}:
35+
- WasmTestOnBrowser
36+
- ${{ if ne(platform, 'browser_wasm_win') }}:
37+
- normal

eng/pipelines/extra-platforms/runtime-extra-platforms-wasm.yml

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020
# - rest are covered by runtime
2121
#
2222
- ${{ if eq(parameters.isRollingBuild, true) }}:
23-
# AOT Library tests
23+
# AOT Library tests - browser_wasm
2424
- template: /eng/pipelines/common/templates/wasm-library-aot-tests.yml
2525
parameters:
2626
platforms:
@@ -31,6 +31,18 @@ jobs:
3131
runAOT: true
3232
alwaysRun: true
3333

34+
# AOT Library tests - wasi_wasm
35+
- template: /eng/pipelines/common/templates/wasm-library-aot-tests.yml
36+
parameters:
37+
platforms:
38+
- wasi_wasm
39+
- wasi_wasm_win
40+
nameSuffix: _AOT
41+
extraBuildArgs: /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS)
42+
runAOT: true
43+
alwaysRun: true
44+
shouldContinueOnError: true
45+
3446
# High resource AOT Library tests
3547
- template: /eng/pipelines/common/templates/wasm-library-aot-tests.yml
3648
parameters:
@@ -136,7 +148,7 @@ jobs:
136148
isExtraPlatformsBuild: ${{ parameters.isExtraPlatformsBuild }}
137149
isWasmOnlyBuild: ${{ parameters.isWasmOnlyBuild }}
138150

139-
# AOT Library tests
151+
# AOT Library tests - browser_wasm
140152
- template: /eng/pipelines/common/templates/wasm-library-aot-tests.yml
141153
parameters:
142154
platforms:
@@ -149,6 +161,20 @@ jobs:
149161
isWasmOnlyBuild: ${{ parameters.isWasmOnlyBuild }}
150162
alwaysRun: ${{ parameters.isWasmOnlyBuild }}
151163

164+
# AOT Library tests - wasi_wasm
165+
- template: /eng/pipelines/common/templates/wasm-library-aot-tests.yml
166+
parameters:
167+
platforms:
168+
- wasi_wasm
169+
- wasi_wasm_win
170+
nameSuffix: _AOT
171+
extraBuildArgs: /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS)
172+
runAOT: true
173+
shouldContinueOnError: true
174+
isExtraPlatformsBuild: ${{ parameters.isExtraPlatformsBuild }}
175+
isWasmOnlyBuild: ${{ parameters.isWasmOnlyBuild }}
176+
alwaysRun: ${{ parameters.isWasmOnlyBuild }}
177+
152178
# High resource AOT Library tests
153179
- template: /eng/pipelines/common/templates/wasm-library-aot-tests.yml
154180
parameters:

eng/pipelines/runtime.yml

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -533,20 +533,14 @@ extends:
533533
parameters:
534534
platforms:
535535
- browser_wasm
536-
nameSuffix: _AOT
537-
runAOT: true
538-
shouldRunSmokeOnly: true
539-
alwaysRun: ${{ variables.isRollingBuild }}
540-
extraBuildArgs: /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS)
541-
542-
- template: /eng/pipelines/common/templates/wasm-library-aot-tests.yml
543-
parameters:
544-
platforms:
545536
- browser_wasm_win
546-
nameSuffix: _AOT
537+
- wasi_wasm
538+
- wasi_wasm_win
539+
nameSuffix: _Smoke_AOT
547540
runAOT: true
548541
shouldRunSmokeOnly: true
549542
alwaysRun: ${{ variables.isRollingBuild }}
543+
extraBuildArgs: /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS)
550544

551545
# For Wasm.Build.Tests - runtime pack builds
552546
- template: /eng/pipelines/common/templates/wasm-build-only.yml
Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
#!/usr/bin/env bash
2+
3+
# SetCommands defined in eng\testing\tests.wasm.targets
4+
[[SetCommands]]
5+
[[SetCommandsEcho]]
6+
7+
EXECUTION_DIR=$(dirname $0)
8+
if [[ -n "$3" ]]; then
9+
SCENARIO=$3
10+
fi
11+
12+
export PATH=$PREPEND_PATH:$PATH
13+
14+
if [[ -z "$HELIX_WORKITEM_UPLOAD_ROOT" ]]; then
15+
XHARNESS_OUT="$EXECUTION_DIR/xharness-output"
16+
else
17+
XHARNESS_OUT="$HELIX_WORKITEM_UPLOAD_ROOT/xharness-output"
18+
fi
19+
20+
if [[ -n "$XHARNESS_CLI_PATH" ]]; then
21+
# When running in CI, we only have the .NET runtime available
22+
# We need to call the XHarness CLI DLL directly via dotnet exec
23+
HARNESS_RUNNER="dotnet exec $XHARNESS_CLI_PATH"
24+
else
25+
HARNESS_RUNNER="dotnet xharness"
26+
fi
27+
28+
if [[ -z "$XHARNESS_COMMAND" ]]; then
29+
XHARNESS_COMMAND="test"
30+
fi
31+
32+
echo PATH=$PATH
33+
echo EXECUTION_DIR=$EXECUTION_DIR
34+
echo SCENARIO=$SCENARIO
35+
echo XHARNESS_OUT=$XHARNESS_OUT
36+
echo XHARNESS_CLI_PATH=$XHARNESS_CLI_PATH
37+
echo HARNESS_RUNNER=$HARNESS_RUNNER
38+
echo XHARNESS_COMMAND=$XHARNESS_COMMAND
39+
echo XHARNESS_ARGS=$XHARNESS_ARGS
40+
41+
function _buildAOTFunc()
42+
{
43+
local projectFile=$1
44+
local binLog=$2
45+
shift 2
46+
47+
time dotnet msbuild $projectFile /bl:$binLog $*
48+
local buildExitCode=$?
49+
50+
echo "\n** Performance summary for the build **\n"
51+
dotnet msbuild $binLog -clp:PerformanceSummary -v:q -nologo
52+
if [[ "$(uname -s)" == "Linux" && $buildExitCode -ne 0 ]]; then
53+
echo "\nLast few messages from dmesg:\n"
54+
local lastLines=`dmesg | tail -n 20`
55+
echo $lastLines
56+
57+
if [[ "$lastLines" =~ "oom-kill" ]]; then
58+
return 9200 # OOM
59+
fi
60+
fi
61+
62+
echo
63+
echo
64+
65+
if [[ $buildExitCode -ne 0 ]]; then
66+
return 9100 # aot build failure
67+
fi
68+
69+
return 0
70+
}
71+
72+
pushd $EXECUTION_DIR
73+
74+
# ========================= BEGIN Test Execution =============================
75+
echo ----- start $(date) =============== To repro directly: =====================================================
76+
echo pushd $EXECUTION_DIR
77+
# RunCommands defined in eng\testing\tests.wasm.targets
78+
[[RunCommandsEcho]]
79+
echo popd
80+
echo ===========================================================================================================
81+
pushd $EXECUTION_DIR
82+
# RunCommands defined in eng\testing\tests.wasm.targets
83+
[[RunCommands]]
84+
_exitCode=$?
85+
popd
86+
echo ----- end $(date) ----- exit code $_exitCode ----------------------------------------------------------
87+
88+
echo "XHarness artifacts: $XHARNESS_OUT"
89+
90+
exit $_exitCode

eng/testing/WasiRunnerTemplate.cmd

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ if [%3] NEQ [] (
1010
set SCENARIO=%3
1111
)
1212

13+
set PATH=%PREPEND_PATH%;%PATH%
14+
1315
if [%HELIX_WORKITEM_UPLOAD_ROOT%] == [] (
1416
set "XHARNESS_OUT=%EXECUTION_DIR%xharness-output"
1517
) else (

eng/testing/WasmRunnerAOTTemplate.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
[[SetCommandsEcho]]
66

77
export PATH="$HOME/.jsvu/bin:$PATH"
8+
export PATH=$PREPEND_PATH:$PATH
89

910
EXECUTION_DIR=$(dirname $0)
1011
if [[ -n "$3" ]]; then

eng/testing/WasmRunnerTemplate.cmd

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ if [%3] NEQ [] (
1010
set SCENARIO=%3
1111
)
1212

13+
set PATH=%PREPEND_PATH%;%PATH%
14+
1315
if [%HELIX_WORKITEM_UPLOAD_ROOT%] == [] (
1416
set "XHARNESS_OUT=%EXECUTION_DIR%xharness-output"
1517
) else (

eng/testing/tests.browser.targets

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@
170170
<WasmAppDir>$(BundleDir)</WasmAppDir>
171171
<WasmMainAssemblyFileName Condition="'$(WasmMainAssemblyFileName)' == ''">WasmTestRunner.dll</WasmMainAssemblyFileName>
172172
<WasmMainJSPath Condition="'$(WasmMainJSPath)' == ''">$(MonoProjectRoot)\wasm\test-main.js</WasmMainJSPath>
173-
<WasmMainJSFileName>$([System.IO.Path]::GetFileName('$(WasmMainJSPath)'))</WasmMainJSFileName>
173+
<WasmMainJSFileName>$([System.IO.Path]::GetFileName('$(WasmMainJSPath)'))</WasmMainJSFileName>
174174
<WasmMainHtmlPath>$(PublishDir)index.html</WasmMainHtmlPath>
175175
<WasmInvariantGlobalization>$(InvariantGlobalization)</WasmInvariantGlobalization>
176176
<WasmGenerateRunV8Script>true</WasmGenerateRunV8Script>
@@ -260,12 +260,14 @@
260260
<RunScriptCommands Include="if [[ &quot;$SCENARIO&quot; == &quot;WasmTestOnNodeJS&quot; || &quot;$SCENARIO&quot; == &quot;wasmtestonnodejs&quot; ]]; then npm ci; fi" />
261261

262262
<SetScriptCommands Condition="'$(InstallChromeForTests)' == 'true' and '$(ChromeDriverBinaryPath)' != ''" Include="export PREPEND_PATH=$([System.IO.Path]::GetDirectoryName($(ChromeDriverBinaryPath)))" />
263+
<SetScriptCommands Condition="'$(IsBrowserWasmProject)' == 'true'" Include="export RuntimeIdentifier=browser-wasm" />
263264
</ItemGroup>
264265
<ItemGroup Condition="'$(OS)' == 'Windows_NT'">
265266
<SetScriptCommands Include="if /I [%SCENARIO%]==[WasmTestOnNodeJS] ( set &quot;WasmXHarnessMonoArgs=%WasmXHarnessMonoArgs% --setenv=NPM_MODULES^=$(NodeNpmModuleString)&quot; )" />
266267
<RunScriptCommands Include="if /I [%SCENARIO%]==[WasmTestOnNodeJS] ( call npm ci )" />
267268

268269
<SetScriptCommands Condition="'$(InstallChromeForTests)' == 'true' and '$(ChromeDriverBinaryPath)' != ''" Include="set PREPEND_PATH=$([System.IO.Path]::GetDirectoryName($(ChromeDriverBinaryPath)))" />
270+
<SetScriptCommands Condition="'$(IsBrowserWasmProject)' == 'true'" Include="set RuntimeIdentifier=browser-wasm" />
269271
</ItemGroup>
270272
</Target>
271273

eng/testing/tests.wasi.targets

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,16 @@
88
<WasmSingleFileBundle Condition="'$(WasmSingleFileBundle)' == ''">false</WasmSingleFileBundle>
99
<WasmMainAssemblyFileName Condition="'$(WasmMainAssemblyFileName)' == ''">WasmTestRunner.dll</WasmMainAssemblyFileName>
1010

11+
<InstallWasmtimeForTests Condition="'$(InstallWasmtimeForTests)' == '' and
12+
('$(ContinuousIntegrationBuild)' != 'true' or Exists('/.dockerenv'))"
13+
>true</InstallWasmtimeForTests>
14+
1115
<!--<InstallWorkloadUsingArtifactsDependsOn>_GetWorkloadsToInstall;$(InstallWorkloadUsingArtifactsDependsOn)</InstallWorkloadUsingArtifactsDependsOn>-->
1216
<GetWorkloadInputsDependsOn>_GetWorkloadsToInstall;$(GetWorkloadInputsDependsOn)</GetWorkloadInputsDependsOn>
1317
<GetNuGetsToBuildForWorkloadTestingDependsOn>_GetNugetsForAOT;$(GetNuGetsToBuildForWorkloadTestingDependsOn)</GetNuGetsToBuildForWorkloadTestingDependsOn>
1418
<WASI_SDK_PATH Condition="'$(WASI_SDK_PATH)' == ''">$([MSBuild]::NormalizeDirectory($(MonoProjectRoot), 'wasi', 'wasi-sdk'))</WASI_SDK_PATH>
19+
20+
<_BundleAOTTestWasmAppForHelixDependsOn>$(_BundleAOTTestWasmAppForHelixDependsOn);PrepareForWasiBuildApp;_PrepareForAOTOnHelix</_BundleAOTTestWasmAppForHelixDependsOn>
1521
</PropertyGroup>
1622

1723
<!-- On CI this is installed as part of pretest, but it should still be installed
@@ -42,8 +48,9 @@
4248
<_XHarnessArgs Condition="'$(IsFunctionalTest)' == 'true'" >$(_XHarnessArgs) --expected-exit-code=$(ExpectedExitCode)</_XHarnessArgs>
4349
<_XHarnessArgs Condition="'$(WasmXHarnessArgs)' != ''" >$(_XHarnessArgs) $(WasmXHarnessArgs)</_XHarnessArgs>
4450
<_XHarnessArgs Condition="'$(WasmXHarnessTestsTimeout)' != ''" >$(_XHarnessArgs) &quot;--timeout=$(WasmXHarnessTestsTimeout)&quot;</_XHarnessArgs>
51+
<_XHarnessArgs >$(_XHarnessArgs) --engine-arg=--max-wasm-stack=134217728</_XHarnessArgs>
4552
<_XHarnessArgs Condition="'$(WasmXHarnessArgsCli)' != ''" >$(_XHarnessArgs) $(WasmXHarnessArgsCli)</_XHarnessArgs>
46-
53+
4754
<_InvariantGlobalization Condition="'$(InvariantGlobalization)' == 'true'">--env=DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=true</_InvariantGlobalization>
4855

4956
<!-- There two flavors of WasmXHarnessArgs and WasmXHarnessMonoArgs, one is MSBuild property and the other is environment variable -->
@@ -55,8 +62,6 @@
5562
<_AOTBuildCommand Condition="'$(BrowserHost)' != 'windows'">_buildAOTFunc publish/ProxyProjectForAOTOnHelix.proj $XHARNESS_OUT/AOTBuild.binlog</_AOTBuildCommand>
5663
<_AOTBuildCommand Condition="'$(BrowserHost)' == 'windows'">dotnet msbuild publish/ProxyProjectForAOTOnHelix.proj /bl:%XHARNESS_OUT%/AOTBuild.binlog</_AOTBuildCommand>
5764

58-
<_AOTBuildCommand Condition="'$(BrowserHost)' == 'windows'">$(_AOTBuildCommand) &quot;/p:WasmCachePath=%USERPROFILE%\.emscripten-cache&quot;</_AOTBuildCommand>
59-
6065
<!-- running aot-helix tests locally, so we can test with the same project file as CI -->
6166
<_AOTBuildCommand Condition="'$(ContinuousIntegrationBuild)' != 'true'">$(_AOTBuildCommand) /p:RuntimeSrcDir=$(RepoRoot) /p:RuntimeConfig=$(Configuration) /p:TasksConfiguration=$(TasksConfiguration)</_AOTBuildCommand>
6267

@@ -132,12 +137,25 @@
132137
</ItemGroup>
133138
</Target>
134139

140+
<Target Name="_PrepareForAOTOnHelix">
141+
<ItemGroup>
142+
<_WasmPropertyNames Include="DisableParallelEmccCompile" />
143+
<_WasmPropertyNames Include="WasiClangCompileOptimizationFlag" />
144+
<_WasmPropertyNames Include="WasiClangLinkOptimizationFlag" />
145+
<_WasmPropertyNames Include="WasmIncludeFullIcuData" />
146+
<_WasmPropertyNames Include="WasmIcuDataFileName" />
147+
<_WasmPropertyNames Include="HybridGlobalization" />
148+
</ItemGroup>
149+
</Target>
150+
135151
<Target Name="_WasiAddToRunScript" BeforeTargets="GenerateRunScript">
136152
<ItemGroup Condition="'$(OS)' != 'Windows_NT'">
137153
<SetScriptCommands Condition="'$(InstallWasmtimeForTests)' == 'true' and Exists($(WasmtimeDir))" Include="export PREPEND_PATH=$(WasmtimeDir)" />
154+
<SetScriptCommands Condition="'$(IsWasiProject)' == 'true'" Include="export RuntimeIdentifier=wasi-wasm" />
138155
</ItemGroup>
139156
<ItemGroup Condition="'$(OS)' == 'Windows_NT'">
140157
<SetScriptCommands Condition="'$(InstallWasmtimeForTests)' == 'true' and Exists($(WasmtimeDir))" Include="set PREPEND_PATH=$(WasmtimeDir)" />
158+
<SetScriptCommands Condition="'$(IsWasiProject)' == 'true'" Include="set RuntimeIdentifier=wasi-wasm" />
141159
</ItemGroup>
142160
</Target>
143161

eng/testing/tests.wasm.targets

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
<!-- We need to set this in order to get extensibility on xunit category traits and other arguments we pass down to xunit via MSBuild properties -->
33
<PropertyGroup>
44
<IsWasmProject Condition="'$(IsWasmProject)' == ''">true</IsWasmProject>
5+
<WasmSharedPath>$([MSBuild]::NormalizeDirectory($(MonoProjectRoot), 'wasm', 'shared'))</WasmSharedPath>
56
<WasmGenerateAppBundle Condition="'$(WasmGenerateAppBundle)' == ''">true</WasmGenerateAppBundle>
67
<ArchiveTests Condition="'$(WasmBuildingForNestedPublish)' == 'true'">false</ArchiveTests>
78
<BundleTestAppTargets>$(BundleTestAppTargets);BundleTestWasmApp</BundleTestAppTargets>
@@ -71,8 +72,8 @@
7172

7273
<PropertyGroup>
7374
<!-- non-library tests have IsWasmProject==false -->
74-
<BundleTestWasmAppDependsOn Condition="'$(IsWasmProject)' == 'true' and '$(BuildAOTTestsOn)' == 'local'">WasmTriggerPublishApp</BundleTestWasmAppDependsOn>
75-
<BundleTestWasmAppDependsOn Condition="'$(IsWasmProject)' == 'true' and '$(BuildAOTTestsOnHelix)' == 'true'">$(BundleTestWasmAppDependsOn);_BundleAOTTestWasmAppForHelix</BundleTestWasmAppDependsOn>
75+
<BundleTestWasmAppDependsOn Condition="'$(BuildAOTTestsOn)' == 'local'">WasmTriggerPublishApp</BundleTestWasmAppDependsOn>
76+
<BundleTestWasmAppDependsOn Condition="'$(BuildAOTTestsOnHelix)' == 'true'">$(BundleTestWasmAppDependsOn);_BundleAOTTestWasmAppForHelix</BundleTestWasmAppDependsOn>
7677

7778
<!-- Use BundleDir here, since WasmAppDir is set in a target, and `dotnet run` reads
7879
$(Run*) without running any targets -->
@@ -107,7 +108,7 @@
107108
<BundleFiles Include="@(WasmAssembliesToBundle)" TargetDir="publish\%(WasmAssembliesToBundle.RecursiveDir)" />
108109
<BundleFiles Include="$(RuntimeConfigFilePath)" TargetDir="publish" />
109110

110-
<BundleFiles Include="$(MonoProjectRoot)\wasm\data\aot-tests\*" TargetDir="publish" />
111+
<BundleFiles Include="$(WasmSharedPath)data\aot-tests\*" TargetDir="publish" />
111112
</ItemGroup>
112113

113114
<ItemGroup Condition="'$(DebuggerSupport)' == 'true'">

0 commit comments

Comments
 (0)