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
69 changes: 4 additions & 65 deletions eng/pipelines/runtime-ios-scenarios-perf-jobs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,28 +10,7 @@ jobs:
coreclr: true
nativeAot: true

# run iOS scenarios - Mono FullAOT
- template: /eng/pipelines/common/platform-matrix.yml@${{ parameters.runtimeRepoAlias }}
parameters:
jobTemplate: /eng/pipelines/templates/runtime-perf-job.yml@${{ parameters.performanceRepoAlias }}
buildConfig: release
runtimeFlavor: mono
platforms:
- osx_x64
jobParameters:
runtimeType: iOSMono
codeGenType: FullAOT
projectFile: $(Build.SourcesDirectory)/eng/testing/performance/ios_scenarios.proj
runKind: ios_scenarios
isScenario: true
logicalMachine: 'perfiphone12mini'
iOSLlvmBuild: False
iOSStripSymbols: False
runtimeRepoAlias: ${{ parameters.runtimeRepoAlias }}
performanceRepoAlias: ${{ parameters.performanceRepoAlias }}
${{ each parameter in parameters.jobParameters }}:
${{ parameter.key }}: ${{ parameter.value }}

# run iOS scenarios - Mono FullAOT (no LLVM)
- template: /eng/pipelines/common/platform-matrix.yml@${{ parameters.runtimeRepoAlias }}
parameters:
jobTemplate: /eng/pipelines/templates/runtime-perf-job.yml@${{ parameters.performanceRepoAlias }}
Expand All @@ -54,28 +33,7 @@ jobs:
${{ each parameter in parameters.jobParameters }}:
${{ parameter.key }}: ${{ parameter.value }}

- template: /eng/pipelines/common/platform-matrix.yml@${{ parameters.runtimeRepoAlias }}
parameters:
jobTemplate: /eng/pipelines/templates/runtime-perf-job.yml@${{ parameters.performanceRepoAlias }}
buildConfig: release
runtimeFlavor: mono
platforms:
- osx_x64
jobParameters:
runtimeType: iOSMono
codeGenType: FullAOT
projectFile: $(Build.SourcesDirectory)/eng/testing/performance/ios_scenarios.proj
runKind: ios_scenarios
isScenario: true
logicalMachine: 'perfiphone12mini'
iOSLlvmBuild: True
iOSStripSymbols: False
additionalJobIdentifier: iOSLlvmBuild
runtimeRepoAlias: ${{ parameters.runtimeRepoAlias }}
performanceRepoAlias: ${{ parameters.performanceRepoAlias }}
${{ each parameter in parameters.jobParameters }}:
${{ parameter.key }}: ${{ parameter.value }}

# run iOS scenarios - Mono FullAOT (with LLVM)
- template: /eng/pipelines/common/platform-matrix.yml@${{ parameters.runtimeRepoAlias }}
parameters:
jobTemplate: /eng/pipelines/templates/runtime-perf-job.yml@${{ parameters.performanceRepoAlias }}
Expand All @@ -99,26 +57,6 @@ jobs:
${{ parameter.key }}: ${{ parameter.value }}

# run iOS scenarios - CoreCLR NativeAOT
- 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: iOSNativeAOT
codeGenType: NativeAOT
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 }}

- template: /eng/pipelines/common/platform-matrix.yml@${{ parameters.runtimeRepoAlias }}
parameters:
jobTemplate: /eng/pipelines/templates/runtime-perf-job.yml@${{ parameters.performanceRepoAlias }}
Expand Down Expand Up @@ -155,7 +93,8 @@ jobs:
runKind: ios_scenarios
isScenario: true
logicalMachine: 'perfiphone12mini'
iOSStripSymbols: false
iOSStripSymbols: True
additionalJobIdentifier: iOSStripSymbols
runtimeRepoAlias: ${{ parameters.runtimeRepoAlias }}
performanceRepoAlias: ${{ parameters.performanceRepoAlias }}
${{ each parameter in parameters.jobParameters }}:
Expand Down
2 changes: 1 addition & 1 deletion eng/pipelines/templates/run-performance-job.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ parameters:
experimentName: '' # optional -- Name of the experiment
javascriptEngine: '' # optional -- JavaScript engine to use
iOSLlvmBuild: false # optional -- Whether to build iOS with LLVM
iOSStripSymbols: false # optional -- Whether to strip symbols from the iOS build
iOSStripSymbols: true # optional -- Whether to strip symbols from the iOS build
additionalSetupParameters: '' # optional -- Additional arguments to pass to the script
liveLibrariesBuildConfig: '' # optional -- Build configuration when generating Core_Root for libraries
crossBuild: false # optional -- Whether the Core_Root is being cross-compiled
Expand Down
72 changes: 26 additions & 46 deletions eng/pipelines/templates/runtime-perf-job.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ parameters:
codeGenType: 'JIT'
linkingType: '' # dynamic is default
iOSLlvmBuild: 'False'
iOSStripSymbols: 'False'
iOSStripSymbols: 'True'
isScenario: false
downloadSpecificBuild: null # buildId, pipeline, branchName, project
crossBuild: false
Expand Down Expand Up @@ -181,31 +181,23 @@ jobs:
# displayName: 'Mono Android BDN Apk'
- ${{ elseif or(eq(parameters.runtimeType, 'iOSMono'), eq(parameters.runtimeType, 'iOSCoreCLR'), eq(parameters.runtimeType, 'iOSNativeAOT')) }}:
# Download iOS Mono and CoreCLR (NativeAOT) tests
# Currently only running scenarios where iOSStripSymbols == 'True'
- template: /eng/pipelines/templates/download-artifact-step.yml
parameters:
unpackFolder: $(builtAppDir)/iosHelloWorld
cleanUnpackFolder: false
${{ if and(eq(parameters.runtimeType, 'iOSMono'), eq(parameters.iOSLlvmBuild, 'False'), eq(parameters.iOSStripSymbols, 'False')) }}:
artifactName: 'iOSSampleAppNoLLVMSymbols'
artifactFileName: 'iOSSampleAppNoLLVMSymbols.zip'
${{ if and(eq(parameters.runtimeType, 'iOSMono'), eq(parameters.iOSLlvmBuild, 'False'), eq(parameters.iOSStripSymbols, 'True')) }}:
artifactName: 'iOSSampleAppNoLLVMNoSymbols'
artifactFileName: 'iOSSampleAppNoLLVMNoSymbols.zip'
${{ if and(eq(parameters.runtimeType, 'iOSMono'), eq(parameters.iOSLlvmBuild, 'True'), eq(parameters.iOSStripSymbols, 'False')) }}:
artifactName: 'iOSSampleAppLLVMSymbols'
artifactFileName: 'iOSSampleAppLLVMSymbols.zip'
${{ 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'
${{ if and(eq(parameters.runtimeType, 'iOSMono'), eq(parameters.codeGenType, 'FullAOT'), eq(parameters.iOSLlvmBuild, 'False'), eq(parameters.iOSStripSymbols, 'True')) }}:
artifactName: 'iOSSampleAppMonoFullAOTNoLLVMNoSymbols'
artifactFileName: 'iOSSampleAppMonoFullAOTNoLLVMNoSymbols.zip'
${{ if and(eq(parameters.runtimeType, 'iOSMono'), eq(parameters.codeGenType, 'FullAOT'), eq(parameters.iOSLlvmBuild, 'True'), eq(parameters.iOSStripSymbols, 'True')) }}:
artifactName: 'iOSSampleAppMonoFullAOTLLVMNoSymbols'
artifactFileName: 'iOSSampleAppMonoFullAOTLLVMNoSymbols.zip'
${{ if and(eq(parameters.runtimeType, 'iOSCoreCLR'), eq(parameters.codeGenType, 'Interpreter'), eq(parameters.iOSStripSymbols, 'True')) }}:
artifactName: 'iOSSampleAppCoreCLRInterpreterNoSymbols'
artifactFileName: 'iOSSampleAppCoreCLRInterpreterNoSymbols.zip'
${{ if and(eq(parameters.runtimeType, 'iOSNativeAOT'), eq(parameters.iOSStripSymbols, 'True')) }}:
artifactName: 'iOSSampleAppNoSymbols'
artifactFileName: 'iOSSampleAppNoSymbols.zip'
artifactName: 'iOSSampleAppNativeAOTNoSymbols'
artifactFileName: 'iOSSampleAppNativeAOTNoSymbols.zip'
displayName: 'iOS Sample App'
# same artifact as above but don't extract .zip
- task: DownloadBuildArtifacts@0
Expand All @@ -214,39 +206,27 @@ jobs:
buildType: current
downloadType: single
downloadPath: '$(builtAppDir)/iosHelloWorldZip'
${{ if and(eq(parameters.runtimeType, 'iOSMono'), eq(parameters.iOSLlvmBuild, 'False'), eq(parameters.iOSStripSymbols, 'False')) }}:
artifactName: 'iOSSampleAppNoLLVMSymbols'
${{ if and(eq(parameters.runtimeType, 'iOSMono'), eq(parameters.iOSLlvmBuild, 'False'), eq(parameters.iOSStripSymbols, 'True')) }}:
artifactName: 'iOSSampleAppNoLLVMNoSymbols'
${{ if and(eq(parameters.runtimeType, 'iOSMono'), eq(parameters.iOSLlvmBuild, 'True'), eq(parameters.iOSStripSymbols, 'False')) }}:
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, 'iOSMono'), eq(parameters.codeGenType, 'FullAOT'), eq(parameters.iOSLlvmBuild, 'False'), eq(parameters.iOSStripSymbols, 'True')) }}:
artifactName: 'iOSSampleAppMonoFullAOTNoLLVMNoSymbols'
${{ if and(eq(parameters.runtimeType, 'iOSMono'), eq(parameters.codeGenType, 'FullAOT'), eq(parameters.iOSLlvmBuild, 'True'), eq(parameters.iOSStripSymbols, 'True')) }}:
artifactName: 'iOSSampleAppMonoFullAOTLLVMNoSymbols'
${{ if and(eq(parameters.runtimeType, 'iOSCoreCLR'), eq(parameters.codeGenType, 'Interpreter'), eq(parameters.iOSStripSymbols, 'True')) }}:
artifactName: 'iOSSampleAppCoreCLRInterpreterNoSymbols'
${{ if and(eq(parameters.runtimeType, 'iOSNativeAOT'), eq(parameters.iOSStripSymbols, 'True')) }}:
artifactName: 'iOSSampleAppNoSymbols'
artifactName: 'iOSSampleAppNativeAOTNoSymbols'
checkDownloadedFiles: true
- task: DownloadBuildArtifacts@0
displayName: 'Download binlog files'
inputs:
buildType: current
downloadType: single
downloadPath: '$(builtAppDir)/iosHelloWorldBinlog'
${{ if and(eq(parameters.runtimeType, 'iOSMono'), eq(parameters.iOSLlvmBuild, 'False'), eq(parameters.iOSStripSymbols, 'False')) }}:
artifactName: 'iOSMonoArm64NoLLVMNoStripSymbolsBuildLog'
${{ if and(eq(parameters.runtimeType, 'iOSMono'), eq(parameters.iOSLlvmBuild, 'False'), eq(parameters.iOSStripSymbols, 'True')) }}:
artifactName: 'iOSMonoArm64NoLLVMStripSymbolsBuildLog'
${{ if and(eq(parameters.runtimeType, 'iOSMono'), eq(parameters.iOSLlvmBuild, 'True'), eq(parameters.iOSStripSymbols, 'False')) }}:
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, 'iOSMono'), eq(parameters.codeGenType, 'FullAOT'), eq(parameters.iOSLlvmBuild, 'False'), eq(parameters.iOSStripSymbols, 'True')) }}:
artifactName: 'iOSMonoFullAOTArm64NoLLVMStripSymbolsBuildLog'
${{ if and(eq(parameters.runtimeType, 'iOSMono'), eq(parameters.codeGenType, 'FullAOT'), eq(parameters.iOSLlvmBuild, 'True'), eq(parameters.iOSStripSymbols, 'True')) }}:
artifactName: 'iOSMonoFullAOTArm64LLVMStripSymbolsBuildLog'
${{ if and(eq(parameters.runtimeType, 'iOSCoreCLR'), eq(parameters.codeGenType, 'Interpreter'), eq(parameters.iOSStripSymbols, 'True')) }}:
artifactName: 'iOSCoreCLRInterpreterArm64StripSymbolsBuildLog'
${{ if and(eq(parameters.runtimeType, 'iOSNativeAOT'), eq(parameters.iOSStripSymbols, 'True')) }}:
artifactName: 'iOSNativeAOTArm64StripSymbolsBuildLog'
checkDownloadedFiles: true
20 changes: 8 additions & 12 deletions eng/pipelines/upload-build-artifacts-jobs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -119,14 +119,10 @@ jobs:
buildType: 'mono_arm64_ios'
dependencyJobName: build_ios_arm64_release_iOSMono
artifacts:
- artifactName: 'iOSSampleAppLLVMNoSymbols'
files: [ 'iOSSampleAppLLVMNoSymbols.zip' ]
- artifactName: 'iOSSampleAppLLVMSymbols'
files: [ 'iOSSampleAppLLVMSymbols.zip' ]
- artifactName: 'iOSSampleAppNoLLVMNoSymbols'
files: [ 'iOSSampleAppNoLLVMNoSymbols.zip' ]
- artifactName: 'iOSSampleAppNoLLVMSymbols'
files: [ 'iOSSampleAppNoLLVMSymbols.zip' ]
- artifactName: 'iOSSampleAppMonoFullAOTLLVMNoSymbols'
files: [ 'iOSSampleAppMonoFullAOTLLVMNoSymbols.zip' ]
- artifactName: 'iOSSampleAppMonoFullAOTNoLLVMNoSymbols'
files: [ 'iOSSampleAppMonoFullAOTNoLLVMNoSymbols.zip' ]

- ${{ if containsValue(parameters.buildType, 'monoBDN_arm64_android') }}:
- template: /eng/pipelines/templates/upload-build-artifacts-job.yml@${{ parameters.performanceRepoAlias }}
Expand All @@ -145,14 +141,14 @@ jobs:
artifacts:
- artifactName: 'iOSSampleAppSymbols'
files: [ 'iOSSampleAppSymbols.zip' ]
- artifactName: 'iOSSampleAppNoSymbols'
files: [ 'iOSSampleAppNoSymbols.zip' ]
- artifactName: 'iOSSampleAppNativeAOTNoSymbols'
files: [ 'iOSSampleAppNativeAOTNoSymbols.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' ]
- artifactName: 'iOSSampleAppCoreCLRInterpreterNoSymbols'
files: [ 'iOSSampleAppCoreCLRInterpreterNoSymbols.zip' ]
Loading