dotnet / runtime

.NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
https://docs.microsoft.com/dotnet/core/
MIT License
15.42k stars 4.75k forks source link

[android][infra] Validate .NET 10 Android functionality across different API versions #107868

Open matouskozak opened 2 months ago

matouskozak commented 2 months ago

Why

Android versions come with broad range of different API versions. Currently, most of our testing uses only API 29 (e.g. Android emulators Ubuntu.2204.Amd64.Android.29.Open). However, in .NET 10, we support API levels 21 and higher. We should periodically test functionality on different API versions.

How

There is a prepared set of emulator queues with different API versions with naming: ubuntu.2204.amd64.android.<API> (where <API> goes from 21 to 32, if needed ask dnceng to include other API levels). To validate the functionality, we can open a PR which sends Android emulator jobs to all these different queues. An example of past PR used to validate different API versions https://github.com/dotnet/runtime/pull/106951, https://github.com/dotnet/runtime/pull/64341. Finally, we must verify the results from all queues to make sure the functionality is correct across supported API levels.

What

This verification makes the most sense to be done on the pre-release branch of dotnet/runtime. Optionally, we can also verify servicing branches if we await any issues. Throughout the release cycle, this validation should be performed periodically to prevent unexpected issues caused by un-tested API levels.

This verification should be performed periodically throughout the Preview and RC release cycle, an example of verification schedule:

dotnet-policy-service[bot] commented 2 months ago

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

dotnet-policy-service[bot] commented 2 months ago

Tagging subscribers to this area: @directhex, @matouskozak See info in area-owners.md if you want to be subscribed.