Skip to content

ci: run the Android emulator jobs on standard runners - #5812

Merged
ric-oliv merged 1 commit into
mainfrom
ci/run-android-emulators-on-standard-runners
Oct 27, 2026
Merged

ric-oliv merged 1 commit into
mainfrom
ci/run-android-emulators-on-standard-runners

Conversation

@ric-oliv

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

Copy link
Copy Markdown
Member

Part 6 of 6 for #5806, based on #5811. The Android emulator jobs run on ubuntu-latest-4-cores, a larger runner. #2139 moved them there in March 2023, because the 2-core standard Linux runners couldn't run a hardware-accelerated emulator then. Since April 2024 they can, with the same KVM udev rule this workflow already sets. On public repositories, ubuntu-latest has 4 CPUs and 16 GB of RAM. So both emulator jobs, the device tests and the integration tests, move to ubuntu-latest.

Measured in #5795, against the last 10 runs on the larger runner:

Larger runner ubuntu-latest
Run Tests step 2.3 to 4.4 min 2.5 to 4.5
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 2 to 3 s
Free disk 88 GB at the start, 67 at the end

On this PR's own CI

3 runs. Android Device Tests took 17.9, 18.4 and 17.5 minutes. The emulator jobs started within 0.1 minutes of being queued. On #5810, with the same jobs still on the larger runner, they waited up to 11.9, 25.6 and 20.5 minutes for one. Run Tests took 2.3 to 3.5 minutes here, against 2.8 to 3.5 there. The whole stack's numbers are in #5806.

Closes #5806

#skip-changelog

@codecov

codecov Bot commented Oct 25, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 76.13%. Comparing base (7c4dc43) to head (395af6d).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #5812   +/-   ##
=======================================
  Coverage   76.13%   76.13%           
=======================================
  Files         528      528           
  Lines       19579    19579           
  Branches     3829     3829           
=======================================
  Hits        14906    14906           
  Misses       3791     3791           
  Partials      882      882           

☔ 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.

@ric-oliv
ric-oliv force-pushed the ci/test-unsupported-aot-in-build-legs branch from 1f30f05 to a807d74 Compare October 25, 2026 16:22
@ric-oliv
ric-oliv force-pushed the ci/run-android-emulators-on-standard-runners branch from a638f15 to 4bfc23a Compare October 25, 2026 16:22
@ric-oliv
ric-oliv marked this pull request as ready for review October 26, 2026 19:05
@github-actions github-actions Bot added the risk: medium PR risk score: medium label Oct 26, 2026
@ric-oliv
ric-oliv force-pushed the ci/run-android-emulators-on-standard-runners branch from 4bfc23a to e180542 Compare October 26, 2026 19:15
@ric-oliv
ric-oliv force-pushed the ci/test-unsupported-aot-in-build-legs branch from a807d74 to 44331a8 Compare October 26, 2026 19:15
Comment on lines +101 to +102
# Standard Linux runners support hardware-accelerated emulators since 2024, with the KVM step below:
# https://github.blog/changelog/2024-04-02-github-actions-hardware-accelerated-android-virtualization-now-available/

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Suggested change
# Standard Linux runners support hardware-accelerated emulators since 2024, with the KVM step below:
# https://github.blog/changelog/2024-04-02-github-actions-hardware-accelerated-android-virtualization-now-available/

Seems like that explanation belongs in the PR description - not the code.

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.

Done!

Comment on lines +180 to +181
# Standard Linux runners support hardware-accelerated emulators since 2024, with the KVM step below:
# https://github.blog/changelog/2024-04-02-github-actions-hardware-accelerated-android-virtualization-now-available/

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Suggested change
# Standard Linux runners support hardware-accelerated emulators since 2024, with the KVM step below:
# https://github.blog/changelog/2024-04-02-github-actions-hardware-accelerated-android-virtualization-now-available/

Same again...

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.

Done!

@jamescrosswell jamescrosswell left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

LGTM

@ric-oliv
ric-oliv force-pushed the ci/test-unsupported-aot-in-build-legs branch from 44331a8 to 0552c5b Compare October 27, 2026 09:30
@ric-oliv
ric-oliv force-pushed the ci/run-android-emulators-on-standard-runners branch from e180542 to 201079d Compare October 27, 2026 09:39
@github-actions github-actions Bot added risk: low PR risk score: low and removed risk: medium PR risk score: medium labels Oct 27, 2026
@ric-oliv
ric-oliv force-pushed the ci/test-unsupported-aot-in-build-legs branch from 0552c5b to cd1480d Compare October 27, 2026 12:23
Base automatically changed from ci/test-unsupported-aot-in-build-legs to main October 27, 2026 12:23
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. Both the
device test and the integration test jobs move.

On the first runs the device tests took 2.5 to 4.5 minutes, against
2.3 to 4.4 on the larger runner, with the same 2,921 tests. The
standard runner listed less disk, but had 88 GB free at the start and
67 at the end.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@ric-oliv
ric-oliv force-pushed the ci/run-android-emulators-on-standard-runners branch from 201079d to 395af6d Compare October 27, 2026 12:24
@ric-oliv
ric-oliv merged commit f90333b into main Oct 27, 2026
25 checks passed
@ric-oliv
ric-oliv deleted the ci/run-android-emulators-on-standard-runners branch October 27, 2026 12:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

risk: low PR risk score: low

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Cut the time pull requests wait for CI from 42 to 24 minutes

3 participants