From bdb6282538d5a1f91c59b12f81f637fb30477338 Mon Sep 17 00:00:00 2001 From: Milos Kotlar Date: Fri, 28 Nov 2025 14:55:42 +0100 Subject: [PATCH] [clr-ios] Add support for CoreCLR R2R scenarios --- .../runtime-ios-scenarios-perf-jobs.yml | 24 ++++++++++++++++++- eng/pipelines/templates/runtime-perf-job.yml | 7 ++++++ eng/pipelines/upload-build-artifacts-jobs.yml | 2 ++ 3 files changed, 32 insertions(+), 1 deletion(-) diff --git a/eng/pipelines/runtime-ios-scenarios-perf-jobs.yml b/eng/pipelines/runtime-ios-scenarios-perf-jobs.yml index 1f3ad26eb3b..2d6fc5740ce 100644 --- a/eng/pipelines/runtime-ios-scenarios-perf-jobs.yml +++ b/eng/pipelines/runtime-ios-scenarios-perf-jobs.yml @@ -78,7 +78,7 @@ jobs: ${{ each parameter in parameters.jobParameters }}: ${{ parameter.key }}: ${{ parameter.value }} - # run iOS scenarios - CoreCLR + # run iOS scenarios - CoreCLR Interpreter - template: /eng/pipelines/common/platform-matrix.yml@${{ parameters.runtimeRepoAlias }} parameters: jobTemplate: /eng/pipelines/templates/runtime-perf-job.yml@${{ parameters.performanceRepoAlias }} @@ -99,3 +99,25 @@ jobs: performanceRepoAlias: ${{ parameters.performanceRepoAlias }} ${{ each parameter in parameters.jobParameters }}: ${{ parameter.key }}: ${{ parameter.value }} + + # run iOS scenarios - CoreCLR R2R + - 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: R2R + projectFile: $(Build.SourcesDirectory)/eng/testing/performance/ios_scenarios.proj + runKind: ios_scenarios + isScenario: true + logicalMachine: 'perfiphone12mini' + iOSStripSymbols: True + additionalJobIdentifier: iOSStripSymbols + runtimeRepoAlias: ${{ parameters.runtimeRepoAlias }} + performanceRepoAlias: ${{ parameters.performanceRepoAlias }} + ${{ each parameter in parameters.jobParameters }}: + ${{ parameter.key }}: ${{ parameter.value }} diff --git a/eng/pipelines/templates/runtime-perf-job.yml b/eng/pipelines/templates/runtime-perf-job.yml index 8f4179b9d2f..090703acb68 100644 --- a/eng/pipelines/templates/runtime-perf-job.yml +++ b/eng/pipelines/templates/runtime-perf-job.yml @@ -195,6 +195,9 @@ jobs: ${{ if and(eq(parameters.runtimeType, 'iOSCoreCLR'), eq(parameters.codeGenType, 'Interpreter'), eq(parameters.iOSStripSymbols, 'True')) }}: artifactName: 'iOSSampleAppCoreCLRInterpreterNoSymbols' artifactFileName: 'iOSSampleAppCoreCLRInterpreterNoSymbols.zip' + ${{ if and(eq(parameters.runtimeType, 'iOSCoreCLR'), eq(parameters.codeGenType, 'R2R'), eq(parameters.iOSStripSymbols, 'True')) }}: + artifactName: 'iOSSampleAppCoreCLRR2RNoSymbols' + artifactFileName: 'iOSSampleAppCoreCLRR2RNoSymbols.zip' ${{ if and(eq(parameters.runtimeType, 'iOSNativeAOT'), eq(parameters.iOSStripSymbols, 'True')) }}: artifactName: 'iOSSampleAppNativeAOTNoSymbols' artifactFileName: 'iOSSampleAppNativeAOTNoSymbols.zip' @@ -212,6 +215,8 @@ jobs: artifactName: 'iOSSampleAppMonoFullAOTLLVMNoSymbols' ${{ if and(eq(parameters.runtimeType, 'iOSCoreCLR'), eq(parameters.codeGenType, 'Interpreter'), eq(parameters.iOSStripSymbols, 'True')) }}: artifactName: 'iOSSampleAppCoreCLRInterpreterNoSymbols' + ${{ if and(eq(parameters.runtimeType, 'iOSCoreCLR'), eq(parameters.codeGenType, 'R2R'), eq(parameters.iOSStripSymbols, 'True')) }}: + artifactName: 'iOSSampleAppCoreCLRR2RNoSymbols' ${{ if and(eq(parameters.runtimeType, 'iOSNativeAOT'), eq(parameters.iOSStripSymbols, 'True')) }}: artifactName: 'iOSSampleAppNativeAOTNoSymbols' checkDownloadedFiles: true @@ -227,6 +232,8 @@ jobs: artifactName: 'iOSMonoFullAOTArm64LLVMStripSymbolsBuildLog' ${{ if and(eq(parameters.runtimeType, 'iOSCoreCLR'), eq(parameters.codeGenType, 'Interpreter'), eq(parameters.iOSStripSymbols, 'True')) }}: artifactName: 'iOSCoreCLRInterpreterArm64StripSymbolsBuildLog' + ${{ if and(eq(parameters.runtimeType, 'iOSCoreCLR'), eq(parameters.codeGenType, 'R2R'), eq(parameters.iOSStripSymbols, 'True')) }}: + artifactName: 'iOSCoreCLRR2RArm64StripSymbolsBuildLog' ${{ if and(eq(parameters.runtimeType, 'iOSNativeAOT'), eq(parameters.iOSStripSymbols, 'True')) }}: artifactName: 'iOSNativeAOTArm64StripSymbolsBuildLog' checkDownloadedFiles: true \ No newline at end of file diff --git a/eng/pipelines/upload-build-artifacts-jobs.yml b/eng/pipelines/upload-build-artifacts-jobs.yml index 136f9f56570..67c47605787 100644 --- a/eng/pipelines/upload-build-artifacts-jobs.yml +++ b/eng/pipelines/upload-build-artifacts-jobs.yml @@ -150,3 +150,5 @@ jobs: artifacts: - artifactName: 'iOSSampleAppCoreCLRInterpreterNoSymbols' files: [ 'iOSSampleAppCoreCLRInterpreterNoSymbols.zip' ] + - artifactName: 'iOSSampleAppCoreCLRR2RNoSymbols' + files: [ 'iOSSampleAppCoreCLRR2RNoSymbols.zip' ] \ No newline at end of file