Skip to content

Commit e4ac5cd

Browse files
authored
[wasm] CI build improvements (#69519)
- Run all the debugger tests in one helix job, because most of them take a couple of minutes to run. And this would avoid the overhead of individual helix jobs - Add a no-workloads variant for `Wasm.Build.Tests`, instead of `EMSDK` - This replaces the job that used `WasmApp.LocalBuild*` stuff to build with a `EMSDK` checkout. That case already gets tested with library tests. - The `EMSDK` case had been disabled recently due to an Arcade issue - Since we have very few tests to run for the noworkloads case, they are all run in a single helix work item. Fixes #58159 Fixes #67887 (by completely removing the `EMSDK` run)
1 parent 8962e24 commit e4ac5cd

24 files changed

+82
-224
lines changed

eng/pipelines/common/evaluate-default-paths.yml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,8 @@ jobs:
106106
- subset: wasmbuildtests
107107
include:
108108
- src/tasks/*
109-
- src/tests/BuildWasmApps/*
109+
- src/tests/BuildWasmApps/Directory.Build*
110+
- src/tests/BuildWasmApps/Wasm.Build.Tests/*
110111
- src/mono/wasm/build/*
111112
- src/mono/wasm/runtime/*
112113
- src/mono/wasm/templates/*
@@ -122,13 +123,14 @@ jobs:
122123
- eng/Version.Details.xml
123124
- eng/Versions.props
124125
- src/mono/wasm/emscripten-version.txt
126+
- src/libraries/sendtohelix*
125127
- subset: wasmdebuggertests
126128
include:
127129
- src/mono/wasm/debugger/*
128130
- src/mono/wasm/runtime/*
129-
- src/tests/BuildWasmApps/*
131+
- src/tests/BuildWasmApps/Directory.Build*
132+
- src/tests/BuildWasmApps/Wasm.Debugger.Tests/*
130133
- eng/testing/ProvisioningVersions.props
131-
- eng/testing/scenarios/WasmDebuggerTestsJobsList.txt
132134
- src/mono/mono/*
133135
- subset: allwasm
134136
include:

eng/testing/scenarios/WasmDebuggerTestsJobsList.txt

Lines changed: 0 additions & 20 deletions
This file was deleted.

src/libraries/sendtohelix-wasm.targets

Lines changed: 22 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
<EnableDefaultBuildHelixWorkItems Condition="'$(IsRunningLibraryTests)' != 'true'">false</EnableDefaultBuildHelixWorkItems>
1515

1616
<BuildWasmAppsJobsList>$(RepositoryEngineeringDir)\testing\scenarios\BuildWasmAppsJobsList.txt</BuildWasmAppsJobsList>
17-
<WasmDebuggerTestsJobsList>$(RepositoryEngineeringDir)\testing\scenarios\WasmDebuggerTestsJobsList.txt</WasmDebuggerTestsJobsList>
1817

1918
<!-- on unix CI has emscripten provisioned in $(EMSDK_PATH) as `/usr/local/emscripten`. -->
2019
<EMSDK_PATH Condition="$([MSBuild]::IsOSPlatform('WINDOWS')) and '$(EMSDK_PATH)' == ''">$(RepoRoot)src\mono\wasm\emsdk\</EMSDK_PATH>
@@ -23,7 +22,7 @@
2322
<DebuggerHost Condition="'$(DebuggerHost)' == ''">chrome</DebuggerHost>
2423

2524
<NeedsWorkload Condition="'$(Scenario)' == 'BuildWasmApps'">true</NeedsWorkload>
26-
<NeedsEMSDK Condition="'$(NeedsToBuildWasmAppsOnHelix)' == 'true' or '$(Scenario)' == 'BuildWasmApps'">true</NeedsEMSDK>
25+
<NeedsEMSDK Condition="'$(NeedsToBuildWasmAppsOnHelix)' == 'true'">true</NeedsEMSDK>
2726
<NeedsEMSDKNode Condition="'$(Scenario)' == 'WasmTestOnNodeJs' or '$(Scenario)' == 'BuildWasmApps'">true</NeedsEMSDKNode>
2827
<NeedsToRunOnBrowser Condition="'$(Scenario)' == 'WasmTestOnBrowser' or '$(Scenario)' == 'BuildWasmApps'">true</NeedsToRunOnBrowser>
2928
<NeedsToRunOnBrowser Condition="'$(NeedsToRunOnBrowser)' == '' and '$(IsWasmDebuggerTests)' == 'true'">true</NeedsToRunOnBrowser>
@@ -83,6 +82,15 @@
8382
<HelixPreCommand Include="set PATH=$(_HelixLocalNodePath)/%_HELIX_NODEJS_VERSION%/bin%3B%PATH%" />
8483
</ItemGroup>
8584

85+
<PropertyGroup Condition="'$(Scenario)' == 'BuildWasmApps'">
86+
<_XUnitTraitArg Condition="'$(TestUsingWorkloads)' == 'true'">-notrait category=no-workload</_XUnitTraitArg>
87+
<_XUnitTraitArg Condition="'$(TestUsingWorkloads)' != 'true'">-trait category=no-workload</_XUnitTraitArg>
88+
</PropertyGroup>
89+
<ItemGroup Condition="'$(Scenario)' == 'BuildWasmApps'">
90+
<HelixPreCommand Condition="'$(WindowsShell)' == 'true'" Include="set &quot;XUnitTraitArg=$(_XUnitTraitArg)&quot;" />
91+
<HelixPreCommand Condition="'$(WindowsShell)' != 'true'" Include="export &quot;XUnitTraitArg=$(_XUnitTraitArg)&quot;" />
92+
</ItemGroup>
93+
8694
<PropertyGroup>
8795

8896
<!--
@@ -123,7 +131,8 @@
123131
<TestEchoMiddleware>$([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'bin', 'NetCoreServer', '$(Configuration)', '$(AspNetCoreAppCurrent)'))</TestEchoMiddleware>
124132
<RemoteLoopMiddleware>$([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'bin', 'RemoteLoopServer', '$(Configuration)', '$(AspNetCoreAppCurrent)'))</RemoteLoopMiddleware>
125133
<WorkItemPrefix Condition="'$(Scenario)' == 'BuildWasmApps' and '$(TestUsingWorkloads)' == 'true'">Workloads-</WorkItemPrefix>
126-
<WorkItemPrefix Condition="'$(Scenario)' == 'BuildWasmApps' and '$(TestUsingWorkloads)' != 'true'">EMSDK-</WorkItemPrefix>
134+
<WorkItemPrefix Condition="'$(Scenario)' == 'BuildWasmApps' and '$(TestUsingWorkloads)' != 'true'">NoWorkload-</WorkItemPrefix>
135+
<WorkItemPrefix Condition="'$(IsWasmDebuggerTests)' == 'true'">$(DebuggerHost)-</WorkItemPrefix>
127136
<WorkItemPrefix Condition="'$(WorkItemPrefix)' == '' and '$(Scenario)' != ''">$(Scenario)-</WorkItemPrefix>
128137
</PropertyGroup>
129138

@@ -155,14 +164,10 @@
155164
<HelixCorrelationPayload Include="$(RemoteLoopMiddleware)" Destination="xharness/RemoteLoopMiddleware" Condition="Exists('$(RemoteLoopMiddleware)')" />
156165
</ItemGroup>
157166

158-
<ReadLinesFromFile File="$(BuildWasmAppsJobsList)" Condition="Exists($(BuildWasmAppsJobsList)) and '$(Scenario)' == 'BuildWasmApps'">
167+
<ReadLinesFromFile File="$(BuildWasmAppsJobsList)" Condition="Exists($(BuildWasmAppsJobsList)) and '$(Scenario)' == 'BuildWasmApps' and '$(TestUsingWorkloads)' == 'true'">
159168
<Output TaskParameter="Lines" ItemName="BuildWasmApps_PerJobList" />
160169
</ReadLinesFromFile>
161170

162-
<ReadLinesFromFile File="$(WasmDebuggerTestsJobsList)" Condition="Exists($(WasmDebuggerTestsJobsList)) and '$(Scenario)' == 'WasmDebuggerTests'">
163-
<Output TaskParameter="Lines" ItemName="WasmDebuggerTests_PerJobList" />
164-
</ReadLinesFromFile>
165-
166171
<!-- library tests get added as default work items -->
167172
<ItemGroup Condition="'$(IsRunningLibraryTests)' != 'true'">
168173
<!-- for buildwasmapps, the archive path is set in src/libraries/Directory.Build.props, so use that -->
@@ -191,24 +196,26 @@
191196
</HelixWorkItem>
192197
</ItemGroup>
193198

199+
<!-- for testing with workloads, we use separate items -->
194200
<ItemGroup Condition="'$(Scenario)' == 'BuildWasmApps'">
195-
<HelixWorkItem Include="@(BuildWasmApps_PerJobList->'$(WorkItemPrefix)%(Extension)')">
201+
<HelixWorkItem Include="@(BuildWasmApps_PerJobList->'$(WorkItemPrefix)%(Extension)')" Condition="'$(TestUsingWorkloads)' == 'true'">
196202
<PayloadArchive>$(_BuildWasmAppsPayloadArchive)</PayloadArchive>
197203
<PreCommands Condition="'$(OS)' == 'Windows_NT'">set &quot;HELIX_XUNIT_ARGS=-class %(Identity)&quot;</PreCommands>
198204
<PreCommands Condition="'$(OS)' != 'Windows_NT'">export &quot;HELIX_XUNIT_ARGS=-class %(Identity)&quot;</PreCommands>
199205
<Command>$(HelixCommand)</Command>
200206
<Timeout>$(_workItemTimeout)</Timeout>
201207
</HelixWorkItem>
208+
209+
<HelixWorkItem Include="NoWorkload-Wasm.Build.Tests" Condition="'$(TestUsingWorkloads)' != 'true'">
210+
<PayloadArchive>$(_BuildWasmAppsPayloadArchive)</PayloadArchive>
211+
<Command>$(HelixCommand)</Command>
212+
<Timeout>$(_workItemTimeout)</Timeout>
213+
</HelixWorkItem>
202214
</ItemGroup>
203215

204216
<ItemGroup Condition="'$(Scenario)' == 'WasmDebuggerTests'">
205-
<HelixWorkItem Include="@(WasmDebuggerTests_PerJobList -> '$(DebuggerHost)-%(Identity)')">
217+
<HelixWorkItem Include="$(DebuggerHost)-DebuggerTests">
206218
<PayloadArchive>$(_WasmDebuggerTestsPayloadArchive)</PayloadArchive>
207-
208-
<!-- FIXME: workaround for https://github.com/dotnet/runtime/issues/62660 -->
209-
<PreCommands Condition="'$(OS)' == 'Windows_NT'">set TEST_ARGS=--filter &quot;FullyQualifiedName~%(Identity)&amp;Category^!=windows-failing&amp;Category^!=failing&quot;</PreCommands>
210-
<PreCommands Condition="'$(OS)' != 'Windows_NT'">export TEST_ARGS=&quot;--filter FullyQualifiedName~%(Identity)&amp;Category!=linux-failing&amp;Category!=failing&quot;</PreCommands>
211-
212219
<Command>$(HelixCommand)</Command>
213220
<Timeout>$(_workItemTimeout)</Timeout>
214221
</HelixWorkItem>

src/libraries/sendtohelix.proj

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -79,9 +79,7 @@
7979

8080
<!-- For BuildWasmApps we want to build the project twice, with: TestUsingWorkloads=true, and TestUsingWorkloads=false -->
8181
<ItemGroup Condition="'@(_Scenarios -> AnyHaveMetadataValue('Identity', 'buildwasmapps'))' == 'true'">
82-
<!-- TestUsingWorkloads=false - Disabled due to https://github.com/dotnet/arcade/issues/9025 -->
83-
<!--<_TestUsingWorkloadsValues Include="true;false" />-->
84-
<_TestUsingWorkloadsValues Include="true" />
82+
<_TestUsingWorkloadsValues Include="true;false" />
8583

8684
<_BuildWasmAppsProjectsToBuild Include="$(PerScenarioProjectFile)">
8785
<AdditionalProperties>$(_PropertiesToPass);Scenario=BuildWasmApps;TestArchiveRuntimeFile=$(TestArchiveRuntimeFile);TestUsingWorkloads=%(_TestUsingWorkloadsValues.Identity)</AdditionalProperties>
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<Project>
2-
<PropertyGroup>
3-
<RuntimeConfiguration Condition="'$(RuntimeConfiguration)' == ''">Release</RuntimeConfiguration>
4-
</PropertyGroup>
2+
<PropertyGroup>
3+
<RuntimeConfiguration Condition="'$(RuntimeConfiguration)' == ''">Release</RuntimeConfiguration>
4+
</PropertyGroup>
55
<Import Project="..\..\Directory.Build.props" />
66
</Project>

src/tests/BuildWasmApps/Wasm.Build.Tests/BlazorWasmBuildPublishTests.cs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ public BlazorWasmBuildPublishTests(ITestOutputHelper output, SharedBuildPerTestC
2121
_enablePerTestCleanup = true;
2222
}
2323

24-
[ConditionalTheory(typeof(BuildTestBase), nameof(IsNotUsingWorkloads))]
24+
[Theory]
2525
[InlineData("Debug")]
2626
[InlineData("Release")]
2727
public void DefaultTemplate_WithoutWorkload(string config)
@@ -38,7 +38,7 @@ public void DefaultTemplate_WithoutWorkload(string config)
3838
AssertBlazorBootJson(config, isPublish: true);
3939
}
4040

41-
[ConditionalTheory(typeof(BuildTestBase), nameof(IsUsingWorkloads))]
41+
[Theory]
4242
[InlineData("Debug")]
4343
[InlineData("Release")]
4444
public void DefaultTemplate_NoAOT_WithWorkload(string config)
@@ -58,7 +58,7 @@ public void DefaultTemplate_NoAOT_WithWorkload(string config)
5858
}
5959
}
6060

61-
[ConditionalTheory(typeof(BuildTestBase), nameof(IsUsingWorkloads))]
61+
[Theory]
6262
[InlineData("Debug")]
6363
[InlineData("Release")]
6464
public void DefaultTemplate_AOT_InProjectFile(string config)
@@ -77,7 +77,7 @@ public void DefaultTemplate_AOT_InProjectFile(string config)
7777
BlazorBuild(new BlazorBuildOptions(id, config, NativeFilesType.FromRuntimePack));
7878
}
7979

80-
[ConditionalTheory(typeof(BuildTestBase), nameof(IsUsingWorkloads))]
80+
[Theory]
8181
[InlineData("Debug", true)]
8282
[InlineData("Debug", false)]
8383
[InlineData("Release", true)]
@@ -121,7 +121,7 @@ public void NativeBuild_WithDeployOnBuild_UsedByVS(string config, bool nativeRel
121121

122122
// Disabling for now - publish folder can have more than one dotnet*hash*js, and not sure
123123
// how to pick which one to check, for the test
124-
//[ConditionalTheory(typeof(BuildTestBase), nameof(IsUsingWorkloads))]
124+
//[Theory]
125125
//[InlineData("Debug")]
126126
//[InlineData("Release")]
127127
//public void DefaultTemplate_AOT_OnlyWithPublishCommandLine_Then_PublishNoAOT(string config)
@@ -140,7 +140,7 @@ public void NativeBuild_WithDeployOnBuild_UsedByVS(string config, bool nativeRel
140140
//BlazorPublish(new BlazorBuildOptions(id, config, NativeFilesType.Relinked);
141141
//}
142142

143-
[ConditionalTheory(typeof(BuildTestBase), nameof(IsUsingWorkloads))]
143+
[Theory]
144144
[InlineData("Debug")]
145145
[InlineData("Release")]
146146
public void WithNativeReference_AOTInProjectFile(string config)
@@ -157,7 +157,7 @@ public void WithNativeReference_AOTInProjectFile(string config)
157157
BlazorBuild(new BlazorBuildOptions(id, config, NativeFilesType.Relinked));
158158
}
159159

160-
[ConditionalTheory(typeof(BuildTestBase), nameof(IsUsingWorkloads))]
160+
[Theory]
161161
[InlineData("Debug")]
162162
[InlineData("Release")]
163163
public void WithNativeReference_AOTOnCommandLine(string config)
@@ -173,7 +173,7 @@ public void WithNativeReference_AOTOnCommandLine(string config)
173173
BlazorPublish(new BlazorBuildOptions(id, config, NativeFilesType.Relinked));
174174
}
175175

176-
[ConditionalTheory(typeof(BuildTestBase), nameof(IsUsingWorkloads))]
176+
[Theory]
177177
[InlineData("Debug")]
178178
[InlineData("Release")]
179179
public void WithDllImportInMainAssembly(string config)
@@ -227,7 +227,7 @@ void CheckNativeFileLinked(bool forPublish)
227227
}
228228
}
229229

230-
[ConditionalFact(typeof(BuildTestBase), nameof(IsUsingWorkloads))]
230+
[Fact]
231231
public void BugRegression_60479_WithRazorClassLib()
232232
{
233233
string id = "blz_razor_lib_top";

src/tests/BuildWasmApps/Wasm.Build.Tests/BlazorWasmTests.cs

Lines changed: 5 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -16,19 +16,17 @@ public BlazorWasmTests(ITestOutputHelper output, SharedBuildPerTestClassFixture
1616
{
1717
}
1818

19-
[ConditionalTheory(typeof(BuildTestBase), nameof(IsNotUsingWorkloads))]
19+
[Theory, TestCategory("no-workload")]
2020
[InlineData("Debug")]
2121
[InlineData("Release")]
2222
public void NativeRef_EmitsWarningBecauseItRequiresWorkload(string config)
2323
{
2424
CommandResult res = PublishForRequiresWorkloadTest(config, extraItems: "<NativeFileReference Include=\"native-lib.o\" />");
2525
res.EnsureSuccessful();
26-
AssertBlazorBundle(config, isPublish: true, dotnetWasmFromRuntimePack: true);
27-
28-
Assert.Contains("but the native references won't be linked in", res.Output);
26+
Assert.Matches("warning : .*but the native references won't be linked in", res.Output);
2927
}
3028

31-
[ConditionalTheory(typeof(BuildTestBase), nameof(IsNotUsingWorkloads))]
29+
[Theory, TestCategory("no-workload")]
3230
[InlineData("Debug")]
3331
[InlineData("Release")]
3432
public void AOT_FailsBecauseItRequiresWorkload(string config)
@@ -38,7 +36,7 @@ public void AOT_FailsBecauseItRequiresWorkload(string config)
3836
Assert.Contains("following workloads must be installed: wasm-tools", res.Output);
3937
}
4038

41-
[ConditionalTheory(typeof(BuildTestBase), nameof(IsNotUsingWorkloads))]
39+
[Theory, TestCategory("no-workload")]
4240
[InlineData("Debug")]
4341
[InlineData("Release")]
4442
public void AOT_And_NativeRef_FailBecauseTheyRequireWorkload(string config)
@@ -56,13 +54,6 @@ private CommandResult PublishForRequiresWorkloadTest(string config, string extra
5654
string id = $"needs_workload_{config}_{Path.GetRandomFileName()}";
5755
CreateBlazorWasmTemplateProject(id);
5856

59-
if (IsNotUsingWorkloads)
60-
{
61-
// no packs installed, so no need to update the paths for runtime pack etc
62-
File.Copy(Path.Combine(BuildEnvironment.TestDataPath, "Blazor.Local.Directory.Build.props"), Path.Combine(_projectDir!, "Directory.Build.props"), overwrite: true);
63-
File.Copy(Path.Combine(BuildEnvironment.TestDataPath, "Blazor.Local.Directory.Build.targets"), Path.Combine(_projectDir!, "Directory.Build.targets"), overwrite: true);
64-
}
65-
6657
AddItemsPropertiesToProject(Path.Combine(_projectDir!, $"{id}.csproj"),
6758
extraProperties: extraProperties,
6859
extraItems: extraItems);
@@ -72,8 +63,7 @@ private CommandResult PublishForRequiresWorkloadTest(string config, string extra
7263
.WithWorkingDirectory(_projectDir!)
7364
.ExecuteWithCapturedOutput("publish",
7465
$"-bl:{publishLogPath}",
75-
$"-p:Configuration={config}",
76-
"-p:MSBuildEnableWorkloadResolver=true"); // WasmApp.LocalBuild.* disables this, but it is needed for this test
66+
$"-p:Configuration={config}");
7767
}
7868

7969
[Theory]

src/tests/BuildWasmApps/Wasm.Build.Tests/BuildEnvironment.cs

Lines changed: 6 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,6 @@ public class BuildEnvironment
2727
public static readonly string TestAssetsPath = Path.Combine(AppContext.BaseDirectory, "testassets");
2828
public static readonly string TestDataPath = Path.Combine(AppContext.BaseDirectory, "data");
2929

30-
private static string s_runtimeConfig = "Release";
31-
3230
public BuildEnvironment()
3331
{
3432
DirectoryInfo? solutionRoot = new (AppContext.BaseDirectory);
@@ -59,6 +57,7 @@ public BuildEnvironment()
5957
if (!Directory.Exists(sdkForWorkloadPath))
6058
throw new Exception($"Could not find SDK_FOR_WORKLOAD_TESTING_PATH={sdkForWorkloadPath}");
6159

60+
EnvVars = new Dictionary<string, string>();
6261
bool workloadInstalled = EnvironmentVariables.SdkHasWorkloadInstalled != null && EnvironmentVariables.SdkHasWorkloadInstalled == "true";
6362
if (workloadInstalled)
6463
{
@@ -69,7 +68,6 @@ public BuildEnvironment()
6968
RuntimePackDir = Path.Combine(sdkForWorkloadPath, "packs", "Microsoft.NETCore.App.Runtime.Mono.browser-wasm", workloadPacksVersion);
7069
DirectoryBuildPropsContents = s_directoryBuildPropsForWorkloads;
7170
DirectoryBuildTargetsContents = s_directoryBuildTargetsForWorkloads;
72-
EnvVars = new Dictionary<string, string>();
7371

7472
var appRefDir = EnvironmentVariables.AppRefDir;
7573
if (string.IsNullOrEmpty(appRefDir))
@@ -80,36 +78,12 @@ public BuildEnvironment()
8078
}
8179
else
8280
{
83-
string emsdkPath;
84-
if (solutionRoot == null)
85-
{
86-
string? buildDir = EnvironmentVariables.WasmBuildSupportDir;
87-
if (buildDir == null || !Directory.Exists(buildDir))
88-
throw new Exception($"Could not find the solution root, or a build dir: {buildDir}");
89-
90-
emsdkPath = Path.Combine(buildDir, "emsdk");
91-
RuntimePackDir = Path.Combine(buildDir, "microsoft.netcore.app.runtime.browser-wasm");
92-
DefaultBuildArgs = $" /p:WasmBuildSupportDir={buildDir} /p:EMSDK_PATH={emsdkPath} ";
93-
}
94-
else
95-
{
96-
string artifactsBinDir = Path.Combine(solutionRoot.FullName, "artifacts", "bin");
97-
RuntimePackDir = Path.Combine(artifactsBinDir, "microsoft.netcore.app.runtime.browser-wasm", s_runtimeConfig);
98-
99-
if (string.IsNullOrEmpty(EnvironmentVariables.EMSDK_PATH))
100-
emsdkPath = Path.Combine(solutionRoot.FullName, "src", "mono", "wasm", "emsdk");
101-
else
102-
emsdkPath = EnvironmentVariables.EMSDK_PATH;
103-
104-
DefaultBuildArgs = $" /p:RuntimeSrcDir={solutionRoot.FullName} /p:RuntimeConfig={s_runtimeConfig} /p:EMSDK_PATH={emsdkPath} ";
105-
}
106-
107-
IsWorkload = false;
108-
EnvVars = new Dictionary<string, string>()
109-
{
110-
["EMSDK_PATH"] = emsdkPath
111-
};
81+
RuntimePackDir = "/dont-check-runtime-pack-dir-for-no-workloads-case";
82+
var appRefDir = EnvironmentVariables.AppRefDir;
83+
if (string.IsNullOrEmpty(appRefDir))
84+
throw new Exception($"Cannot test with workloads without AppRefDir environment variable being set");
11285

86+
DefaultBuildArgs = $" /p:AppRefDir={appRefDir}";
11387
DirectoryBuildPropsContents = s_directoryBuildPropsForLocal;
11488
DirectoryBuildTargetsContents = s_directoryBuildTargetsForLocal;
11589
}

0 commit comments

Comments
 (0)