Skip to content

Commit 381b1fe

Browse files
authored
[Release/6.0] Add Mobile Android Maui Scenarios (#2855)
* Backport of the release/7.0 changes made to add maui android mobile to those runs: f910fe5. * Copy necessary target and property files to support pre scenario all in one building. * Fix maui desktop scenario runs and make it so that they do not uninstall maui since we prepare the runs in the cloud. * Remove dotnet packs before sending payloads to helix. * Force Nuget.Config overwrite so xcopy doesn't prompt for overwrite. * Add logger setup for pre-runner.py setup information.
1 parent de056c0 commit 381b1fe

31 files changed

+1164
-284
lines changed

azure-pipelines.yml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -302,6 +302,21 @@ jobs:
302302
projectFile: scenarios.proj
303303
channels:
304304
- release/6.0
305+
306+
# Maui Android scenario benchmarks
307+
- template: /eng/performance/scenarios.yml
308+
parameters:
309+
osName: windows
310+
architecture: x64
311+
osVersion: 19H1
312+
pool:
313+
vmImage: 'windows-2022'
314+
queue: Windows.10.Amd64.Pixel.Perf
315+
machinePool: Pixel
316+
kind: maui_scenarios_android
317+
projectFile: maui_scenarios_android.proj
318+
channels:
319+
- release/6.0
305320

306321
# # Windows x64 micro benchmarks
307322
# - template: /eng/performance/benchmark_jobs.yml
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<Project>
2+
<Target Name="PreparePayloadWorkItems" Inputs="@(PreparePayloadWorkItem)" Outputs="%(PreparePayloadWorkItem.Identity)">
3+
<Message Text="Command: %(PreparePayloadWorkItem.Command)" />
4+
<Exec Command="%(PreparePayloadWorkItem.Command)" WorkingDirectory="%(PreparePayloadWorkItem.WorkingDirectory)" />
5+
<Exec Command="$(AfterPreparePayloadWorkItemCommand)" WorkingDirectory="%(PreparePayloadWorkItem.WorkingDirectory)" Condition="'$(AfterPreparePayloadWorkItemCommand)' != ''" />
6+
</Target>
7+
</Project>
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
<Project>
2+
<ItemGroup>
3+
<HelixCorrelationPayload Include="$(CorrelationPayloadDirectory)">
4+
<PayloadDirectory>%(Identity)</PayloadDirectory>
5+
</HelixCorrelationPayload>
6+
</ItemGroup>
7+
8+
<ItemDefinitionGroup>
9+
<HelixWorkItem>
10+
<Timeout>4:00</Timeout>
11+
</HelixWorkItem>
12+
</ItemDefinitionGroup>
13+
14+
<PropertyGroup>
15+
<FrameworkVersion>$(_Framework.Substring($([MSBuild]::Subtract($(_Framework.Length), 3))))</FrameworkVersion>
16+
</PropertyGroup>
17+
18+
<PropertyGroup Condition="'$(TargetsWindows)' == 'true'">
19+
<ScenariosDir>$(WorkItemDirectory)\src\scenarios\</ScenariosDir>
20+
<HelixPreCommands>$(HelixPreCommands);set PYTHONPATH=%HELIX_CORRELATION_PAYLOAD%\scripts%3B%HELIX_CORRELATION_PAYLOAD%</HelixPreCommands>
21+
<RID>win-$(Architecture)</RID>
22+
</PropertyGroup>
23+
24+
<PropertyGroup Condition="'$(TargetsWindows)' != 'true'">
25+
<ScenariosDir>$(WorkItemDirectory)/src/scenarios/</ScenariosDir>
26+
<HelixPreCommands>$(HelixPreCommands);sudo apt-get update;chmod +x $HELIX_CORRELATION_PAYLOAD/startup/perfcollect</HelixPreCommands>
27+
<HelixPreCommands>$(HelixPreCommands);export PYTHONPATH=$HELIX_CORRELATION_PAYLOAD/scripts:$HELIX_CORRELATION_PAYLOAD</HelixPreCommands>
28+
<RID>linux-$(Architecture)</RID>
29+
</PropertyGroup>
30+
</Project>

eng/performance/blazor_scenarios.proj

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,4 +79,6 @@
7979
</HelixWorkItem>
8080
</ItemGroup>
8181

82+
<Import Project="PreparePayloadWorkItems.targets" />
83+
8284
</Project>
Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
<Project Sdk="Microsoft.DotNet.Helix.Sdk" DefaultTargets="Test">
2+
3+
<Import Project="Scenarios.Common.props" />
4+
5+
<PropertyGroup>
6+
<IncludeXHarnessCli>true</IncludeXHarnessCli>
7+
<MicrosoftDotNetXHarnessCLIVersion>1.0.0-prerelease.21566.2</MicrosoftDotNetXHarnessCLIVersion>
8+
<XharnessPath>%HELIX_CORRELATION_PAYLOAD%\microsoft.dotnet.xharness.cli\$(MicrosoftDotNetXHarnessCLIVersion)\tools\net6.0\any\Microsoft.DotNet.XHarness.CLI.dll</XharnessPath>
9+
</PropertyGroup>
10+
11+
<PropertyGroup>
12+
<AfterPreparePayloadWorkItemCommand>$(Python) post.py</AfterPreparePayloadWorkItemCommand>
13+
<PreparePayloadOutDirectoryName>scenarios_out</PreparePayloadOutDirectoryName>
14+
<PreparePayloadWorkItemBaseDirectory Condition="'$(TargetsWindows)' == 'true'">$(CorrelationPayloadDirectory)$(PreparePayloadOutDirectoryName)\</PreparePayloadWorkItemBaseDirectory>
15+
<PreparePayloadWorkItemBaseDirectory Condition="'$(TargetsWindows)' != 'true'">$(CorrelationPayloadDirectory)$(PreparePayloadOutDirectoryName)/</PreparePayloadWorkItemBaseDirectory>
16+
</PropertyGroup>
17+
18+
<Target Name="RemoveDotnetFromCorrelationStaging" BeforeTargets="BeforeTest">
19+
<Message Text="Removing Dotnet from Correlation Staging" Importance="high" />
20+
<RemoveDir Directories="$(CorrelationPayloadDirectory)dotnet\packs" />
21+
</Target>
22+
23+
<ItemDefinitionGroup>
24+
<HelixWorkItem>
25+
<Timeout>00:30</Timeout>
26+
</HelixWorkItem>
27+
</ItemDefinitionGroup>
28+
29+
<ItemGroup>
30+
<MAUIAndroidScenario Include="Maui Android Default">
31+
<ScenarioDirectoryName>mauiandroid</ScenarioDirectoryName>
32+
<PayloadDirectory>$(ScenariosDir)%(ScenarioDirectoryName)</PayloadDirectory>
33+
<ApkName>com.companyname.mauiandroiddefault-Signed</ApkName>
34+
<PackageName>com.companyname.mauiandroiddefault</PackageName>
35+
</MAUIAndroidScenario>
36+
<MAUIAndroidScenario Include="Maui Android Podcast">
37+
<ScenarioDirectoryName>mauiandroidpodcast</ScenarioDirectoryName>
38+
<PayloadDirectory>$(ScenariosDir)%(ScenarioDirectoryName)</PayloadDirectory>
39+
<ApkName>com.Microsoft.NetConf2021.Maui-Signed</ApkName>
40+
<PackageName>com.Microsoft.NetConf2021.Maui</PackageName>
41+
</MAUIAndroidScenario>
42+
<MAUIAndroidScenario Include="Maui Blazor Android Default">
43+
<ScenarioDirectoryName>mauiblazorandroid</ScenarioDirectoryName>
44+
<PayloadDirectory>$(ScenariosDir)%(ScenarioDirectoryName)</PayloadDirectory>
45+
<ApkName>com.companyname.mauiblazorandroiddefault-Signed</ApkName>
46+
<PackageName>com.companyname.mauiblazorandroiddefault</PackageName>
47+
</MAUIAndroidScenario>
48+
</ItemGroup>
49+
50+
51+
<ItemGroup>
52+
<PreparePayloadWorkItem Include="@(MAUIAndroidScenario)">
53+
<Command>$(Python) pre.py publish -f $(_Framework)-android -o $(PreparePayloadWorkItemBaseDirectory)%(PreparePayloadWorkItem.ScenarioDirectoryName) -r android-arm64 --self-contained</Command>
54+
<WorkingDirectory>%(PreparePayloadWorkItem.PayloadDirectory)</WorkingDirectory>
55+
</PreparePayloadWorkItem>
56+
</ItemGroup>
57+
58+
59+
<!-- We only run the android tests from Windows machines (at least for now) -->
60+
<ItemGroup>
61+
<HelixWorkItem Include="@(MAUIAndroidScenario -> 'SOD - %(Identity) APK Size')">
62+
<PreCommands>echo on; xcopy %HELIX_CORRELATION_PAYLOAD%\$(PreparePayloadOutDirectoryName)\%(HelixWorkItem.ScenarioDirectoryName) %HELIX_WORKITEM_ROOT%\pub\ /E /I /Y</PreCommands>
63+
<Command>$(Python) test.py sod --scenario-name &quot;%(Identity)&quot;</Command>
64+
</HelixWorkItem>
65+
<HelixWorkItem Include="@(MAUIAndroidScenario -> 'SOD - %(Identity) Extracted Size')">
66+
<PreCommands>echo on; xcopy %HELIX_CORRELATION_PAYLOAD%\$(PreparePayloadOutDirectoryName)\%(HelixWorkItem.ScenarioDirectoryName) %HELIX_WORKITEM_ROOT%\pub\ /E /I /Y; ren %HELIX_WORKITEM_ROOT%\pub\%(HelixWorkItem.ApkName).apk %(HelixWorkItem.ApkName).zip; powershell.exe -nologo -noprofile -command "&amp; {Expand-Archive %HELIX_WORKITEM_ROOT%\pub\%(HelixWorkItem.ApkName).zip -DestinationPath %HELIX_WORKITEM_ROOT%\pub\}"; del %HELIX_WORKITEM_ROOT%\pub\%(HelixWorkItem.ApkName).zip</PreCommands>
67+
<Command>$(Python) test.py sod --scenario-name &quot;%(Identity)&quot;</Command>
68+
</HelixWorkItem>
69+
<HelixWorkItem Include="@(MAUIAndroidScenario -> 'Device Startup - %(Identity)')">
70+
<PreCommands>echo on; set XHARNESSPATH=$(XharnessPath); xcopy %HELIX_CORRELATION_PAYLOAD%\$(PreparePayloadOutDirectoryName)\%(HelixWorkItem.ScenarioDirectoryName) %HELIX_WORKITEM_ROOT%\pub\ /E /I /Y</PreCommands>
71+
<Command>$(Python) test.py devicestartup --device-type android --package-path pub\%(HelixWorkItem.ApkName).apk --package-name %(HelixWorkItem.PackageName) --scenario-name &quot;%(Identity)&quot;</Command>
72+
</HelixWorkItem>
73+
<HelixWorkItem Include="@(MAUIAndroidScenario -> 'Device Startup - %(Identity) NoAnimation')">
74+
<PreCommands>echo on; set XHARNESSPATH=$(XharnessPath); xcopy %HELIX_CORRELATION_PAYLOAD%\$(PreparePayloadOutDirectoryName)\%(HelixWorkItem.ScenarioDirectoryName) %HELIX_WORKITEM_ROOT%\pub\ /E /I /Y</PreCommands>
75+
<Command>$(Python) test.py devicestartup --device-type android --package-path pub\%(HelixWorkItem.ApkName).apk --package-name %(HelixWorkItem.PackageName) --scenario-name &quot;%(Identity)&quot; --disable-animations</Command>
76+
</HelixWorkItem>
77+
</ItemGroup>
78+
79+
80+
<Import Project="PreparePayloadWorkItems.targets" />
81+
82+
</Project>

eng/performance/scenarios.proj

Lines changed: 69 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -20,89 +20,126 @@
2020
</PropertyGroup>
2121

2222
<ItemDefinitionGroup>
23-
<HelixWorkItem>
23+
<HelixWorkItem>
2424
<Timeout>4:00</Timeout>
2525
</HelixWorkItem>
2626
</ItemDefinitionGroup>
27+
28+
<PropertyGroup>
29+
<AfterPreparePayloadWorkItemCommand>$(Python) post.py</AfterPreparePayloadWorkItemCommand>
30+
<PreparePayloadOutDirectoryName>scenarios_out</PreparePayloadOutDirectoryName>
31+
<PreparePayloadWorkItemBaseDirectory Condition="'$(TargetsWindows)' == 'true'">$(CorrelationPayloadDirectory)$(PreparePayloadOutDirectoryName)\</PreparePayloadWorkItemBaseDirectory>
32+
<PreparePayloadWorkItemBaseDirectory Condition="'$(TargetsWindows)' != 'true'">$(CorrelationPayloadDirectory)$(PreparePayloadOutDirectoryName)/</PreparePayloadWorkItemBaseDirectory>
33+
</PropertyGroup>
34+
2735

36+
<Target Name="RemoveDotnetFromCorrelationStaging" BeforeTargets="BeforeTest">
37+
<Message Text="Removing Dotnet Packs from Correlation Staging" Importance="high" />
38+
<RemoveDir Directories="$(CorrelationPayloadDirectory)dotnet\packs" />
39+
</Target>
2840

2941
<ItemGroup>
3042
<Scenario Include="Static Console Template">
31-
<PayloadDirectory>$(ScenariosDir)staticconsoletemplate</PayloadDirectory>
43+
<ScenarioDirectoryName>staticconsoletemplate</ScenarioDirectoryName>
44+
<PayloadDirectory>$(ScenariosDir)%(ScenarioDirectoryName)</PayloadDirectory>
3245
</Scenario>
3346
<Scenario Include="Static VB Console Template">
34-
<PayloadDirectory>$(ScenariosDir)staticvbconsoletemplate</PayloadDirectory>
47+
<ScenarioDirectoryName>staticvbconsoletemplate</ScenarioDirectoryName>
48+
<PayloadDirectory>$(ScenariosDir)%(ScenarioDirectoryName)</PayloadDirectory>
3549
</Scenario>
36-
<!-- <Scenario Include="Static Winforms Template" Condition="'$(_Framework)' != 'netcoreapp5.0'">
37-
<PayloadDirectory>$(ScenariosDir)staticwinformstemplate</PayloadDirectory>
38-
</Scenario> -->
3950
<Scenario Include="New Console Template">
40-
<PayloadDirectory>$(ScenariosDir)emptyconsoletemplate</PayloadDirectory>
51+
<ScenarioDirectoryName>emptyconsoletemplate</ScenarioDirectoryName>
52+
<PayloadDirectory>$(ScenariosDir)%(ScenarioDirectoryName)</PayloadDirectory>
4153
</Scenario>
4254
<Scenario Include="New VB Console Template">
43-
<PayloadDirectory>$(ScenariosDir)emptyvbconsoletemplate</PayloadDirectory>
55+
<ScenarioDirectoryName>emptyvbconsoletemplate</ScenarioDirectoryName>
56+
<PayloadDirectory>$(ScenariosDir)%(ScenarioDirectoryName)</PayloadDirectory>
4457
</Scenario>
58+
59+
<MAUIScenario Include="Desktop Maui" Condition="'$(TargetsWindows)' == 'true' And '$(Architecture)' != 'arm64' And '$(Architecture)' != 'arm'">
60+
<ScenarioDirectoryName>mauidesktop</ScenarioDirectoryName>
61+
<PayloadDirectory>$(ScenariosDir)%(ScenarioDirectoryName)</PayloadDirectory>
62+
</MAUIScenario>
63+
<MAUIScenario Include="Desktop Maui Blazor" Condition="'$(TargetsWindows)' == 'true' And '$(Architecture)' != 'arm64' And '$(Architecture)' != 'arm'">
64+
<ScenarioDirectoryName>mauiblazordesktop</ScenarioDirectoryName>
65+
<PayloadDirectory>$(ScenariosDir)%(ScenarioDirectoryName)</PayloadDirectory>
66+
</MAUIScenario>
4567
</ItemGroup>
4668

69+
70+
<ItemGroup>
71+
<PreparePayloadWorkItem Include="@(Scenario)">
72+
<Command>$(Python) pre.py publish -f $(_Framework) -c Release -o $(PreparePayloadWorkItemBaseDirectory)%(PreparePayloadWorkItem.ScenarioDirectoryName)_fdd</Command>
73+
<WorkingDirectory>%(PreparePayloadWorkItem.PayloadDirectory)</WorkingDirectory>
74+
</PreparePayloadWorkItem>
75+
<PreparePayloadWorkItem Include="@(Scenario)">
76+
<Command>$(Python) pre.py publish -f $(_Framework) -c Release -r $(RID) -o $(PreparePayloadWorkItemBaseDirectory)%(PreparePayloadWorkItem.ScenarioDirectoryName)_scd</Command>
77+
<WorkingDirectory>%(PreparePayloadWorkItem.PayloadDirectory)</WorkingDirectory>
78+
</PreparePayloadWorkItem>
79+
<PreparePayloadWorkItem Include="@(Scenario)">
80+
<Command>$(Python) pre.py build -c Release -f $(_Framework) -o $(PreparePayloadWorkItemBaseDirectory)%(PreparePayloadWorkItem.ScenarioDirectoryName)_build</Command>
81+
<WorkingDirectory>%(PreparePayloadWorkItem.PayloadDirectory)</WorkingDirectory>
82+
</PreparePayloadWorkItem>
83+
<PreparePayloadWorkItem Include="@(MAUIScenario)">
84+
<Command>$(Python) pre.py publish -c Release -f $(_Framework)-windows10.0.19041.0 -o $(PreparePayloadWorkItemBaseDirectory)%(PreparePayloadWorkItem.ScenarioDirectoryName)_fdd</Command>
85+
<WorkingDirectory>%(PreparePayloadWorkItem.PayloadDirectory)</WorkingDirectory>
86+
</PreparePayloadWorkItem>
87+
</ItemGroup>
88+
89+
4790
<!-- Startup FDD publish -->
4891
<ItemGroup>
4992
<HelixWorkItem Include="@(Scenario -> 'Startup - %(Identity) - FDD Publish')">
50-
<PreCommands>$(Python) pre.py publish -f $(_Framework) -c Release</PreCommands>
93+
<PreCommands Condition="'$(TargetsWindows)' == 'true'">xcopy %HELIX_CORRELATION_PAYLOAD%\$(PreparePayloadOutDirectoryName)\%(HelixWorkItem.ScenarioDirectoryName)_fdd %HELIX_WORKITEM_ROOT%\pub /E /I /Y</PreCommands>
94+
<PreCommands Condition="'$(TargetsWindows)' != 'true'">cp -r $HELIX_CORRELATION_PAYLOAD/$(PreparePayloadOutDirectoryName)/%(HelixWorkItem.ScenarioDirectoryName)_fdd $HELIX_WORKITEM_ROOT/pub</PreCommands>
5195
<Command>$(Python) test.py startup --scenario-name &quot;%(Identity)&quot;</Command>
5296
</HelixWorkItem>
5397
</ItemGroup>
5498

5599
<!-- SOD FDD publish -->
56100
<ItemGroup>
57101
<HelixWorkItem Include="@(Scenario -> 'SOD - %(Identity) - FDD Publish')">
58-
<PreCommands>$(Python) pre.py publish -f $(_Framework) -c Release</PreCommands>
102+
<PreCommands Condition="'$(TargetsWindows)' == 'true'">xcopy %HELIX_CORRELATION_PAYLOAD%\$(PreparePayloadOutDirectoryName)\%(HelixWorkItem.ScenarioDirectoryName)_fdd %HELIX_WORKITEM_ROOT%\pub /E /I /Y</PreCommands>
103+
<PreCommands Condition="'$(TargetsWindows)' != 'true'">cp -r $HELIX_CORRELATION_PAYLOAD/$(PreparePayloadOutDirectoryName)/%(HelixWorkItem.ScenarioDirectoryName)_fdd $HELIX_WORKITEM_ROOT/pub</PreCommands>
59104
<Command>$(Python) test.py sod --scenario-name &quot;%(Identity)&quot;</Command>
60105
</HelixWorkItem>
61106
</ItemGroup>
62107

63108
<!-- SOD SCD publish w/ RID -->
64109
<ItemGroup>
65110
<HelixWorkItem Include="@(Scenario -> 'SOD - %(Identity) - SCD Publish')">
66-
<PreCommands>$(Python) pre.py publish -f $(_Framework) -c Release -r $(RID)</PreCommands>
111+
<PreCommands Condition="'$(TargetsWindows)' == 'true'">xcopy %HELIX_CORRELATION_PAYLOAD%\$(PreparePayloadOutDirectoryName)\%(HelixWorkItem.ScenarioDirectoryName)_scd %HELIX_WORKITEM_ROOT%\pub /E /I /Y</PreCommands>
112+
<PreCommands Condition="'$(TargetsWindows)' != 'true'">cp -r $HELIX_CORRELATION_PAYLOAD/$(PreparePayloadOutDirectoryName)/%(HelixWorkItem.ScenarioDirectoryName)_scd $HELIX_WORKITEM_ROOT/pub</PreCommands>
67113
<Command>$(Python) test.py sod --scenario-name &quot;%(Identity)&quot;</Command>
68114
</HelixWorkItem>
69115
</ItemGroup>
70116

71117
<!-- SOD build -->
72118
<ItemGroup>
73119
<HelixWorkItem Include="@(Scenario -> 'SOD - %(Identity) - Build')">
74-
<PreCommands>$(Python) pre.py build -c Release -f $(_Framework)</PreCommands>
120+
<PreCommands Condition="'$(TargetsWindows)' == 'true'">xcopy %HELIX_CORRELATION_PAYLOAD%\$(PreparePayloadOutDirectoryName)\%(HelixWorkItem.ScenarioDirectoryName)_build %HELIX_WORKITEM_ROOT%\bin /E /I /Y</PreCommands>
121+
<PreCommands Condition="'$(TargetsWindows)' != 'true'">cp -r $HELIX_CORRELATION_PAYLOAD/$(PreparePayloadOutDirectoryName)/%(HelixWorkItem.ScenarioDirectoryName)_build $HELIX_WORKITEM_ROOT/bin</PreCommands>
75122
<Command>$(Python) test.py sod --scenario-name &quot;%(Identity)&quot;</Command>
76123
</HelixWorkItem>
77124
</ItemGroup>
78125

79-
<!-- SOD & Device Startup for Windows Desktop MAUI -->
126+
<!-- MAUI -->
80127
<ItemGroup>
81-
<HelixWorkItem Include="SOD - Desktop Maui Unpackaged" Condition="'$(TargetsWindows)' == 'true'">
82-
<PayloadDirectory>$(ScenariosDir)mauidesktop</PayloadDirectory>
83-
<PreCommands>$(Python) pre.py publish -c Release -f $(_Framework)-windows10.0.19041.0</PreCommands>
128+
<HelixWorkItem Include="@(MAUIScenario -> 'SOD - %(Identity) Unpackaged')">
129+
<PreCommands Condition="'$(TargetsWindows)' == 'true'">xcopy %HELIX_CORRELATION_PAYLOAD%\$(PreparePayloadOutDirectoryName)\%(HelixWorkItem.ScenarioDirectoryName)_fdd %HELIX_WORKITEM_ROOT%\pub /E /I /Y</PreCommands>
130+
<PreCommands Condition="'$(TargetsWindows)' != 'true'">cp -r $HELIX_CORRELATION_PAYLOAD/$(PreparePayloadOutDirectoryName)/%(HelixWorkItem.ScenarioDirectoryName)_fdd $HELIX_WORKITEM_ROOT/pub</PreCommands>
84131
<Command>$(Python) test.py sod --scenario-name &quot;%(Identity)&quot;</Command>
85132
</HelixWorkItem>
86-
<HelixWorkItem Include="Device Startup - Desktop Maui Default" Condition="'$(TargetsWindows)' == 'true'">
87-
<PayloadDirectory>$(ScenariosDir)mauidesktop</PayloadDirectory>
88-
<PreCommands>$(Python) pre.py publish -c Release -f $(_Framework)-windows10.0.19041.0</PreCommands>
133+
<HelixWorkItem Include="@(MAUIScenario -> 'Device Startup - %(Identity) Default')">
134+
<PreCommands Condition="'$(TargetsWindows)' == 'true'">xcopy %HELIX_CORRELATION_PAYLOAD%\$(PreparePayloadOutDirectoryName)\%(HelixWorkItem.ScenarioDirectoryName)_fdd %HELIX_WORKITEM_ROOT%\pub /E /I /Y</PreCommands>
135+
<PreCommands Condition="'$(TargetsWindows)' != 'true'">cp -r $HELIX_CORRELATION_PAYLOAD/$(PreparePayloadOutDirectoryName)/%(HelixWorkItem.ScenarioDirectoryName)_fdd $HELIX_WORKITEM_ROOT/pub</PreCommands>
89136
<Command>$(Python) test.py startup --scenario-name &quot;%(Identity)&quot;</Command>
90137
</HelixWorkItem>
91138
</ItemGroup>
92139

93-
<!-- SOD & Device Startup for Windows Desktop MAUI Blazor -->
94-
<ItemGroup>
95-
<HelixWorkItem Include="SOD - Desktop Maui Blazor Unpackaged" Condition="'$(TargetsWindows)' == 'true'">
96-
<PayloadDirectory>$(ScenariosDir)mauiblazordesktop</PayloadDirectory>
97-
<PreCommands>$(Python) pre.py publish -c Release -f $(_Framework)-windows10.0.19041.0</PreCommands>
98-
<Command>$(Python) test.py sod --scenario-name &quot;%(Identity)&quot;</Command>
99-
</HelixWorkItem>
100-
<HelixWorkItem Include="Device Startup - Desktop Maui Blazor Default" Condition="'$(TargetsWindows)' == 'true'">
101-
<PayloadDirectory>$(ScenariosDir)mauiblazordesktop</PayloadDirectory>
102-
<PreCommands>$(Python) pre.py publish -c Release -f $(_Framework)-windows10.0.19041.0</PreCommands>
103-
<Command>$(Python) test.py startup --scenario-name &quot;%(Identity)&quot;</Command>
104-
</HelixWorkItem>
105-
</ItemGroup>
140+
141+
<Import Project="PreparePayloadWorkItems.targets" />
142+
106143

107144
<!--
108145
This is useful for local testing to print the produced helix items

0 commit comments

Comments
 (0)