Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
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
114 changes: 76 additions & 38 deletions eng/pipelines/extra-platforms/runtime-extra-platforms-android.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,44 +13,82 @@ jobs:
#
# Build the whole product using Mono for Android and run runtime tests with Android devices
#
# Turn off the runtime testing for now, until https://github.com/dotnet/runtime/issues/60128 gets resolved
# don't run tests on PRs until we can get significantly more devices
# - template: /eng/pipelines/common/platform-matrix.yml
# parameters:
# jobTemplate: /eng/pipelines/common/global-build-job.yml
# helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
# buildConfig: Release
# runtimeFlavor: mono
# isExtraPlatformsBuild: ${{ parameters.isExtraPlatformsBuild }}
# isAndroidOnlyBuild: ${{ parameters.isAndroidOnlyBuild }}
# platforms:
# - android_arm64
# variables:
# - ${{ if and(eq(variables['System.TeamProject'], 'public'), eq(variables['Build.Reason'], 'PullRequest')) }}:
# - name: _HelixSource
# value: pr/dotnet/runtime/$(Build.SourceBranch)
# - ${{ if and(eq(variables['System.TeamProject'], 'public'), ne(variables['Build.Reason'], 'PullRequest')) }}:
# - name: _HelixSource
# value: ci/dotnet/runtime/$(Build.SourceBranch)
# - name: timeoutPerTestInMinutes
# value: 60
# - name: timeoutPerTestCollectionInMinutes
# value: 180
# jobParameters:
# testGroup: innerloop
# nameSuffix: AllSubsets_Mono_RuntimeTests
# runtimeVariant: minijit
# buildArgs: -s mono+libs -c $(_BuildConfig)
# timeoutInMinutes: 480
# ${{ if eq(variables['isRollingBuild'], true) }}:
# # extra steps, run tests
# postBuildSteps:
# - template: /eng/pipelines/common/templates/runtimes/build-runtime-tests-and-send-to-helix.yml
# parameters:
# creator: dotnet-bot
# testRunNamePrefixSuffix: Mono_$(_BuildConfig)
# extraVariablesTemplates:
# - template: /eng/pipelines/common/templates/runtimes/test-variables.yml
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
jobTemplate: /eng/pipelines/common/global-build-job.yml
helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
buildConfig: Release
runtimeFlavor: mono
isExtraPlatformsBuild: ${{ parameters.isExtraPlatformsBuild }}
isAndroidOnlyBuild: ${{ parameters.isAndroidOnlyBuild }}
platforms:
- android_arm64
variables:
- ${{ if and(eq(variables['System.TeamProject'], 'public'), eq(variables['Build.Reason'], 'PullRequest')) }}:
- name: _HelixSource
value: pr/dotnet/runtime/$(Build.SourceBranch)
- ${{ if and(eq(variables['System.TeamProject'], 'public'), ne(variables['Build.Reason'], 'PullRequest')) }}:
- name: _HelixSource
value: ci/dotnet/runtime/$(Build.SourceBranch)
- name: timeoutPerTestInMinutes
value: 60
- name: timeoutPerTestCollectionInMinutes
value: 180
jobParameters:
testGroup: innerloop
nameSuffix: AllSubsets_Mono_RuntimeTests
runtimeVariant: minijit
buildArgs: -s mono+libs -c $(_BuildConfig)
timeoutInMinutes: 480
${{ if eq(variables['isRollingBuild'], true) }}:
# extra steps, run tests
postBuildSteps:
- template: /eng/pipelines/common/templates/runtimes/build-runtime-tests-and-send-to-helix.yml
parameters:
creator: dotnet-bot
testRunNamePrefixSuffix: Mono_$(_BuildConfig)
extraVariablesTemplates:
- template: /eng/pipelines/common/templates/runtimes/test-variables.yml

#
# Build the whole product using CoreCLR for Android and run runtime tests with Android devices
Copy link

Copilot AI Jun 11, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nitpick] The CoreCLR and Mono job definitions share many similar parameters. Consider abstracting the common parts into a reusable template to reduce duplication and simplify maintenance.

Copilot uses AI. Check for mistakes.
#
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
jobTemplate: /eng/pipelines/common/global-build-job.yml
helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
buildConfig: Release
runtimeFlavor: coreclr
isExtraPlatformsBuild: ${{ parameters.isExtraPlatformsBuild }}
isAndroidOnlyBuild: ${{ parameters.isAndroidOnlyBuild }}
platforms:
- android_arm64
variables:
- ${{ if and(eq(variables['System.TeamProject'], 'public'), eq(variables['Build.Reason'], 'PullRequest')) }}:
- name: _HelixSource
value: pr/dotnet/runtime/$(Build.SourceBranch)
- ${{ if and(eq(variables['System.TeamProject'], 'public'), ne(variables['Build.Reason'], 'PullRequest')) }}:
- name: _HelixSource
value: ci/dotnet/runtime/$(Build.SourceBranch)
- name: timeoutPerTestInMinutes
value: 60
- name: timeoutPerTestCollectionInMinutes
value: 180
jobParameters:
testGroup: innerloop
nameSuffix: AllSubsets_CoreCLR_RuntimeTests
runtimeVariant: jit
buildArgs: -s clr+libs -c $(_BuildConfig)
timeoutInMinutes: 480
${{ if eq(variables['isRollingBuild'], true) }}:
# extra steps, run tests
postBuildSteps:
- template: /eng/pipelines/common/templates/runtimes/build-runtime-tests-and-send-to-helix.yml
parameters:
creator: dotnet-bot
testRunNamePrefixSuffix: CoreCLR_$(_BuildConfig)
extraVariablesTemplates:
- template: /eng/pipelines/common/templates/runtimes/test-variables.yml

#
# Android devices
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ parameters:

jobs:

#
# Build the whole product using Mono for Android and run runtime tests with Android emulator
#
- template: /eng/pipelines/common/platform-matrix.yml
Expand Down Expand Up @@ -48,6 +49,45 @@ jobs:
extraVariablesTemplates:
- template: /eng/pipelines/common/templates/runtimes/test-variables.yml

#
# Build the whole product using CoreCLR for Android and run runtime tests with Android emulator
#
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
jobTemplate: /eng/pipelines/common/global-build-job.yml
helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
buildConfig: Release
runtimeFlavor: coreclr
isExtraPlatformsBuild: ${{ parameters.isExtraPlatformsBuild }}
isAndroidEmulatorOnlyBuild: ${{ parameters.isAndroidEmulatorOnlyBuild }}
platforms:
- android_x64
variables:
- ${{ if and(eq(variables['System.TeamProject'], 'public'), eq(variables['Build.Reason'], 'PullRequest')) }}:
- name: _HelixSource
value: pr/dotnet/runtime/$(Build.SourceBranch)
- ${{ if and(eq(variables['System.TeamProject'], 'public'), ne(variables['Build.Reason'], 'PullRequest')) }}:
- name: _HelixSource
value: ci/dotnet/runtime/$(Build.SourceBranch)
- name: timeoutPerTestInMinutes
value: 60
- name: timeoutPerTestCollectionInMinutes
value: 180
jobParameters:
testGroup: innerloop
nameSuffix: AllSubsets_CoreCLR_RuntimeTests
runtimeVariant: jit
buildArgs: -s clr+libs -c $(_BuildConfig)
timeoutInMinutes: 240
# extra steps, run tests
postBuildSteps:
- template: /eng/pipelines/common/templates/runtimes/build-runtime-tests-and-send-to-helix.yml
parameters:
creator: dotnet-bot
testRunNamePrefixSuffix: CoreCLR_$(_BuildConfig)
extraVariablesTemplates:
- template: /eng/pipelines/common/templates/runtimes/test-variables.yml

#
# Build the whole product using Mono for Android and run runtime tests with interpreter
#
Expand Down
Loading