Skip to content

ci: run the Android device tests on standard runners - #5795

Draft
ric-oliv wants to merge 1 commit into
mainfrom
ci/run-android-device-tests-on-standard-runners
Draft

ric-oliv wants to merge 1 commit into
mainfrom
ci/run-android-device-tests-on-standard-runners

Conversation

@ric-oliv

@ric-oliv ric-oliv commented Oct 23, 2026 •

Copy link
Copy Markdown
Member

The four Android emulator jobs run on ubuntu-latest-4-cores, a larger runner, and each of them takes 15 to 23 minutes on a normal run.

#2139 moved them there in March 2023, because back then the 2-core standard Linux runners couldn't run a hardware-accelerated emulator. That has changed:

This PR moves the emulator jobs to ubuntu-latest. The standard runner has less disk, and these jobs also install workloads and build the integration test app next to a 4 GB emulator disk, so each job prints the free space at the start and the end.

Measured on the first run, against the last 10 runs on the larger runner. All four emulator jobs passed on ubuntu-latest, in the default "GitHub Actions" runner group:

ubuntu-latest-4-cores, last 10 runs ubuntu-latest, this PR
Run Tests step 2.3 to 4.4 min 2.5 to 4.5
Run Integration Tests step 5.2 to 15.7 6.1 to 14.9
Device tests 2,921 run, 2,872 passed, 49 ignored the same
Integration cases 12 on net9, 24 on net10 the same, all passed
Wait for a runner up to 14 min in that sample. Over 90 days, 1 in 100 jobs waited 17 min or more 2 to 3 s
Free disk 88 GB at the start, 67 GB at the end, of 145 GB

So the emulator and the tests run just as fast on the standard runner, the jobs start within seconds instead of waiting for a larger runner, and the disk has plenty of room. The docs list 14 GB, but the runner has 145.

This run took 60 minutes, because Setup Environment hit the slow Mono download in 4 of the 6 jobs, taking 11.9 to 20.3 minutes. That's the download #5794 removes, and it hits both runner types.

#skip-changelog

@codecov

codecov Bot commented Oct 23, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 76.12%. Comparing base (b41b96c) to head (a667215).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #5795      +/-   ##
==========================================
- Coverage   76.13%   76.12%   -0.02%     
==========================================
  Files         528      528              
  Lines       19579    19579              
  Branches     3829     3829              
==========================================
- Hits        14906    14904       -2     
- Misses       3791     3792       +1     
- Partials      882      883       +1     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

The emulator jobs ran on the ubuntu-latest-4-cores larger runner. #2139
moved them there in 2023 because the 2-core standard runners couldn't
run a hardware-accelerated emulator. Since April 2024 they can, with the
same KVM udev rule this workflow already sets, and on public
repositories ubuntu-latest now has 4 CPUs and 16 GB of RAM.

The standard runner has less disk, so the jobs print the free space
before and after.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

This branch has not been deployed

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant