Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions eng/pipelines/runtime-ios-scenarios-perf-jobs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ jobs:
- template: /eng/pipelines/performance/templates/perf-ios-scenarios-build-jobs.yml@${{ parameters.runtimeRepoAlias }}
parameters:
mono: true
coreclr: true
nativeAot: true

# run iOS scenarios - Mono FullAOT
Expand Down Expand Up @@ -138,3 +139,24 @@ jobs:
performanceRepoAlias: ${{ parameters.performanceRepoAlias }}
${{ each parameter in parameters.jobParameters }}:
${{ parameter.key }}: ${{ parameter.value }}

# run iOS scenarios - CoreCLR
- template: /eng/pipelines/common/platform-matrix.yml@${{ parameters.runtimeRepoAlias }}
parameters:
jobTemplate: /eng/pipelines/templates/runtime-perf-job.yml@${{ parameters.performanceRepoAlias }}
buildConfig: release
runtimeFlavor: coreclr
platforms:
- osx_x64
jobParameters:
runtimeType: iOSCoreCLR
codeGenType: Interpreter
projectFile: $(Build.SourcesDirectory)/eng/testing/performance/ios_scenarios.proj
runKind: ios_scenarios
isScenario: true
logicalMachine: 'perfiphone12mini'
iOSStripSymbols: false
runtimeRepoAlias: ${{ parameters.runtimeRepoAlias }}
performanceRepoAlias: ${{ parameters.performanceRepoAlias }}
${{ each parameter in parameters.jobParameters }}:
${{ parameter.key }}: ${{ parameter.value }}
13 changes: 11 additions & 2 deletions eng/pipelines/templates/runtime-perf-job.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ jobs:
# Test job depends on the corresponding build job
${{ if eq(parameters.downloadSpecificBuild.buildId, '') }}:
dependsOn:
- ${{ if not(in(parameters.runtimeType, 'AndroidMono', 'AndroidCoreCLR', 'iOSMono', 'iOSNativeAOT', 'wasm', 'mono')) }}:
- ${{ if not(in(parameters.runtimeType, 'AndroidMono', 'AndroidCoreCLR', 'iOSMono', 'iOSCoreCLR', 'iOSNativeAOT', 'wasm', 'mono')) }}:
- ${{ format('build_{0}{1}_{2}_{3}_{4}', parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.buildConfig, 'coreclr') }}
- ${{ if and(eq(parameters.runtimeType, 'mono'), ne(parameters.codeGenType, 'AOT')) }}:
- ${{ format('build_{0}{1}_{2}_{3}_{4}', parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.buildConfig, 'mono') }}
Expand All @@ -51,6 +51,8 @@ jobs:
- ${{ 'build_android_arm64_release_AndroidCoreCLR' }}
- ${{ if eq(parameters.runtimeType, 'iOSMono')}}:
- ${{ 'build_ios_arm64_release_iOSMono' }}
- ${{ if eq(parameters.runtimeType, 'iOSCoreCLR')}}:
- ${{ 'build_ios_arm64_checked_iOSCoreCLR' }}
- ${{ if eq(parameters.runtimeType, 'iOSNativeAOT')}}:
- ${{ 'build_ios_arm64_release_iOSNativeAOT' }}

Expand Down Expand Up @@ -177,7 +179,7 @@ jobs:
# artifactFileName: 'AndroidBDNApk.tar.gz'
# artifactName: 'AndroidBDNApk'
# displayName: 'Mono Android BDN Apk'
- ${{ elseif or(eq(parameters.runtimeType, 'iOSMono'), eq(parameters.runtimeType, 'iOSNativeAOT')) }}:
- ${{ elseif or(eq(parameters.runtimeType, 'iOSMono'), eq(parameters.runtimeType, 'iOSCoreCLR'), eq(parameters.runtimeType, 'iOSNativeAOT')) }}:
# Download iOS Mono and CoreCLR (NativeAOT) tests
- template: /eng/pipelines/templates/download-artifact-step.yml
parameters:
Expand All @@ -195,6 +197,9 @@ jobs:
${{ if and(eq(parameters.runtimeType, 'iOSMono'), eq(parameters.iOSLlvmBuild, 'True'), eq(parameters.iOSStripSymbols, 'True')) }}:
artifactName: 'iOSSampleAppLLVMNoSymbols'
artifactFileName: 'iOSSampleAppLLVMNoSymbols.zip'
${{ if and(eq(parameters.runtimeType, 'iOSCoreCLR'), eq(parameters.codeGenType, 'Interpreter')) }}:
artifactName: 'iOSSampleApp'
artifactFileName: 'iOSSampleApp.zip'
${{ if and(eq(parameters.runtimeType, 'iOSNativeAOT'), eq(parameters.iOSStripSymbols, 'False')) }}:
artifactName: 'iOSSampleAppSymbols'
artifactFileName: 'iOSSampleAppSymbols.zip'
Expand All @@ -217,6 +222,8 @@ jobs:
artifactName: 'iOSSampleAppLLVMSymbols'
${{ if and(eq(parameters.runtimeType, 'iOSMono'), eq(parameters.iOSLlvmBuild, 'True'), eq(parameters.iOSStripSymbols, 'True')) }}:
artifactName: 'iOSSampleAppLLVMNoSymbols'
${{ if and(eq(parameters.runtimeType, 'iOSCoreCLR'), eq(parameters.codeGenType, 'Interpreter')) }}:
artifactName: 'iOSSampleApp'
${{ if and(eq(parameters.runtimeType, 'iOSNativeAOT'), eq(parameters.iOSStripSymbols, 'False')) }}:
artifactName: 'iOSSampleAppSymbols'
${{ if and(eq(parameters.runtimeType, 'iOSNativeAOT'), eq(parameters.iOSStripSymbols, 'True')) }}:
Expand All @@ -236,6 +243,8 @@ jobs:
artifactName: 'iOSMonoArm64LLVMNoStripSymbolsBuildLog'
${{ if and(eq(parameters.runtimeType, 'iOSMono'), eq(parameters.iOSLlvmBuild, 'True'), eq(parameters.iOSStripSymbols, 'True')) }}:
artifactName: 'iOSMonoArm64LLVMStripSymbolsBuildLog'
${{ if and(eq(parameters.runtimeType, 'iOSCoreCLR'), eq(parameters.codeGenType, 'Interpreter')) }}:
artifactName: 'iOSCoreCLRArm64BuildLog'
${{ if and(eq(parameters.runtimeType, 'iOSNativeAOT'), eq(parameters.iOSStripSymbols, 'False')) }}:
artifactName: 'iOSNativeAOTArm64NoStripSymbolsBuildLog'
${{ if and(eq(parameters.runtimeType, 'iOSNativeAOT'), eq(parameters.iOSStripSymbols, 'True')) }}:
Expand Down
9 changes: 9 additions & 0 deletions eng/pipelines/upload-build-artifacts-jobs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -147,3 +147,12 @@ jobs:
files: [ 'iOSSampleAppSymbols.zip' ]
- artifactName: 'iOSSampleAppNoSymbols'
files: [ 'iOSSampleAppNoSymbols.zip' ]

- ${{ if containsValue(parameters.buildType, 'coreclr_arm64_ios') }}:
- template: /eng/pipelines/templates/upload-build-artifacts-job.yml@${{ parameters.performanceRepoAlias }}
parameters:
buildType: 'coreclr_arm64_ios'
dependencyJobName: build_ios_arm64_checked_iOSCoreCLR
artifacts:
- artifactName: 'iOSSampleApp'
files: [ 'iOSSampleApp.zip' ]
5 changes: 4 additions & 1 deletion scripts/run_performance_job.py
Original file line number Diff line number Diff line change
Expand Up @@ -576,6 +576,7 @@ def run_performance_job(args: RunPerformanceJobArgs):
args.libraries_download_dir = os.path.join(args.runtime_repo_dir, "artifacts")

ios_mono = args.runtime_type == "iOSMono"
ios_coreclr = args.runtime_type == "iOSCoreCLR"
ios_nativeaot = args.runtime_type == "iOSNativeAOT"
is_aot = args.codegen_type.lower() == "aot"
is_mono = args.runtime_type == "mono"
Expand Down Expand Up @@ -636,6 +637,8 @@ def run_performance_job(args: RunPerformanceJobArgs):
if args.run_kind == "ios_scenarios":
if args.runtime_type == "iOSMono":
args.runtime_flavor = "mono"
elif args.runtime_type == "iOSCoreCLR":
args.runtime_flavor = "coreclr"
elif args.runtime_type == "iOSNativeAOT":
args.runtime_flavor = "coreclr"
else:
Expand Down Expand Up @@ -841,7 +844,7 @@ def run_performance_job(args: RunPerformanceJobArgs):
# shutil.copy(os.path.join(args.built_app_dir, "MonoBenchmarksDroid.apk"), os.path.join(root_payload_dir, "MonoBenchmarksDroid.apk"))
ci_setup_arguments.architecture = "arm64"

if ios_mono or ios_nativeaot:
if ios_mono or ios_coreclr or ios_nativeaot:
if args.built_app_dir is None:
raise Exception("Built apps directory must be present for IOS Mono or IOS Native AOT benchmarks")

Expand Down
Loading