Skip to content

Move latest open Android queues from 29 to 36#127250

Open
vcsjones wants to merge 3 commits into
dotnet:mainfrom
vcsjones:android-36-tests
Open

Move latest open Android queues from 29 to 36#127250
vcsjones wants to merge 3 commits into
dotnet:mainfrom
vcsjones:android-36-tests

Conversation

@vcsjones
Copy link
Copy Markdown
Member

This bumps our open Android queue from 29 to 36. The motivation for this is to support new cryptography APIs that appeared in API level 33, and we will want test coverage for those APIs.

@vcsjones
Copy link
Copy Markdown
Member Author

/azp run runtime-extra-platforms

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Updates Helix queue configuration to run “latest” Android testing on a newer API level, aligning CI coverage with newer Android platform cryptography APIs.

Changes:

  • Bump Ubuntu-based open Android Helix queues from API 29 to API 36 for libraries pipelines.
  • Update the Android “latest” platform alias in helix-platforms.yml to point at the API 36 queue.
  • Update CoreCLR template to use the API 36 open queue for public Android x64 runs.
Show a summary per file
File Description
eng/pipelines/libraries/helix-queues-setup.yml Switches Ubuntu Android Open queue used by libraries jobs to API 36.
eng/pipelines/helix-platforms.yml Updates helix_android_ubuntu_latest alias and its comment to API 36.
eng/pipelines/coreclr/templates/helix-queues-setup.yml Updates public Android x64 Helix queue to API 36 Open.

Copilot's findings

  • Files reviewed: 3/3 changed files
  • Comments generated: 1

Comment thread eng/pipelines/coreclr/templates/helix-queues-setup.yml
@dotnet-policy-service
Copy link
Copy Markdown
Contributor

Tagging subscribers to 'arch-android': @vitek-karas, @simonrozsival, @steveisok, @akoeplinger
See info in area-owners.md if you want to be subscribed.

@simonrozsival
Copy link
Copy Markdown
Member

/azp run runtime-extra-platforms

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@@ -90,9 +90,9 @@ jobs:
# Use the Ubuntu-based Android queue for x86/x64/bionic_x64 on all projects,
# and also for arm/arm64/bionic_arm/bionic_arm64 on non-public projects (no internal Windows Android queue).
- ${{ if in(parameters.platform, 'android_x86', 'android_x64', 'linux_bionic_x64') }}:
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

It looks like the queue Ubuntu.2204.Amd64.Android.36.Open does not have emulators with android-x86 support so I suggest keeping x86 testing on the original queue.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

@simonrozsival I think I addressed this?

Copilot AI review requested due to automatic review settings May 7, 2026 16:56
@vcsjones
Copy link
Copy Markdown
Member Author

vcsjones commented May 7, 2026

/azp run runtime-extra-platforms

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Copilot's findings

  • Files reviewed: 3/3 changed files
  • Comments generated: 0 new

@akoeplinger
Copy link
Copy Markdown
Member

I think this will put some strain on Helix. The .29 queue can service both x86/x64 so we only need to spin up half of the VMs to service the same load. If you only want to temporarily test the new APIs I'd suggest opening a WIP PR which targets the new queue.

There is some idea of running the Android emulator in Docker so we can move away from the "single-queue-per-API-level" design but it's not there yet.

@vcsjones
Copy link
Copy Markdown
Member Author

@akoeplinger what about adding it as an additional outerloop queue that doesn't run on PRs but only scheduled runs? I am not thrilled with checking in a bunch of cryptographic code that won't get validated periodically.

@akoeplinger
Copy link
Copy Markdown
Member

akoeplinger commented May 21, 2026

yeah. we could also move Android x86 instead since afaik it won't be supported with coreclr anyway, correct @simonrozsival?

@vcsjones
Copy link
Copy Markdown
Member Author

we could also move Android x86 instead

According to @simonrozsival

Ubuntu.2204.Amd64.Android.36.Open does not have emulators with android-x86

@simonrozsival
Copy link
Copy Markdown
Member

@akoeplinger @vcsjones yes, coreclr will run only on x64, arm64, and armeabi-v7a

@simonrozsival
Copy link
Copy Markdown
Member

@vcsjones I need to double check tomorrow, but I think the devices on the Windows.11.Amd64.Android.Open queue have (mostly) API 36.

@vcsjones
Copy link
Copy Markdown
Member Author

I could also go as low as API Level 33, if 33, 34, or 35 has better availability.

@akoeplinger
Copy link
Copy Markdown
Member

akoeplinger commented May 21, 2026

I think the last API level where Google published x86 images was 30.

it's not really about availability, those queues are backed by Azure scalesets so they'll spin up VMs as needed but it means if we send 200 workitems to two queues we'll need to spin up VMs on each (i.e. roughly double) versus handling the load on one queue a bit slower.

I think if x86 Android is not going to be supported in basically a few months from now I'd just move that to scheduled runs and take what you have here.

@vitek-karas
Copy link
Copy Markdown
Member

Windows.11.Amd64.Android.Open is device queue - it has physical host machines with physical devices - so it does not scale at will. But it should have enough capacity (it has ~200 devices in it).
That said, it won't run x86 (at least I don't think it will) since it has almost exclusively Pixel phones (so arm64).

Currently the devices we have in that queue (and their API level)

Model API Levels Count
Pixel 3a 29, 30, 32 45
Pixel 4a 30, 33 66
Pixel 6 32, 36 9
Pixel 6a 36 9
Pixel 9a 36 122
SM S931U1 36 2

And yes, I know it's a mess, I'm working on cleaning it up.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

5 participants