[android] Enable CoreCLR runtime pack production for android-arm#127225
[android] Enable CoreCLR runtime pack production for android-arm#127225simonrozsival merged 4 commits intomainfrom
Conversation
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 (#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>
|
Tagging subscribers to this area: @dotnet/runtime-infrastructure |
There was a problem hiding this comment.
Pull request overview
Enables CoreCLR runtime pack production and CI coverage for android-arm (armeabi-v7a) by unblocking the architecture in build subsets and wiring android_arm into the Android CoreCLR pipeline/platform lists and Helix queue selection.
Changes:
- Unblock CoreCLR support for Android
armby adjusting the Android architecture gating ineng/Subsets.props(while keepingx86blocked). - Add
android_armto Android CoreCLR platform matrices in main and extra-platform pipelines. - Add Helix queue mapping for
android_armin the CoreCLR Helix queue setup template.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| eng/Subsets.props | Updates CoreCLR support gating so Android arm32 is allowed (x86 remains blocked). |
| eng/pipelines/runtime.yml | Adds android_arm to the CoreCLR Android CI platform list and updates the header comment. |
| eng/pipelines/extra-platforms/runtime-extra-platforms-android.yml | Adds android_arm to the extra-platforms CoreCLR Android job platforms list. |
| eng/pipelines/coreclr/templates/helix-queues-setup.yml | Adds Helix queue mapping for android_arm (aligned to android_arm64). |
🤖 Copilot Code Review — PR #127225Note This review was AI-generated by Copilot. Models contributing: Claude Opus 4.6 (primary), GPT-5.3-Codex, Claude Haiku 4.5. Holistic AssessmentMotivation: Enabling CoreCLR for android-arm is a reasonable step toward full Android platform support. The PR is well-scoped to CI/build infrastructure changes only. Approach: The changes are mechanical and consistent — unblocking the architecture in Subsets.props and wiring up the CI pipelines/Helix queues. The pattern matches sibling platforms (android_arm64). Summary: Detailed Findings
|
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
There was a problem hiding this comment.
Pull request overview
Enables CoreCLR runtime pack production and CI coverage for android-arm (armeabi-v7a) by unblocking CoreCLR on Android arm32 and adding android_arm to relevant pipeline platform matrices / Helix queue mappings.
Changes:
- Unblocks CoreCLR for Android arm32 by relaxing the architecture restriction in
eng/Subsets.props. - Adds
android_armto CoreCLR Android CI matrices ineng/pipelines/runtime.ymland extra-platforms Android jobs. - Adds
android_armHelix queue mapping in CoreCLR Helix queue setup.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| eng/Subsets.props | Allows CoreCLR builds for Android arm32 (blocks only x86). |
| eng/pipelines/runtime.yml | Adds android_arm to CoreCLR Android device/emulator CI matrix. |
| eng/pipelines/extra-platforms/runtime-extra-platforms-android.yml | Adds android_arm to extra-platforms CoreCLR Android job. |
| eng/pipelines/coreclr/templates/helix-queues-setup.yml | Adds Helix queue mapping for android_arm (mirrors android_arm64). |
|
@simonrozsival I would also test this change in the VMR. That's where the packaging part will happen and you can tell if there are any shennanigans. If you need help, ping me and I can give you a hand. |
|
@steveisok validated here:
|
There was a problem hiding this comment.
Pull request overview
This pull request enables CoreCLR runtime pack production for android-arm (armeabi-v7a) by unblocking CoreCLR support for Android ARM32 in subset selection and expanding CI coverage to include the android_arm platform, including Helix queue mapping.
Changes:
- Unblock CoreCLR support for Android
armby adjusting the_CoreCLRSupportedOSarchitecture gating (while still excludingx86). - Add
android_armto the CoreCLR Android platform lists in the main runtime pipeline and the extra-platforms Android pipeline. - Add a Helix queue mapping for
android_armin the CoreCLR Helix queues setup template, aligned withandroid_arm64.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| eng/Subsets.props | Enables CoreCLR-supported Android builds for arm by loosening the Android architecture restriction (still blocks x86). |
| eng/pipelines/runtime.yml | Adds android_arm to the CoreCLR Android platform matrix to build/test CoreCLR on ARM32 devices. |
| eng/pipelines/extra-platforms/runtime-extra-platforms-android.yml | Adds android_arm to extra-platforms CoreCLR Android jobs for additional CI coverage. |
| eng/pipelines/coreclr/templates/helix-queues-setup.yml | Introduces Helix queue mapping for android_arm mirroring the android_arm64 queue selection. |
Note
This PR was created with the assistance of GitHub Copilot.
Summary
Enable the CoreCLR runtime pack for
android-arm(armeabi-v7a) by removing the ARM architecture restriction and adding CI pipeline support.Changes
eng/Subsets.props— Removearmfrom the blocked Android architectures list (keepx86blocked). The original blocker wasfseeko/ftellonot being available below API level 24 ([Android] fseeko and ftello not supported on arm32 & x86 below API level 24 without disabling _FILE_OFFSET_BITS=64 #111665). With the minimum API level being raised to 24 in Bump Android minimum API level from 21 to 24 #126838, this no longer applies.eng/pipelines/runtime.yml— Addandroid_armto the CoreCLR Android CI platform list.eng/pipelines/extra-platforms/runtime-extra-platforms-android.yml— Addandroid_armto the extra-platforms CoreCLR job.eng/pipelines/coreclr/templates/helix-queues-setup.yml— Addandroid_armHelix queue mapping using the sameWindows.11.Amd64.Androidqueues asandroid_arm64.What already works (no changes needed)
android_armalready defined inplatform-matrix.yml)arm → armeabi-v7amapping)linux-bionic-arminnetcoreappRIDs.propsandKnownFrameworkReference)android_arm)Dependencies
This PR depends on #126838 (raise
AndroidApiLevelMinfrom 21 to 24) and should be merged after it.