Skip to content

Commit 578f8ac

Browse files
authored
[nativeaot][tests] Update bundle zip path for NativeAOT sample app (#87049)
* Update bundle zip path for NativeAOT sample app * Add shared path for Mono and Native AOT
1 parent 1b0eb4d commit 578f8ac

File tree

5 files changed

+54
-211
lines changed

5 files changed

+54
-211
lines changed

eng/pipelines/coreclr/perf-non-wasm-jobs.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,7 @@ jobs:
228228
jobParameters:
229229
testGroup: perf
230230
runtimeType: iOSNativeAOT
231-
projectFile: ios_nativeaot_scenarios.proj
231+
projectFile: ios_scenarios.proj
232232
runKind: ios_scenarios
233233
runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml
234234
logicalmachine: 'perfiphone12mini'
@@ -244,7 +244,7 @@ jobs:
244244
jobParameters:
245245
testGroup: perf
246246
runtimeType: iOSNativeAOT
247-
projectFile: ios_nativeaot_scenarios.proj
247+
projectFile: ios_scenarios.proj
248248
runKind: ios_scenarios
249249
runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml
250250
logicalmachine: 'perfiphone12mini'

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

Lines changed: 35 additions & 97 deletions
Original file line numberDiff line numberDiff line change
@@ -228,113 +228,51 @@ jobs:
228228
artifactName: 'AndroidBDNApk'
229229
displayName: 'Mono Android BDN Apk'
230230

231-
# Download iOSMono tests
232-
- ${{ if eq(parameters.runtimeType, 'iOSMono') }}:
233-
- ${{ if and(eq(parameters.iOSLlvmBuild, 'False'), eq(parameters.iOSStripSymbols, 'False')) }}:
234-
- template: /eng/pipelines/common/download-artifact-step.yml
235-
parameters:
236-
unpackFolder: $(Build.SourcesDirectory)/iosHelloWorld/nollvmsymbols
237-
cleanUnpackFolder: false
238-
artifactFileName: 'iOSSampleAppNoLLVMSymbols.zip'
239-
artifactName: 'iOSSampleAppNoLLVMSymbols'
240-
displayName: 'iOS Sample App NoLLVM Symbols'
241-
# same artifact as above but don't extract .zip
242-
- task: DownloadBuildArtifacts@0
243-
displayName: 'Download iOS Sample App NoLLVM Symbols'
244-
inputs:
245-
buildType: current
246-
downloadType: single
247-
downloadPath: '$(Build.SourcesDirectory)/iosHelloWorldZip/nollvmsymbolszip'
231+
# Download iOSMono and Native AOT tests
232+
- ${{ if or(eq(parameters.runtimeType, 'iOSMono'), eq(parameters.runtimeType, 'iOSNativeAOT')) }}:
233+
- template: /eng/pipelines/common/download-artifact-step.yml
234+
parameters:
235+
unpackFolder: $(Build.SourcesDirectory)/iosHelloWorld
236+
cleanUnpackFolder: false
237+
${{ if and(eq(parameters.runtimeType, 'iOSMono'), eq(parameters.iOSLlvmBuild, 'False'), eq(parameters.iOSStripSymbols, 'False')) }}:
248238
artifactName: 'iOSSampleAppNoLLVMSymbols'
249-
checkDownloadedFiles: true
250-
- ${{ if and(eq(parameters.iOSLlvmBuild, 'True'), eq(parameters.iOSStripSymbols, 'False')) }}:
251-
- template: /eng/pipelines/common/download-artifact-step.yml
252-
parameters:
253-
unpackFolder: $(Build.SourcesDirectory)/iosHelloWorld/llvmsymbols
254-
cleanUnpackFolder: false
255-
artifactFileName: 'iOSSampleAppLLVMSymbols.zip'
256-
artifactName: 'iOSSampleAppLLVMSymbols'
257-
displayName: 'iOS Sample App LLVM Symbols'
258-
# same artifact as above but don't extract .zip
259-
- task: DownloadBuildArtifacts@0
260-
displayName: 'Download iOS Sample App LLVM Symbols'
261-
inputs:
262-
buildType: current
263-
downloadType: single
264-
downloadPath: '$(Build.SourcesDirectory)/iosHelloWorldZip/llvmsymbolszip'
265-
artifactName: 'iOSSampleAppLLVMSymbols'
266-
checkDownloadedFiles: true
267-
- ${{ if and(eq(parameters.iOSLlvmBuild, 'False'), eq(parameters.iOSStripSymbols, 'True')) }}:
268-
- template: /eng/pipelines/common/download-artifact-step.yml
269-
parameters:
270-
unpackFolder: $(Build.SourcesDirectory)/iosHelloWorld/nollvmnosymbols
271-
cleanUnpackFolder: false
272-
artifactFileName: 'iOSSampleAppNoLLVMNoSymbols.zip'
273-
artifactName: 'iOSSampleAppNoLLVMNoSymbols'
274-
displayName: 'iOS Sample App NoLLVM NoSymbols'
275-
# same artifact as above but don't extract .zip
276-
- task: DownloadBuildArtifacts@0
277-
displayName: 'Download iOS Sample App NoLLVM NoSymbols'
278-
inputs:
279-
buildType: current
280-
downloadType: single
281-
downloadPath: '$(Build.SourcesDirectory)/iosHelloWorldZip/nollvmnosymbolszip'
239+
artifactFileName: 'iOSSampleAppNoLLVMSymbols.zip'
240+
${{ if and(eq(parameters.runtimeType, 'iOSMono'), eq(parameters.iOSLlvmBuild, 'False'), eq(parameters.iOSStripSymbols, 'True')) }}:
282241
artifactName: 'iOSSampleAppNoLLVMNoSymbols'
283-
checkDownloadedFiles: true
284-
- ${{ if and(eq(parameters.iOSLlvmBuild, 'True'), eq(parameters.iOSStripSymbols, 'True')) }}:
285-
- template: /eng/pipelines/common/download-artifact-step.yml
286-
parameters:
287-
unpackFolder: $(Build.SourcesDirectory)/iosHelloWorld/llvmnosymbols
288-
cleanUnpackFolder: false
289-
artifactFileName: 'iOSSampleAppLLVMNoSymbols.zip'
290-
artifactName: 'iOSSampleAppLLVMNoSymbols'
291-
displayName: 'iOS Sample App LLVM NoSymbols'
292-
# same artifact as above but don't extract .zip
293-
- task: DownloadBuildArtifacts@0
294-
displayName: 'Download iOS Sample App LLVM NoSymbols'
295-
inputs:
296-
buildType: current
297-
downloadType: single
298-
downloadPath: '$(Build.SourcesDirectory)/iosHelloWorldZip/llvmnosymbolszip'
242+
artifactFileName: 'iOSSampleAppNoLLVMNoSymbols.zip'
243+
${{ if and(eq(parameters.runtimeType, 'iOSMono'), eq(parameters.iOSLlvmBuild, 'True'), eq(parameters.iOSStripSymbols, 'False')) }}:
244+
artifactName: 'iOSSampleAppLLVMSymbols'
245+
artifactFileName: 'iOSSampleAppLLVMSymbols.zip'
246+
${{ if and(eq(parameters.runtimeType, 'iOSMono'), eq(parameters.iOSLlvmBuild, 'True'), eq(parameters.iOSStripSymbols, 'True')) }}:
299247
artifactName: 'iOSSampleAppLLVMNoSymbols'
300-
checkDownloadedFiles: true
301-
302-
# Download iOSNativeAOT tests
303-
- ${{ if eq(parameters.runtimeType, 'iOSNativeAOT') }}:
304-
- ${{ if eq(parameters.iOSStripSymbols, 'False') }}:
305-
- template: /eng/pipelines/common/download-artifact-step.yml
306-
parameters:
307-
unpackFolder: $(Build.SourcesDirectory)/iosHelloWorld/symbols
308-
cleanUnpackFolder: false
309-
artifactFileName: 'iOSSampleAppSymbols.zip'
248+
artifactFileName: 'iOSSampleAppLLVMNoSymbols.zip'
249+
${{ if and(eq(parameters.runtimeType, 'iOSNativeAOT'), eq(parameters.iOSStripSymbols, 'False')) }}:
310250
artifactName: 'iOSSampleAppSymbols'
311-
displayName: 'iOS Sample App Symbols'
251+
artifactFileName: 'iOSSampleAppSymbols.zip'
252+
${{ if and(eq(parameters.runtimeType, 'iOSNativeAOT'), eq(parameters.iOSStripSymbols, 'True')) }}:
253+
artifactName: 'iOSSampleAppNoSymbols'
254+
artifactFileName: 'iOSSampleAppNoSymbols.zip'
255+
displayName: 'iOS Sample App'
312256
# same artifact as above but don't extract .zip
313257
- task: DownloadBuildArtifacts@0
314-
displayName: 'Download iOS Sample App Symbols'
258+
displayName: 'Download iOS Sample App'
315259
inputs:
316260
buildType: current
317261
downloadType: single
318-
downloadPath: '$(Build.SourcesDirectory)/iosHelloWorldZip/symbols'
319-
artifactName: 'iOSSampleAppSymbols'
320-
checkDownloadedFiles: true
321-
- ${{ if eq(parameters.iOSStripSymbols, 'True') }}:
322-
- template: /eng/pipelines/common/download-artifact-step.yml
323-
parameters:
324-
unpackFolder: $(Build.SourcesDirectory)/iosHelloWorld/nosymbols
325-
cleanUnpackFolder: false
326-
artifactFileName: 'iOSSampleAppNoSymbols.zip'
327-
artifactName: 'iOSSampleAppNoSymbols'
328-
displayName: 'iOS Sample App NoSymbols'
329-
# same artifact as above but don't extract .zip
330-
- task: DownloadBuildArtifacts@0
331-
displayName: 'Download iOS Sample App NoSymbols'
332-
inputs:
333-
buildType: current
334-
downloadType: single
335-
downloadPath: '$(Build.SourcesDirectory)/iosHelloWorldZip/nosymbols'
262+
downloadPath: '$(Build.SourcesDirectory)/iosHelloWorldZip'
263+
${{ if and(eq(parameters.runtimeType, 'iOSMono'), eq(parameters.iOSLlvmBuild, 'False'), eq(parameters.iOSStripSymbols, 'False')) }}:
264+
artifactName: 'iOSSampleAppNoLLVMSymbols'
265+
${{ if and(eq(parameters.runtimeType, 'iOSMono'), eq(parameters.iOSLlvmBuild, 'False'), eq(parameters.iOSStripSymbols, 'True')) }}:
266+
artifactName: 'iOSSampleAppNoLLVMNoSymbols'
267+
${{ if and(eq(parameters.runtimeType, 'iOSMono'), eq(parameters.iOSLlvmBuild, 'True'), eq(parameters.iOSStripSymbols, 'False')) }}:
268+
artifactName: 'iOSSampleAppLLVMSymbols'
269+
${{ if and(eq(parameters.runtimeType, 'iOSMono'), eq(parameters.iOSLlvmBuild, 'True'), eq(parameters.iOSStripSymbols, 'True')) }}:
270+
artifactName: 'iOSSampleAppLLVMNoSymbols'
271+
${{ if and(eq(parameters.runtimeType, 'iOSNativeAOT'), eq(parameters.iOSStripSymbols, 'False')) }}:
272+
artifactName: 'iOSSampleAppSymbols'
273+
${{ if and(eq(parameters.runtimeType, 'iOSNativeAOT'), eq(parameters.iOSStripSymbols, 'True')) }}:
336274
artifactName: 'iOSSampleAppNoSymbols'
337-
checkDownloadedFiles: true
275+
checkDownloadedFiles: true
338276

339277
# Create Core_Root
340278
- script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) $(buildConfig) $(archType) generatelayoutonly $(librariesOverrideArg) $(_crossBuildPropertyArg)

eng/testing/performance/ios_nativeaot_scenarios.proj

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

eng/testing/performance/ios_scenarios.proj

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,19 +30,19 @@
3030
</PropertyGroup>
3131

3232
<ItemGroup>
33-
<HelixWorkItem Include="SOD - iOS HelloWorld Mono .app Size $(LlvmPath) $(SymbolsPath)">
33+
<HelixWorkItem Include="SOD - iOS HelloWorld $(RuntimeType) .app Size $(LlvmPath) $(SymbolsPath)">
3434
<PayloadDirectory>$(WorkItemDirectory)</PayloadDirectory>
35-
<PreCommands>cd $(ScenarioDirectory)helloios;cp -rf $HELIX_CORRELATION_PAYLOAD/iosHelloWorld/$(LlvmPath)$(SymbolsPath) ./app;$(Python) pre.py --name app</PreCommands>
35+
<PreCommands>cd $(ScenarioDirectory)helloios;cp -rf $HELIX_CORRELATION_PAYLOAD/iosHelloWorld ./app;$(Python) pre.py --name app</PreCommands>
3636
<Command>$(Python) test.py sod --scenario-name &quot;%(Identity)&quot;</Command>
3737
<PostCommands>$(Python) post.py</PostCommands>
3838
</HelixWorkItem>
39-
<HelixWorkItem Include="SOD - iOS HelloWorld Mono Zip Size $(LlvmPath) $(SymbolsPath)">
39+
<HelixWorkItem Include="SOD - iOS HelloWorld $(RuntimeType) Zip Size $(LlvmPath) $(SymbolsPath)">
4040
<PayloadDirectory>$(WorkItemDirectory)</PayloadDirectory>
41-
<PreCommands>cd $(ScenarioDirectory)helloios;cp -v $HELIX_CORRELATION_PAYLOAD/iosHelloWorldZip/$(LlvmPath)$(SymbolsPath)zip/iOSSampleApp$(LlvmPath)$(SymbolsPath)/iOSSampleApp$(LlvmPath)$(SymbolsPath).zip .;$(Python) pre.py --name iOSSampleApp$(LlvmPath)$(SymbolsPath).zip</PreCommands>
41+
<PreCommands>cd $(ScenarioDirectory)helloios;cp -v $HELIX_CORRELATION_PAYLOAD/iosHelloWorldZip/iOSSampleApp.zip .;$(Python) pre.py --name iOSSampleApp.zip</PreCommands>
4242
<Command>$(Python) test.py sod --scenario-name &quot;%(Identity)&quot;</Command>
4343
<PostCommands>$(Python) post.py</PostCommands>
4444
</HelixWorkItem>
45-
<XHarnessAppBundleToTest Include="Device Startup - iOS Mono HelloWorld $(LlvmPath) $(SymbolsPath)">
45+
<XHarnessAppBundleToTest Include="Device Startup - iOS $(RuntimeType) HelloWorld $(LlvmPath) $(SymbolsPath)">
4646
<AppBundlePath>$(WorkItemDirectory).zip</AppBundlePath>
4747
<WorkItemTimeout>00:15:00</WorkItemTimeout>
4848
<TestTarget>ios-device</TestTarget>
@@ -51,7 +51,7 @@
5151
# PreCommands
5252
export XHARNESSPATH=$XHARNESS_CLI_PATH
5353
54-
cp -r $HELIX_CORRELATION_PAYLOAD/iosHelloWorld/$(LlvmPath)$(SymbolsPath)/HelloiOS.app $(ScenarioDirectory)helloios/HelloiOS.app
54+
cp -r $HELIX_CORRELATION_PAYLOAD/iosHelloWorld/iosHelloWorld/HelloiOS.app $(ScenarioDirectory)helloios/HelloiOS.app
5555
cp -f embedded.mobileprovision $(ScenarioDirectory)helloios/HelloiOS.app
5656
cd $(ScenarioDirectory)helloios
5757
sign HelloiOS.app

eng/testing/performance/performance-setup.sh

Lines changed: 11 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,10 @@ use_latest_dotnet=false
3636
logical_machine=
3737
javascript_engine="v8"
3838
iosmono=false
39+
iosnativeaot=false
40+
runtimetype=""
3941
iosllvmbuild=""
4042
iosstripsymbols=""
41-
iosnativeaot=false
4243
maui_version=""
4344
use_local_commit_time=false
4445
only_sanity=false
@@ -341,12 +342,14 @@ if [[ "$monoaot" == "true" ]]; then
341342
fi
342343

343344
if [[ "$iosmono" == "true" ]]; then
344-
configurations="$configurations iOSLlvmBuild=$iosllvmbuild iOSStripSymbols=$iosstripsymbols"
345+
runtimetype="Mono"
346+
configurations="$configurations iOSLlvmBuild=$iosllvmbuild iOSStripSymbols=$iosstripsymbols RuntimeType=$runtimetype"
345347
extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments"
346348
fi
347349

348350
if [[ "$iosnativeaot" == "true" ]]; then
349-
configurations="$configurations iOSStripSymbols=$iosstripsymbols"
351+
runtimetype="NativeAOT"
352+
configurations="$configurations iOSStripSymbols=$iosstripsymbols RuntimeType=$runtimetype"
350353
extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments"
351354
fi
352355

@@ -453,40 +456,11 @@ if [[ "$use_baseline_core_run" == true ]]; then
453456
mv $baseline_core_root_directory $new_baseline_core_root
454457
fi
455458

456-
if [[ "$iosmono" == "true" ]]; then
457-
if [[ "$iosllvmbuild" == "True" ]]; then
458-
if [[ "$iosstripsymbols" == "True" ]]; then
459-
# LLVM NoSymbols Mono .app
460-
mkdir -p $payload_directory/iosHelloWorld && cp -rv $source_directory/iosHelloWorld/llvmnosymbols $payload_directory/iosHelloWorld
461-
mkdir -p $payload_directory/iosHelloWorldZip/llvmnosymbolszip && cp -rv $source_directory/iosHelloWorldZip/llvmnosymbolszip $payload_directory/iosHelloWorldZip
462-
else
463-
# LLVM Symbols Mono .app
464-
mkdir -p $payload_directory/iosHelloWorld && cp -rv $source_directory/iosHelloWorld/llvmsymbols $payload_directory/iosHelloWorld
465-
mkdir -p $payload_directory/iosHelloWorldZip/llvmsymbolszip && cp -rv $source_directory/iosHelloWorldZip/llvmsymbolszip $payload_directory/iosHelloWorldZip
466-
fi
467-
else
468-
if [[ "$iosstripsymbols" == "True" ]]; then
469-
# NoLLVM NoSymbols Mono .app
470-
mkdir -p $payload_directory/iosHelloWorld && cp -rv $source_directory/iosHelloWorld/nollvmnosymbols $payload_directory/iosHelloWorld
471-
mkdir -p $payload_directory/iosHelloWorldZip/nollvmnosymbolszip && cp -rv $source_directory/iosHelloWorldZip/nollvmnosymbolszip $payload_directory/iosHelloWorldZip
472-
else
473-
# NoLLVM Symbols Mono .app
474-
mkdir -p $payload_directory/iosHelloWorld && cp -rv $source_directory/iosHelloWorld/nollvmsymbols $payload_directory/iosHelloWorld
475-
mkdir -p $payload_directory/iosHelloWorldZip/nollvmsymbolszip && cp -rv $source_directory/iosHelloWorldZip/nollvmsymbolszip $payload_directory/iosHelloWorldZip
476-
fi
477-
fi
478-
fi
459+
if [[ "$iosmono" == "true" || "$iosnativeaot" == "true" ]]; then
460+
mkdir -p $payload_directory/iosHelloWorld && cp -rv $source_directory/iosHelloWorld $payload_directory/iosHelloWorld
461+
mkdir -p $payload_directory/iosHelloWorldZip && cp -rv $source_directory/iosHelloWorldZip $payload_directory/iosHelloWorldZip
479462

480-
if [[ "$iosnativeaot" == "true" ]]; then
481-
if [[ "$iosstripsymbols" == "True" ]]; then
482-
# NoSymbols Mono .app
483-
mkdir -p $payload_directory/iosHelloWorld && cp -rv $source_directory/iosHelloWorld/nosymbols $payload_directory/iosHelloWorld
484-
mkdir -p $payload_directory/iosHelloWorldZip/nosymbolszip && cp -rv $source_directory/iosHelloWorldZip/nosymbolszip $payload_directory/iosHelloWorldZip
485-
else
486-
# NoSymbols Mono .app
487-
mkdir -p $payload_directory/iosHelloWorld && cp -rv $source_directory/iosHelloWorld/symbols $payload_directory/iosHelloWorld
488-
mkdir -p $payload_directory/iosHelloWorldZip/symbolszip && cp -rv $source_directory/iosHelloWorldZip/symbolszip $payload_directory/iosHelloWorldZip
489-
fi
463+
find "$payload_directory/iosHelloWorldZip/" -type f -name "*.zip" -execdir mv {} "$payload_directory/iosHelloWorldZip/iOSSampleApp.zip" \;
490464
fi
491465

492466
ci=true
@@ -521,6 +495,7 @@ Write-PipelineSetVariable -name "MonoDotnet" -value "$using_mono" -is_multi_job_
521495
Write-PipelineSetVariable -name "WasmDotnet" -value "$using_wasm" -is_multi_job_variable false
522496
Write-PipelineSetVariable -Name 'iOSLlvmBuild' -Value "$iosllvmbuild" -is_multi_job_variable false
523497
Write-PipelineSetVariable -Name 'iOSStripSymbols' -Value "$iosstripsymbols" -is_multi_job_variable false
498+
Write-PipelineSetVariable -Name 'RuntimeType' -Value "$runtimetype" -is_multi_job_variable false
524499
Write-PipelineSetVariable -name "OnlySanityCheck" -value "$only_sanity" -is_multi_job_variable false
525500

526501
# Put it back to what was set on top of this script

0 commit comments

Comments
 (0)