From f8cc23fc91b71db22ac148fd78927f46a0c36b7b Mon Sep 17 00:00:00 2001 From: Simon Rozsival Date: Tue, 21 Apr 2026 16:18:14 +0200 Subject: [PATCH] [android] Enable CoreCLR runtime pack production for android-arm Unblock the CoreCLR build for android-arm (armeabi-v7a) by removing the arm architecture restriction in eng/Subsets.props. The restriction was originally due to fseeko/ftello not being available below Android API level 24 (dotnet/runtime#111665). With the minimum API level being raised to 24, this blocker no longer applies. Add android_arm to the CoreCLR CI pipeline platform lists in runtime.yml and runtime-extra-platforms-android.yml, and add the corresponding Helix queue mapping for CoreCLR android-arm tests. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- eng/Subsets.props | 4 ++-- eng/pipelines/coreclr/templates/helix-queues-setup.yml | 7 +++++++ .../extra-platforms/runtime-extra-platforms-android.yml | 1 + eng/pipelines/runtime.yml | 3 ++- 4 files changed, 12 insertions(+), 3 deletions(-) diff --git a/eng/Subsets.props b/eng/Subsets.props index ba8bc03906a1cb..954ddcdc44fd8c 100644 --- a/eng/Subsets.props +++ b/eng/Subsets.props @@ -29,8 +29,8 @@ <_CoreCLRSupportedOS Condition="'$(TargetsMobile)' != 'true' and '$(TargetsLinuxBionic)' != 'true'">true - - <_CoreCLRSupportedOS Condition="'$(TargetsAndroid)' == 'true' and '$(TargetArchitecture)' != 'arm' and '$(TargetArchitecture)' != 'x86'">true + + <_CoreCLRSupportedOS Condition="'$(TargetsAndroid)' == 'true' and '$(TargetArchitecture)' != 'x86'">true <_CoreCLRSupportedOS Condition="'$(TargetsBrowser)' == 'true'">true <_CoreCLRSupportedOS Condition="'$(TargetsAppleMobile)' == 'true'">true diff --git a/eng/pipelines/coreclr/templates/helix-queues-setup.yml b/eng/pipelines/coreclr/templates/helix-queues-setup.yml index 85ab4859a020ef..b3fbe7057a7a88 100644 --- a/eng/pipelines/coreclr/templates/helix-queues-setup.yml +++ b/eng/pipelines/coreclr/templates/helix-queues-setup.yml @@ -46,6 +46,13 @@ jobs: - ${{ if eq(variables['System.TeamProject'], 'internal') }}: - OSX.15.Amd64 + # Android arm + - ${{ if in(parameters.platform, 'android_arm') }}: + - ${{ if eq(variables['System.TeamProject'], 'public') }}: + - Windows.11.Amd64.Android.Open + - ${{ if eq(variables['System.TeamProject'], 'internal') }}: + - Windows.11.Amd64.Android + # Android arm64 - ${{ if in(parameters.platform, 'android_arm64') }}: - ${{ if eq(variables['System.TeamProject'], 'public') }}: diff --git a/eng/pipelines/extra-platforms/runtime-extra-platforms-android.yml b/eng/pipelines/extra-platforms/runtime-extra-platforms-android.yml index 39c3a88c58993d..de253ff460f7a0 100644 --- a/eng/pipelines/extra-platforms/runtime-extra-platforms-android.yml +++ b/eng/pipelines/extra-platforms/runtime-extra-platforms-android.yml @@ -95,6 +95,7 @@ jobs: buildConfig: Release runtimeFlavor: coreclr platforms: + - android_arm - android_arm64 variables: # map dependencies variables to local variables diff --git a/eng/pipelines/runtime.yml b/eng/pipelines/runtime.yml index 461e9b3611295c..073459293df336 100644 --- a/eng/pipelines/runtime.yml +++ b/eng/pipelines/runtime.yml @@ -1099,7 +1099,7 @@ extends: eq(variables['isRollingBuild'], true)) # - # Android arm64 devices and x64 emulators + # Android arm/arm64 devices and x64 emulators # Build the whole product using CoreCLR and run functional tests # - template: /eng/pipelines/common/platform-matrix.yml @@ -1109,6 +1109,7 @@ extends: buildConfig: Release runtimeFlavor: coreclr platforms: + - android_arm - android_x64 - android_arm64 variables: