Skip to content

Revisit the need for individual queues for each supported Android API level #5074

@ivanpovazan

Description

@ivanpovazan

Description

.NET 9 supports Android API levels ranging from 21 as the minimum version to 34.

To properly verify the full support we have to periodically run tests on every API level, as described in: dotnet/runtime#107868 and a PR for example: dotnet/runtime#111858
For this purpose we have 14 queues:

  • Ubuntu.2204.Amd64.Android.21.Open
  • Ubuntu.2204.Amd64.Android.22.Open
  • Ubuntu.2204.Amd64.Android.23.Open
  • Ubuntu.2204.Amd64.Android.24.Open
  • Ubuntu.2204.Amd64.Android.25.Open
  • Ubuntu.2204.Amd64.Android.26.Open
  • Ubuntu.2204.Amd64.Android.27.Open
  • Ubuntu.2204.Amd64.Android.28.Open
  • Ubuntu.2204.Amd64.Android.29.Open
  • Ubuntu.2204.Amd64.Android.30.Open
  • Ubuntu.2204.Amd64.Android.31.Open
  • Ubuntu.2204.Amd64.Android.32.Open
  • Ubuntu.2204.Amd64.Android.33.Open
  • Ubuntu.2204.Amd64.Android.34.Open

While on daily basis, we run all our testing on API level 29 using:

  • Ubuntu.2204.Amd64.Android.29.Open

Proposal

It seems redundant to have all the queue available especially since we run tests on all supported API versions only a few times a year. Additionally, by reducing the number of queues we would improve maintenance and cost.

One idea would be to:

  • Remove all queues Ubuntu.2204.Amd64.Android.*.Open except Ubuntu.2204.Amd64.Android.29.Open
  • Preserve Ubuntu.2204.Amd64.Android.29.Open as is.
  • Introduce new queue Ubuntu.2204.Amd64.Android.AllVersions.Open which will instead have different emulator images installed for every supported API level, and will be used only for our periodical/manual runs
  • Adapt our infrastructure to utilize this change
    • NOTE: This is TBD for now

Metadata

Metadata

Assignees

Labels

Ops - Service MaintenanceUsed to track issues related to maintaining the services .NET Eng Supports

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions