Skip to content

Commit 9f1b88b

Browse files
committed
Prepare eng for testing only maui ios with xharness tasks.
Added the xharnessappbundletotest item for first pass test. Remove iosmono build dependency temporarily. Add missing directory in scenarios.proj include. Don't use --user for pip installs in venv. Added back in linux extra private job settings, and fixed added and() yaml to use a single and() as they can take more than 2 inputs. Fix .proj -- in comment issue. Try cding into the HELIX_CORRELATION_PAYLOAD directory. Add back in SOD testing to ensure proper working, and try a zip directory for inclusion. Set shared helix precommand to original since specific zipping style results in what we want, added some more to the CustomCommands for the Xharness running, added the app file to the payload directory. Fix incorrect unzip directory. Remove SOD condition so it actually runs. Check directory after signing and copy app to work item root for another run attempt. Fix the MauiiOSDefault.ipa copy. Add echos of the target and the command to see if there is something obvious going wrong. Fix(?) MauiiOSDefault.ipa file path. Test the iosstartup performance branch. Ensure that XHarnessCLI is included and print the directories. Add XharnessPath as an Env variable for the test.py runs, and remove middle testing stuff. Hardcode the Xharness version in the .proj file, remove some testing ls/pwd stuff, update perf scenario name, and add a command line xharness test. Set the xharness path manually like done for android. Turn on echo, export instead of set XHARNESSPATH. Try setting XHarnessPath to XHARNESS_CLI_PATH for the perf repo to catch, and remove the recursive file print as it shouldn't be needed at least for a while. Test other env variables to see if they are being passed in at all. Use Env variables properly(?). try using the pub dir and the proper folder name for testing. Try setting ios app id to net.dot.mauitesting and fix a spacing issue. Add another ls on the starting folder, and try renaming the workitem name. copy the mobileprovision and sign in the starting directory and copy the .app file to the scenario dir. Also cleaned up some of the printing. Update xharness version. Add chmod for the startup directory and print post pre.py files for testing. Reenable runtime build. Added maui version and iosllvmbuild specifiers for the perf-setup.sh file. Reenabled the mono iOS steps for full integration testing with both. Also setup some testing for precommands. Missed adding the ios app build. Fix additionalSetupParameters setup. Cleanup, minor perf setup updates to hopefully fix long running setup, and added print lines to the setup to further help with testing. Missing space for bash if statement. Add parenths around a mauiVersion as it doesn't seem to be set properly at runtime. linux Variable replacement needs parenths. Change casing of iosLlvmBuild to match .sh assumptions, and print out all available files in the source_directory. Add condition to work items for llvm vs nollvm, hopefully fixed file copies. Fix iosLlvmBuild condition casing. Remove file listing and add target dir for the MauiiOSDefaultIPA unzip. Try initial iOSLlvmBuild casing. Remove printing from setup.sh, fix ios helloworldpath, and set iOSLlvmBuild variable. Fix(?) broken paths in actual tests. Add Maccatalyst and some cleanup. Removed large comment and shifted changed private job settings to clarify the OS commands. Enable all tests for final testing. Another iteration for final changes. Perf update and xharness update test prep. Update the xharness version for perf update testing. Fix net.dot.mauitesting comment. Iterate based on comments and fix MauiMacCatalyst pathing. Change sed and try using ApplicationId instead and removed the MicrosoftDotNetXharnessCLIVersion from the ios_scenarios version. Add podcast app part 1. Add the ios podcast app test itself since it was missed. Add back the incorrectly removed HelixPrecommand steps for Alpine. Change agent.os conditions to be more positive. A wish I would replace all the paths when I try to the first time. Remove file printing. Update xharness to latest version (#67667) Needed for some perf scenarios. Test using the bottom coded XHARNESSPATH. Activate full pipeline for testing.
1 parent 316797b commit 9f1b88b

File tree

6 files changed

+164
-31
lines changed

6 files changed

+164
-31
lines changed

eng/pipelines/coreclr/perf.yml

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -257,7 +257,7 @@ jobs:
257257
buildConfig: release
258258
runtimeFlavor: mono
259259
platforms:
260-
- Windows_x64
260+
- OSX_x64
261261
variables:
262262
- name: mauiVersion
263263
value: $[ dependencies.Build_iOS_arm64_release_MACiOSAndroidMaui.outputs['getMauiVersion.mauiVersion'] ]
@@ -267,25 +267,29 @@ jobs:
267267
projectFile: ios_scenarios.proj
268268
runKind: ios_scenarios
269269
runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml
270-
logicalmachine: 'perfpixel4a'
271-
iosLlvmBuild: False
272-
additionalSetupParameters: "-MauiVersion $env:mauiVersion"
270+
logicalmachine: 'perfiphone12mini'
271+
iOSLlvmBuild: False
272+
additionalSetupParameters: "--mauiversion $(mauiVersion)"
273273

274274
- template: /eng/pipelines/common/platform-matrix.yml
275275
parameters:
276276
jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml
277277
buildConfig: release
278278
runtimeFlavor: mono
279279
platforms:
280-
- Windows_x64
280+
- OSX_x64
281+
variables:
282+
- name: mauiVersion
283+
value: $[ dependencies.Build_iOS_arm64_release_MACiOSAndroidMaui.outputs['getMauiVersion.mauiVersion'] ]
281284
jobParameters:
282285
testGroup: perf
283286
runtimeType: iOSMono
284287
projectFile: ios_scenarios.proj
285288
runKind: ios_scenarios
286289
runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml
287-
logicalmachine: 'perfpixel4a'
288-
iosLlvmBuild: True
290+
logicalmachine: 'perfiphone12mini'
291+
iOSLlvmBuild: True
292+
additionalSetupParameters: "--mauiversion $(mauiVersion)"
289293

290294
# run mono microbenchmarks perf job
291295
- template: /eng/pipelines/common/platform-matrix.yml

eng/pipelines/coreclr/templates/build-perf-maui-apps.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -178,11 +178,11 @@ steps:
178178
cp MauiTesting.csproj MauiTesting.csproj.bak
179179
sed -i'' -e 's/net6.0-ios;net6.0-maccatalyst/net6.0-ios/g' MauiTesting.csproj
180180
181-
../dotnet publish -bl:MauiiOS.binlog -f net6.0-ios --self-contained -r ios-arm64 -c Release /p:_RequireCodeSigning=false
181+
../dotnet publish -bl:MauiiOS.binlog -f net6.0-ios --self-contained -r ios-arm64 -c Release /p:_RequireCodeSigning=false /p:ApplicationId=net.dot.mauitesting
182182
mv ./bin/Release/net6.0-ios/ios-arm64/publish/MauiTesting.ipa ./MauiiOSDefault.ipa
183183
184184
cp MauiTesting.csproj.bak MauiTesting.csproj
185-
displayName: Build MAUI iOS
185+
displayName: Build MAUI Default iOS
186186
workingDirectory: $(Build.SourcesDirectory)/MauiTesting
187187
188188
- script: |
@@ -192,7 +192,7 @@ steps:
192192
sed -i'' -e 's/net6.0-ios;net6.0-maccatalyst/net6.0-ios/g' Microsoft.NetConf2021.Maui.csproj
193193
194194
../../../dotnet build ../Web/Components/Podcast.Components.Maui.csproj
195-
../../../dotnet publish Microsoft.NetConf2021.Maui.csproj -bl:MauiiOSPodcast.binlog -f net6.0-ios --self-contained -r ios-arm64 -c Release /p:_RequireCodeSigning=false
195+
../../../dotnet publish Microsoft.NetConf2021.Maui.csproj -bl:MauiiOSPodcast.binlog -f net6.0-ios --self-contained -r ios-arm64 -c Release /p:_RequireCodeSigning=false /p:ApplicationId=net.dot.netconf2021.maui
196196
mv ./bin/Release/net6.0-ios/ios-arm64/publish/Microsoft.NetConf2021.Maui.ipa ./MauiiOSPodcast.ipa
197197
198198
cp Microsoft.NetConf2021.Maui.csproj.bak Microsoft.NetConf2021.Maui.csproj

eng/pipelines/coreclr/templates/perf-job.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ jobs:
9898
${{ if eq(parameters.runtimeType, 'AndroidMono') }}:
9999
extraSetupParameters: -Architecture ${{ parameters.archType }} -AndroidMono
100100
${{ if eq(parameters.runtimeType, 'iosMono') }}:
101-
extraSetupParameters: -Architecture ${{ parameters.archType }} -iOSMono -iOSLlvmBuild:$${{ parameters.iOSLlvmBuild }}
101+
extraSetupParameters: --architecture ${{ parameters.archType }} --iosmono --iosllvmbuild ${{ parameters.iOSLlvmBuild }}
102102

103103
variables: ${{ parameters.variables }}
104104

eng/pipelines/coreclr/templates/run-scenarios-job.yml

Lines changed: 34 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -65,27 +65,34 @@ jobs:
6565
- ${{ if eq(parameters.osGroup, 'windows') }}:
6666
- HelixPreCommandWindows: 'set ORIGPYPATH=%PYTHONPATH%;py -3 -m venv %HELIX_WORKITEM_PAYLOAD%\.venv;call %HELIX_WORKITEM_PAYLOAD%\.venv\Scripts\activate.bat;set PYTHONPATH=;py -3 -m pip install -U pip;py -3 -m pip install --user azure.storage.blob==12.0.0 --force-reinstall;py -3 -m pip install --user azure.storage.queue==12.0.0 --force-reinstall;set "PERFLAB_UPLOAD_TOKEN=$(PerfCommandUploadToken)"'
6767
- HelixPostCommandsWindows: 'set PYTHONPATH=%ORIGPYPATH%'
68-
- ${{ if and(ne(parameters.osGroup, 'windows'), ne(parameters.osSubGroup, '_musl')) }}:
68+
- ${{ if and(ne(parameters.osGroup, 'windows'), ne(parameters.osGroup, 'OSX'), ne(parameters.osSubGroup, '_musl')) }}:
6969
- HelixPreCommandLinux: 'export ORIGPYPATH=$PYTHONPATH;export CRYPTOGRAPHY_ALLOW_OPENSSL_102=true;sudo apt-get -y install python3-venv;python3 -m venv $HELIX_WORKITEM_PAYLOAD/.venv;source $HELIX_WORKITEM_PAYLOAD/.venv/bin/activate;export PYTHONPATH=;python3 -m pip install -U pip;pip3 install --user azure.storage.blob==12.0.0 --force-reinstall;pip3 install --user azure.storage.queue==12.0.0 --force-reinstall;export PERFLAB_UPLOAD_TOKEN="$(PerfCommandUploadTokenLinux)"'
7070
- HelixPostCommandsLinux: 'export PYTHONPATH=$ORIGPYPATH'
71-
- ${{ if and(ne(parameters.osGroup, 'windows'), eq(parameters.osSubGroup, '_musl')) }}:
71+
- ${{ if and(ne(parameters.osGroup, 'windows'), ne(parameters.osGroup, 'OSX'), eq(parameters.osSubGroup, '_musl')) }}:
7272
- HelixPreCommandMusl: 'export ORIGPYPATH=$PYTHONPATH;sudo apk add py3-virtualenv;python3 -m venv $HELIX_WORKITEM_PAYLOAD/.venv;source $HELIX_WORKITEM_PAYLOAD/.venv/bin/activate;export PYTHONPATH=;python3 -m pip install -U pip;pip3 install --user azure.storage.blob==12.0.0 --force-reinstall;pip3 install --user azure.storage.queue==12.0.0 --force-reinstall;export PERFLAB_UPLOAD_TOKEN="$(PerfCommandUploadTokenLinux)"'
7373
- HelixPostCommandsMusl: 'export PYTHONPATH=$ORIGPYPATH'
74+
- ${{ if eq(parameters.osGroup, 'OSX') }}:
75+
- HelixPreCommandOSX: 'export ORIGPYPATH=$PYTHONPATH;export CRYPTOGRAPHY_ALLOW_OPENSSL_102=true;python3 -m venv $HELIX_WORKITEM_PAYLOAD/.venv;source $HELIX_WORKITEM_PAYLOAD/.venv/bin/activate;export PYTHONPATH=;python3 -m pip install -U pip;pip3 install azure.storage.blob==12.0.0 --force-reinstall;pip3 install azure.storage.queue==12.0.0 --force-reinstall;export PERFLAB_UPLOAD_TOKEN="$(PerfCommandUploadTokenLinux)"'
76+
- HelixPreCommandOSX: 'export PYTHONPATH=$ORIGPYPATH'
7477

7578
# extra private job settings
7679
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
7780
- ${{ if eq(parameters.osGroup, 'windows') }}:
7881
- AdditionalHelixPreCommands: $(HelixPreCommandWindows)
7982
- AdditionalHelixPostCommands: $(HelixPostCommandsWindows)
8083
- IsInternal: -Internal
81-
- ${{ if and(ne(parameters.osGroup, 'windows'), ne(parameters.osSubGroup, '_musl')) }}:
84+
- ${{ if and(ne(parameters.osGroup, 'windows'), ne(parameters.osGroup, 'OSX'), ne(parameters.osSubGroup, '_musl')) }}:
8285
- AdditionalHelixPreCommands: $(HelixPreCommandLinux)
8386
- AdditionalHelixPostCommands: $(HelixPostCommandsLinux)
8487
- IsInternal: --internal
85-
- ${{ if and(ne(parameters.osGroup, 'windows'), eq(parameters.osSubGroup, '_musl')) }}:
88+
- ${{ if and(ne(parameters.osGroup, 'windows'), ne(parameters.osGroup, 'OSX'), eq(parameters.osSubGroup, '_musl')) }}:
8689
- AdditionalHelixPreCommands: $(HelixPreCommandMusl)
8790
- AdditionalHelixPostCommands: $(HelixPostCommandsMusl)
8891
- IsInternal: --internal
92+
- ${{ if eq(parameters.osGroup, 'OSX') }}:
93+
- AdditionalHelixPreCommands: $(HelixPreCommandOSX)
94+
- AdditionalHelixPostCommands: $(HelixPreCommandOSX)
95+
- IsInternal: --internal
8996
- group: DotNet-HelixApi-Access
9097
- group: dotnet-benchview
9198

@@ -121,15 +128,15 @@ jobs:
121128
condition: and(succeeded(), eq(variables['Agent.Os'], 'Windows_NT'))
122129
continueOnError: ${{ parameters.continueOnError }}
123130
- script: $(Build.SourcesDirectory)/eng/testing/performance/performance-setup.sh $(IsInternal) --framework $(_Framework) --kind ${{ parameters.runKind }} --logicalmachine ${{ parameters.logicalMachine }} ${{ parameters.extraSetupParameters }} ${{ parameters.additionalSetupParameters }}
124-
displayName: Performance Setup (Linux)
131+
displayName: Performance Setup (Linux/MAC)
125132
condition: and(succeeded(), ne(variables['Agent.Os'], 'Windows_NT'))
126133
continueOnError: ${{ parameters.continueOnError }}
127134
# run ci-setup
128135
- script: $(Python) $(PerformanceDirectory)\scripts\ci_setup.py $(SetupArguments) $(ExtraSetupArguments) --output-file $(WorkItemDirectory)\machine-setup.cmd
129136
displayName: Run ci setup script (Windows)
130137
condition: and(succeeded(), eq(variables['Agent.Os'], 'Windows_NT'))
131138
- script: $(Python) $(PerformanceDirectory)/scripts/ci_setup.py $(SetupArguments) $(ExtraSetupArguments) --output-file $(WorkItemDirectory)/machine-setup.sh
132-
displayName: Run ci setup script (Linux)
139+
displayName: Run ci setup script (Linux/MAC)
133140
condition: and(succeeded(), ne(variables['Agent.Os'], 'Windows_NT'))
134141
# copy wasm packs if running on wasm
135142
- script: >-
@@ -144,7 +151,7 @@ jobs:
144151
displayName: Copy scenario support files (Windows)
145152
condition: and(succeeded(), eq(variables['Agent.Os'], 'Windows_NT'))
146153
- script: cp -r $(PerformanceDirectory)/scripts $(WorkItemDirectory)/scripts/ && cp -r $(PerformanceDirectory)/src/scenarios/shared $(WorkItemDirectory)/shared/ && cp -r $(PerformanceDirectory)/src/scenarios/staticdeps/ $(WorkItemDirectory)/staticdeps/
147-
displayName: Copy scenario support files (Linux)
154+
displayName: Copy scenario support files (Linux/MAC)
148155
condition: and(succeeded(), ne(variables['Agent.Os'], 'Windows_NT'))
149156
# build Startup
150157
- script: $(PayloadDirectory)\dotnet\dotnet.exe publish -c Release -o $(WorkItemDirectory)\Startup -f net6.0 -r win-$(Architecture) $(PerformanceDirectory)\src\tools\ScenarioMeasurement\Startup\Startup.csproj
@@ -156,7 +163,12 @@ jobs:
156163
displayName: Build Startup tool (Linux)
157164
env:
158165
PERFLAB_TARGET_FRAMEWORKS: net6.0
159-
condition: and(succeeded(), ne(variables['Agent.Os'], 'Windows_NT'))
166+
condition: and(succeeded(), eq(variables['Agent.Os'], 'Linux'))
167+
- script: $(PayloadDirectory)/dotnet/dotnet publish -c Release -o $(WorkItemDirectory)/startup -f net6.0 -r osx-$(Architecture) $(PerformanceDirectory)/src/tools/ScenarioMeasurement/Startup/Startup.csproj
168+
displayName: Build Startup tool (MAC)
169+
env:
170+
PERFLAB_TARGET_FRAMEWORKS: net6.0
171+
condition: and(succeeded(), eq(variables['Agent.Os'], 'Darwin'))
160172
# build SizeOnDisk
161173
- script: $(PayloadDirectory)\dotnet\dotnet.exe publish -c Release -o $(WorkItemDirectory)\SOD -f net6.0 -r win-$(Architecture) $(PerformanceDirectory)\src\tools\ScenarioMeasurement\SizeOnDisk\SizeOnDisk.csproj
162174
displayName: Build SizeOnDisk tool (Windows)
@@ -167,7 +179,20 @@ jobs:
167179
displayName: Build SizeOnDisk tool (Linux)
168180
env:
169181
PERFLAB_TARGET_FRAMEWORKS: net6.0
170-
condition: and(succeeded(), ne(variables['Agent.Os'], 'Windows_NT'))
182+
condition: and(succeeded(), eq(variables['Agent.Os'], 'Linux'))
183+
- script: $(PayloadDirectory)/dotnet/dotnet publish -c Release -o $(WorkItemDirectory)/SOD -f net6.0 -r osx-$(Architecture) $(PerformanceDirectory)/src/tools/ScenarioMeasurement/SizeOnDisk/SizeOnDisk.csproj
184+
displayName: Build SizeOnDisk tool (MAC)
185+
env:
186+
PERFLAB_TARGET_FRAMEWORKS: net6.0
187+
condition: and(succeeded(), eq(variables['Agent.Os'], 'Darwin'))
188+
189+
# Zip the workitem directory (for xharness based workitems)
190+
- task: ArchiveFiles@2
191+
inputs:
192+
rootFolderOrFile: '$(WorkItemDirectory)'
193+
includeRootFolder: false
194+
archiveFile: '$(WorkItemDirectory).zip'
195+
verbose: True
171196

172197
# run perf testing in helix
173198
- template: /eng/pipelines/coreclr/templates/perf-send-to-helix.yml

eng/testing/performance/ios_scenarios.proj

Lines changed: 61 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
<Project Sdk="Microsoft.DotNet.Helix.Sdk" DefaultTargets="Test">
2+
<PropertyGroup>
3+
<IncludeXHarnessCli>true</IncludeXHarnessCli>
4+
</PropertyGroup>
25
<PropertyGroup Condition="'$(AGENT_OS)' != 'Windows_NT'">
36
<Python>python3</Python>
47
<HelixPreCommands>$(HelixPreCommands);chmod +x $HELIX_WORKITEM_PAYLOAD/SOD/SizeOnDisk</HelixPreCommands>
8+
<HelixPreCommands>$(HelixPreCommands);chmod +x $HELIX_WORKITEM_PAYLOAD/startup/Startup</HelixPreCommands>
59
</PropertyGroup>
610

711
<ItemGroup>
@@ -26,39 +30,87 @@
2630
<ItemGroup>
2731
<HelixWorkItem Include="SOD - iOS HelloWorld .app Size">
2832
<PayloadDirectory>$(WorkItemDirectory)</PayloadDirectory>
29-
<PreCommands>cd $(ScenarioDirectory)helloios;xcopy %HELIX_CORRELATION_PAYLOAD%\iosHelloWorld\$(LlvmPath) .\app/e/i;$(Python) pre.py --name app</PreCommands>
33+
<PreCommands>cd $(ScenarioDirectory)helloios;cp -rf $HELIX_CORRELATION_PAYLOAD/iosHelloWorld/$(LlvmPath) ./app;$(Python) pre.py --name app</PreCommands>
3034
<Command>$(Python) test.py sod --scenario-name &quot;%(Identity)&quot;</Command>
3135
<PostCommands>$(Python) post.py</PostCommands>
3236
</HelixWorkItem>
33-
<HelixWorkItem Include="SOD - Maui iOS IPA Size" Condition="'$(iOSLlvmBuild)' == 'False'">
37+
<HelixWorkItem Include="SOD - Maui MacCatalyst .app Size" Condition="'$(iOSLlvmBuild)' == 'False'">
3438
<PayloadDirectory>$(WorkItemDirectory)</PayloadDirectory>
35-
<PreCommands>cd $(ScenarioDirectory)mauiios;copy %HELIX_CORRELATION_PAYLOAD%\MauiiOSDefaultIPA\MauiiOSDefault.ipa .;$(Python) pre.py --name MauiiOSDefault.ipa</PreCommands>
39+
<PreCommands>cd $(ScenarioDirectory)mauiios;cp -rf $HELIX_CORRELATION_PAYLOAD/MauiMacCatalystDefault ./app;$(Python) pre.py --name app</PreCommands>
3640
<Command>$(Python) test.py sod --scenario-name &quot;%(Identity)&quot;</Command>
3741
<PostCommands>$(Python) post.py</PostCommands>
3842
</HelixWorkItem>
39-
<HelixWorkItem Include="SOD - Maui iOS IPA Size Unzipped" Condition="'$(iOSLlvmBuild)' == 'False'">
43+
<HelixWorkItem Include="SOD - Maui iOS IPA Size" Condition="'$(iOSLlvmBuild)' == 'False'">
4044
<PayloadDirectory>$(WorkItemDirectory)</PayloadDirectory>
41-
<PreCommands>cd $(ScenarioDirectory)mauiios;copy %HELIX_CORRELATION_PAYLOAD%\MauiiOSDefaultIPA\MauiiOSDefault.ipa .;$(Python) pre.py --unzip --name MauiiOSDefault.ipa</PreCommands>
45+
<PreCommands>cd $(ScenarioDirectory)mauiios;cp $HELIX_CORRELATION_PAYLOAD/MauiiOSDefault.ipa .;$(Python) pre.py --name MauiiOSDefault.ipa</PreCommands>
4246
<Command>$(Python) test.py sod --scenario-name &quot;%(Identity)&quot;</Command>
4347
<PostCommands>$(Python) post.py</PostCommands>
4448
</HelixWorkItem>
45-
<HelixWorkItem Include="SOD - Maui MacCatalyst .app Size" Condition="'$(iOSLlvmBuild)' == 'False'">
49+
<HelixWorkItem Include="SOD - Maui iOS IPA Size Unzipped" Condition="'$(iOSLlvmBuild)' == 'False'">
4650
<PayloadDirectory>$(WorkItemDirectory)</PayloadDirectory>
47-
<PreCommands>cd $(ScenarioDirectory)mauiios;xcopy %HELIX_CORRELATION_PAYLOAD%\MauiMacCatalystDefault .\app/e/i;$(Python) pre.py --name app</PreCommands>
51+
<PreCommands>cd $(ScenarioDirectory)mauiios;cp $HELIX_CORRELATION_PAYLOAD/MauiiOSDefault.ipa .;$(Python) pre.py --unzip --name MauiiOSDefault.ipa</PreCommands>
4852
<Command>$(Python) test.py sod --scenario-name &quot;%(Identity)&quot;</Command>
4953
<PostCommands>$(Python) post.py</PostCommands>
5054
</HelixWorkItem>
5155
<HelixWorkItem Include="SOD - Maui iOS Podcast IPA Size" Condition="'$(iOSLlvmBuild)' == 'False'">
5256
<PayloadDirectory>$(WorkItemDirectory)</PayloadDirectory>
53-
<PreCommands>cd $(ScenarioDirectory)mauiios;copy %HELIX_CORRELATION_PAYLOAD%\MauiiOSPodcastIPA\MauiiOSPodcast.ipa .;$(Python) pre.py --name MauiiOSPodcast.ipa</PreCommands>
57+
<PreCommands>cd $(ScenarioDirectory)mauiios;cp $HELIX_CORRELATION_PAYLOAD/MauiiOSPodcast.ipa .;$(Python) pre.py --name MauiiOSPodcast.ipa</PreCommands>
5458
<Command>$(Python) test.py sod --scenario-name &quot;%(Identity)&quot;</Command>
5559
<PostCommands>$(Python) post.py</PostCommands>
5660
</HelixWorkItem>
5761
<HelixWorkItem Include="SOD - Maui iOS Podcast IPA Size Unzipped" Condition="'$(iOSLlvmBuild)' == 'False'">
5862
<PayloadDirectory>$(WorkItemDirectory)</PayloadDirectory>
59-
<PreCommands>cd $(ScenarioDirectory)mauiios;copy %HELIX_CORRELATION_PAYLOAD%\MauiiOSPodcastIPA\MauiiOSPodcast.ipa .;$(Python) pre.py --unzip --name MauiiOSPodcast.ipa</PreCommands>
63+
<PreCommands>cd $(ScenarioDirectory)mauiios;cp $HELIX_CORRELATION_PAYLOAD/MauiiOSPodcast.ipa .;$(Python) pre.py --unzip --name MauiiOSPodcast.ipa</PreCommands>
6064
<Command>$(Python) test.py sod --scenario-name &quot;%(Identity)&quot;</Command>
6165
<PostCommands>$(Python) post.py</PostCommands>
6266
</HelixWorkItem>
67+
<XHarnessAppBundleToTest Include="Device Startup - iOS Maui Default" Condition="'$(iOSLlvmBuild)' == 'False'">
68+
<AppBundlePath>$(WorkItemDirectory).zip</AppBundlePath>
69+
<WorkItemTimeout>00:05:00</WorkItemTimeout>
70+
<TestTarget>ios-device</TestTarget>
71+
<CustomCommands>
72+
<![CDATA[
73+
# PreCommands
74+
export XHARNESSPATH=$XHARNESS_CLI_PATH
75+
76+
cp -r $HELIX_CORRELATION_PAYLOAD/MauiTesting.app $(ScenarioDirectory)mauiios/MauiTesting.app
77+
cp -f embedded.mobileprovision $(ScenarioDirectory)mauiios/MauiTesting.app
78+
cd $(ScenarioDirectory)mauiios
79+
sign MauiTesting.app
80+
81+
$(Python) pre.py --name MauiTesting.app
82+
83+
# Testing commands
84+
$(Python) test.py devicestartup --device-type ios --package-path MauiTesting.app --package-name net.dot.mauitesting --scenario-name "%(Identity)"
85+
86+
# Post commands
87+
$(Python) post.py
88+
]]>
89+
</CustomCommands>
90+
</XHarnessAppBundleToTest>
91+
<XHarnessAppBundleToTest Include="Device Startup - iOS Maui Podcast" Condition="'$(iOSLlvmBuild)' == 'False'">
92+
<AppBundlePath>$(WorkItemDirectory).zip</AppBundlePath>
93+
<WorkItemTimeout>00:05:00</WorkItemTimeout>
94+
<TestTarget>ios-device</TestTarget>
95+
<CustomCommands>
96+
<![CDATA[
97+
# PreCommands
98+
export XHARNESSPATH=$XHARNESS_CLI_PATH
99+
100+
cp -r $HELIX_CORRELATION_PAYLOAD/Microsoft.NetConf2021.Maui.app $(ScenarioDirectory)mauiios/Microsoft.NetConf2021.Maui.app
101+
cp -f embedded.mobileprovision $(ScenarioDirectory)mauiios/Microsoft.NetConf2021.Maui.app
102+
cd $(ScenarioDirectory)mauiios
103+
sign Microsoft.NetConf2021.Maui.app
104+
105+
$(Python) pre.py --name Microsoft.NetConf2021.Maui.app
106+
107+
# Testing commands
108+
$(Python) test.py devicestartup --device-type ios --package-path Microsoft.NetConf2021.Maui.app --package-name net.dot.netconf2021.maui --scenario-name "%(Identity)"
109+
110+
# Post commands
111+
$(Python) post.py
112+
]]>
113+
</CustomCommands>
114+
</XHarnessAppBundleToTest>
63115
</ItemGroup>
64116
</Project>

0 commit comments

Comments
 (0)