As the CI contact on the Android workgroup, I thought I'd lay out where we are at with bringing up Android on the official CI and where we are going, so that anyone interested knows the plan and can pitch in.
Currently, we have a linux CI job that builds the Swift compiler and cross-compiles the Android SDK bundle, running most of the compiler validation suite on each of the three architectures we ship: AArch64, x86_64, and 32-bit armv7 (this is one of only two public OSS Swift CI that runs most of the Swift compiler validation suite for a 32-bit arch). The Windows trunk snapshot toolchain CI also spends a significant amount of time cross-compiling and running most of the compiler validation suite for the Android SDKs on every run, in addition to its native Windows SDKs (this is the other CI that runs the 32-bit compiler validation suite, for Android armv7 and i686).
I say "most of" because the 5-7% of tests that must be run as executables on the cross-compilation target platform from the compiler validation suite obviously cannot be run directly on linux or Windows and must be run in the Android emulator, but the official Swift CI runners don't seem to support nested virtualization to run the Android emulator well, as we've found before that running in full emulation for native code is way too slow. I have a request out to the CI team to see if any of the runners already have nested virt or if it can be enabled. We will run the remaining 5-7% of "executable" tests once that is set up.
The official CI is running well for the trunk 6.4 branch and the 6.3 release branch, generating the Android SDK snapshots you can download and use. I have been running the full "executable" compiler validation suite and the corelibs tests natively on my Android phone in the Termux app for the last 7 years on a monthly basis, by building the full Swift toolchain natively on Android, which shows less than 1% of tests failing or disabled. Once the Android emulator can be run, we plan to get those remaining executable and corelibs tests running on the official Android CI too.
Another step is to get mandatory pull request testing- must be run, but doesn't have to pass yet- going on the compiler and other relevant repos, as eg swift-testing and swift-foundation have set up to cross-compile their non-test code with the latest Android SDK snapshots.
We are looking for volunteer contributors to help with any of this, whether keeping the Android CI green or bringing more of this testing online, similar to the great work @gabriele has been doing to get Swift debugging working with the Android SDK and target runtime. This would be a good way to learn how Swift tests its latest commits on the official CI, which would be useful for any other toolchain work you do going forward, or to learn more about how Swift works on Android.
Please DM me or the @android-workgroup if you are interested, looking forward to getting much more of the Swift test suite set up for Android.