-
-
Notifications
You must be signed in to change notification settings - Fork 236
Update Readme & Provide current context on Hardware Acceleration on Github #279
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update Readme & Provide current context on Hardware Acceleration on Github #279
Conversation
ychescale9
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks! Just 1 comment on Ubuntu support.
README.md
Outdated
| </p> | ||
|
|
||
| A GitHub Action for installing, configuring and running hardware-accelerated Android Emulators on macOS virtual machines. | ||
| A GitHub Action for installing, configuring and running Android Emulators on macOS and Ubuntu virtual machines. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it's still important to distinguish between macOs and Ubuntu support. Being able to run in swiftshader_indirect mode is still way faster than -accel off. When people read this without any caveat they would expect running the action on linux VMs to be feasible, which is far from the reality.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Addressed in commit: e860dce
README.md
Outdated
| The **macOS** VM provided by **GitHub Actions** has **HAXM** installed so we are able to create a new AVD instance, launch an emulator with hardware acceleration, and run our Android | ||
| tests directly on the VM. You can also achieve this on a self-hosted Linux runner, but it will need to be on a compatible instance that allows you to enable KVM - for example AWS EC2 Bare Metal instances. | ||
| The **macOS** 10.x VM provided by **GitHub Actions** had **HAXM** [pre-installed](https://github.com/actions/runner-images/blob/main/images/macos/macos-10.15-Readme.md) so we were able to create a new AVD instance, launch an emulator with hardware acceleration and run our Android | ||
| tests directly on the VM. However, Github's [macOS-11](https://github.com/actions/runner-images/blob/main/images/macos/macos-11-Readme.md) and [macOS-12](https://github.com/actions/runner-images/blob/main/images/macos/macos-12-Readme.md) VMs **no longer** come pre-installed with HAXM. See [here](https://github.com/actions/runner-images/issues/183#issuecomment-610723516) and [here](https://github.com/actions/runner-images/issues/6388) for more info. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reading this and checking the links - I find myself asking, "So, how do I install HAXM then, and do I need to?" We should either point at how to do that (if possible), or explain why we don't need it (if that's so).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@mattjohnsonpint Good call. Will add this
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added in commit: e860dce
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm even more confused now, as the gist shows scripting the emulator directly instead of using the react-android-emulator action.
FWIW, I'm not installing HAXM, and for the most part, react-android-emulator is working.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@mattjohnsonpint Oh whoops, good call! I accidentally linked the wrong gist (same thing but without android-emulator-runner) Thank you!
fixed in 592f866
|
Sorry, but I'm still quite confused about what's actually being said here. According to https://developer.android.com/studio/run/emulator-acceleration, the flag I tried installing haxm and then setting the flag to ... and then the AVD fails to boot. So if we can't use hardware acceleration, why are you recommending we install haxm? |
|
Looking closer at the existing readme, on the first line:
If we have to use software acceleration with Don't get me wrong - I'd still much rather use this action than to script all the emulator commands myself, but does it actually support hardware-accelerated emulators? |
|
Oh, wait a sec. I think I was confused between the GPU acceleration mode and the VM acceleration mode. Am I understanding correctly then, that the GPU mode must stay software accelerated with |
|
@mattjohnsonpint Yes, my understanding is that you can choose between CPU vs GPU for Graphics Acceleration, and this is different from VM Acceleration. You can utilize VM-Acceleration if there is Hypervisor + enabled IVT(Intel Virtualization Technology (VT, VT-x, vmx) extensions), and if the emulator is not inside another VM -- which means VM-Acceleration is usually not possible on Ubuntu agents scaled with something like VMSphere. So, if we have From what I can tell, for some reason One question I need to test is using SKIA rendering. I'm not sure if SKIA completely replaces host/swiftshader_indirect for screen rendering, or if it can be used with both of them. My assumption is that SKIA will be an option to use instead of I also wish there was a way for me to more easily communicate with the Google Emulator team to clear this up, so if anyone has suggestions on that please let me know. I will add more clarity to the readme regarding this. |
README.md
Outdated
| A GitHub Action for installing, configuring and running hardware-accelerated Android Emulators on macOS virtual machines. | ||
|
|
||
| The old ARM-based emulators were slow and are no longer supported by Google. The modern Intel Atom (x86 and x86_64) emulators require hardware acceleration (HAXM on Mac & Windows, QEMU on Linux) from the host to run fast. This presents a challenge on CI as to be able to run hardware accelerated emulators within a docker container, **KVM** must be supported by the host VM which isn't the case for cloud-based CI providers due to infrastructural limits. If you want to learn more about this, here's an article I wrote: [Running Android Instrumented Tests on CI](https://dev.to/ychescale9/running-android-emulators-on-ci-from-bitrise-io-to-github-actions-3j76). | ||
| The old ARM-based emulators were slow and are no longer supported by Google. The modern Intel Atom (x86 and x86_64) emulators can be fast, but rely on two forms of hardware acceleration to reach their peak potential: [Graphics Acceleration](https://developer.android.com/studio/run/emulator-acceleration#accel-graphics), e.g. `emulator -accel on` and [Virtual Machine(VM) Acceleration](https://developer.android.com/studio/run/emulator-acceleration#accel-vm), e.g. `emulator -gpu host`. Note: GPU and VM Acceleration are two different and non-mutually exclusive forms of Hardware Acceleration. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the examples given are reversed?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@mattjohnsonpint Thank you so much for catching this!! I really appreciate it. Addressed in 8f64fa8
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great now. Thanks!
|
Note: This PR also helps address #270 |
|
See also: intel/haxm#403 for info on installing HAXM |
|
One of the jobs failed due to an emulator timeout on boot. Since I couldn't rerun the tests I tried to add a method in which contributors could comment "run tests" on a PR to re-run the Ideally the comment would run the workflow against the latest commit of the PR, and update the failed checks. Even better would be a method to rerun all failed or cancelled jobs, instead of running all of them -- but I do not believe that is currently supported. (I put in a discussion post here) to request that, or see if it is possible. |
…n ReactiveCircus (#1) I created this branch by running git checkout -b copy-of-v2 upstream/release/v2. This is to get most recent release-ready version from the other repo, ReactiveCircus/android-emulator-runner. Since our original copy of the branch, the android-emulator-runner has added support for running emulators on Ubuntu to the extent that it is now more efficient than running on MacOs. $ git log main...copy-of-v2 commit 5302c0e Author: John Doe [katie@managexr.com](mailto:katie@managexr.com) Date: Wed Oct 8 12:02:45 2025 -0700 ``` Fix emulator port issue by removing explicit port assignment - Remove default port from action.yml to avoid forcing port 5554 - Allow emulator to auto-assign port instead of explicit -port parameter - Keep default port for ADB commands but don't force emulator port ``` commit 1dcd009 Merge: 62dbb60 2548f9f Author: Yang [ychescale9@gmail.com](mailto:ychescale9@gmail.com) Date: Sat Mar 29 01:51:10 2025 +1100 ``` Merge branch 'main' into release/v2 * main: Prepare for release 2.34.0. Update README.md and CHANGELOG.md. Support API levels for SDK extensions and add missing targets for automotive and desktop. (ReactiveCircus#428) Add `Baklava` support (ReactiveCircus#424) ``` commit 2548f9f Author: Yang [ychescale9@gmail.com](mailto:ychescale9@gmail.com) Date: Sat Mar 29 01:48:44 2025 +1100 ``` Prepare for release 2.34.0. ``` commit 595a456 Author: Yang [ychescale9@gmail.com](mailto:ychescale9@gmail.com) Date: Sat Mar 29 01:33:05 2025 +1100 ``` Update README.md and CHANGELOG.md. ``` commit a173d65 Author: Timothy [6560631+TimoPtr@users.noreply.github.com](mailto:6560631+TimoPtr@users.noreply.github.com) Date: Fri Mar 28 15:04:02 2025 +0100 ``` Support API levels for SDK extensions and add missing targets for automotive and desktop. (ReactiveCircus#428) ``` commit 50d5b10 Author: LoveSy [shana@zju.edu.cn](mailto:shana@zju.edu.cn) Date: Fri Jan 24 19:46:33 2025 +0800 ``` Add `Baklava` support (ReactiveCircus#424) * Add `Baklava` support * Fix typo of `ubuntu-latest` to fix CI ``` commit 62dbb60 Merge: f0d1ed2 c77bfe7 Author: Yang [ychescale9@gmail.com](mailto:ychescale9@gmail.com) Date: Sat Oct 12 17:43:32 2024 +1100 ``` Merge branch 'main' into release/v2 * main: Prepare for release 2.33.0. Fix avd path on ubuntu-24.04 - attempt 2 (ReactiveCircus#415) Revert creating avd directory. (ReactiveCircus#414) Fix SDK path issues with ubuntu-24.04 (ReactiveCircus#409) SDK build tools 35.0.0, command-line tools 16.0. (ReactiveCircus#408) Avoid changing the owner of unnecessary files (ReactiveCircus#406) Update npm packages. (ReactiveCircus#401) ``` commit c77bfe7 Author: Yang [ychescale9@gmail.com](mailto:ychescale9@gmail.com) Date: Sat Oct 12 17:42:24 2024 +1100 ``` Prepare for release 2.33.0. ``` commit ead704c Author: Yang [reactivecircus@gmail.com](mailto:reactivecircus@gmail.com) Date: Sat Oct 12 17:26:36 2024 +1100 ``` Fix avd path on ubuntu-24.04 - attempt 2 (ReactiveCircus#415) ``` commit e800fff Author: Yang [reactivecircus@gmail.com](mailto:reactivecircus@gmail.com) Date: Fri Oct 11 13:55:44 2024 +1100 ``` Revert creating avd directory. (ReactiveCircus#414) ``` commit 8c07710 Author: Yang [reactivecircus@gmail.com](mailto:reactivecircus@gmail.com) Date: Fri Oct 11 11:55:47 2024 +1100 ``` Fix SDK path issues with ubuntu-24.04 (ReactiveCircus#409) ``` commit 3a18f50 Author: Yang [reactivecircus@gmail.com](mailto:reactivecircus@gmail.com) Date: Mon Oct 7 00:50:35 2024 +1100 ``` SDK build tools 35.0.0, command-line tools 16.0. (ReactiveCircus#408) ``` commit 1b985f4 Author: Justin Brooks [justin@jzbrooks.com](mailto:justin@jzbrooks.com) Date: Fri Oct 4 22:53:35 2024 -0400 ``` Avoid changing the owner of unnecessary files (ReactiveCircus#406) * Avoid changing the owner of unnecessary files Source files shouldn't matter for the purposes of this tool. % ls -R $ANDROID_HOME/sources/android-34 | wc -l 17750 * Remove non-existant directory * Avoid another unnecessary chown * Push js ``` commit a3dcdb3 Author: Yang [ychescale9@gmail.com](mailto:ychescale9@gmail.com) Date: Tue Jul 9 16:23:18 2024 +1000 ``` Update npm packages. (ReactiveCircus#401) ``` commit f0d1ed2 Merge: 77986be 81f860b Author: Yang [ychescale9@gmail.com](mailto:ychescale9@gmail.com) Date: Tue Jul 9 12:55:08 2024 +1000 ``` Merge branch 'main' into release/v2 * main: Prepare for release 2.32.0. Add missing compiled js files from ReactiveCircus#383. Support customizing emulator port (ReactiveCircus#383) ``` commit 81f860b Author: Yang [ychescale9@gmail.com](mailto:ychescale9@gmail.com) Date: Tue Jul 9 12:53:57 2024 +1000 ``` Prepare for release 2.32.0. ``` commit e93b947 Author: Yang [ychescale9@gmail.com](mailto:ychescale9@gmail.com) Date: Tue Jul 9 12:51:00 2024 +1000 ``` Add missing compiled js files from ReactiveCircus#383. ``` commit 4b0628e Author: Kamil Bąk [34217757+KamilKurde@users.noreply.github.com](mailto:34217757+KamilKurde@users.noreply.github.com) Date: Tue Jul 2 14:42:44 2024 +0200 ``` Support customizing emulator port (ReactiveCircus#383) * Add port parameter * Fix a typo in test description * Fix avd not being started with correct port * Fix wrong port being used to kill an emulator if there was an exception ``` commit 77986be Merge: 6b0df4b ca77a10 Author: Yang [ychescale9@gmail.com](mailto:ychescale9@gmail.com) Date: Sat May 25 00:02:03 2024 +1000 ``` Merge branch 'main' into release/v2 * main: Prepare for release 2.31.0. Install platforms for the specified api level (ReactiveCircus#384) Add api level `VanillaIceCream` support (ReactiveCircus#378) Bump Gradle wrapper validation from v1 to v2 to use Node 20 (ReactiveCircus#374) Migrate to Node 20 on CI via GitHub Actions major upgrades (ReactiveCircus#372) ``` commit ca77a10 Author: Yang [ychescale9@gmail.com](mailto:ychescale9@gmail.com) Date: Sat May 25 00:00:37 2024 +1000 ``` Prepare for release 2.31.0. ``` commit 1fef06a Author: Josh Lesch [joshrlesch@users.noreply.github.com](mailto:joshrlesch@users.noreply.github.com) Date: Wed Mar 27 17:40:07 2024 -0500 ``` Install platforms for the specified api level (ReactiveCircus#384) * Install platforms for the specified api level * Fix typo ``` commit d8da5b6 Author: LoveSy [shana@zju.edu.cn](mailto:shana@zju.edu.cn) Date: Sun Feb 18 07:14:24 2024 +0800 ``` Add api level `VanillaIceCream` support (ReactiveCircus#378) ``` commit a0c0e72 Author: Róbert Papp [papp.robert.s@gmail.com](mailto:papp.robert.s@gmail.com) Date: Mon Jan 29 21:34:22 2024 +0000 ``` Bump Gradle wrapper validation from v1 to v2 to use Node 20 (ReactiveCircus#374) ``` commit 9d5d623 Author: Róbert Papp [papp.robert.s@gmail.com](mailto:papp.robert.s@gmail.com) Date: Sat Jan 27 12:11:47 2024 +0000 ``` Migrate to Node 20 on CI via GitHub Actions major upgrades (ReactiveCircus#372) * Update first party actions to Node 20 majors. * Update Gradle cache actions to Node 20 majors. ``` commit 6b0df4b Merge: eaf4c24 bc2cd2a Author: Yang [ychescale9@gmail.com](mailto:ychescale9@gmail.com) Date: Fri Jan 26 23:28:10 2024 +1100 ``` Merge branch 'main' into release/v2 * main: Prepare for release 2.30.1. Run the action on Node 20 (ReactiveCircus#371) ``` commit bc2cd2a Author: Yang [ychescale9@gmail.com](mailto:ychescale9@gmail.com) Date: Fri Jan 26 23:26:22 2024 +1100 ``` Prepare for release 2.30.1. ``` commit 61a61f9 Author: Róbert Papp [papp.robert.s@gmail.com](mailto:papp.robert.s@gmail.com) Date: Fri Jan 26 12:24:19 2024 +0000 ``` Run the action on Node 20 (ReactiveCircus#371) ``` commit eaf4c24 Merge: 99a4aac 426fbd2 Author: Yang [ychescale9@gmail.com](mailto:ychescale9@gmail.com) Date: Thu Jan 25 23:16:47 2024 +1100 ``` Merge branch 'main' into release/v2 * main: Prepare for release 2.30.0. Node 20. (ReactiveCircus#369) Add another user: robolectric/robolectric (ReactiveCircus#352) Promote using ubuntu runner with KVM. (ReactiveCircus#366) ``` commit 426fbd2 Author: Yang [ychescale9@gmail.com](mailto:ychescale9@gmail.com) Date: Thu Jan 25 23:14:27 2024 +1100 ``` Prepare for release 2.30.0. ``` commit e1bd48c Author: Yang [ychescale9@gmail.com](mailto:ychescale9@gmail.com) Date: Thu Jan 25 23:10:17 2024 +1100 ``` Node 20. (ReactiveCircus#369) ``` commit 1e33853 Author: utzcoz [43091780+utzcoz@users.noreply.github.com](mailto:43091780+utzcoz@users.noreply.github.com) Date: Sat Jan 20 13:43:05 2024 +0800 ``` Add another user: robolectric/robolectric (ReactiveCircus#352) Signed-off-by: utzcoz <utzcoz@outlook.com> ``` commit c479bb6 Author: Yang [ychescale9@gmail.com](mailto:ychescale9@gmail.com) Date: Fri Jan 19 17:38:35 2024 +1100 ``` Promote using ubuntu runner with KVM. (ReactiveCircus#366) ``` commit 99a4aac Merge: d94c3fb 677db68 Author: Yang [ychescale9@gmail.com](mailto:ychescale9@gmail.com) Date: Wed Dec 6 18:33:29 2023 +1100 ``` Merge branch 'main' into release/v2 * main: Prepare for release 2.29.0. SDK command-line tools 11.0. (ReactiveCircus#356) Update npm packages. (ReactiveCircus#355) Check in updated `*.js` file. Update test fixture dependencies. (ReactiveCircus#354) Upgrade to latest npm dependencies (ReactiveCircus#347) Fixed emulator download URL (ReactiveCircus#343) Update README.md (Who is using…) (ReactiveCircus#335) ``` commit 677db68 Author: Yang [ychescale9@gmail.com](mailto:ychescale9@gmail.com) Date: Wed Dec 6 18:32:27 2023 +1100 ``` Prepare for release 2.29.0. ``` commit f9c2835 Author: Yang [ychescale9@gmail.com](mailto:ychescale9@gmail.com) Date: Wed Dec 6 18:25:39 2023 +1100 ``` SDK command-line tools 11.0. (ReactiveCircus#356) * SDK command-line tools 11.0. * Temporarily disable API 16 test. ``` commit 1036f55 Author: Yang [ychescale9@gmail.com](mailto:ychescale9@gmail.com) Date: Wed Dec 6 12:46:32 2023 +1100 ``` Update npm packages. (ReactiveCircus#355) ``` commit 5a481d2 Author: Yang [ychescale9@gmail.com](mailto:ychescale9@gmail.com) Date: Wed Dec 6 11:38:49 2023 +1100 ``` Check in updated `*.js` file. ``` commit f72f505 Author: Yang [ychescale9@gmail.com](mailto:ychescale9@gmail.com) Date: Wed Dec 6 11:37:21 2023 +1100 ``` Update test fixture dependencies. (ReactiveCircus#354) ``` commit fabc291 Author: Michael Bailey [1195562+yogurtearl@users.noreply.github.com](mailto:1195562+yogurtearl@users.noreply.github.com) Date: Thu Aug 24 02:31:32 2023 -0700 ``` Upgrade to latest npm dependencies (ReactiveCircus#347) ``` commit 2cfd145 Author: olegdolgikh [127970383+olegdolgikh@users.noreply.github.com](mailto:127970383+olegdolgikh@users.noreply.github.com) Date: Tue Jul 4 13:39:36 2023 +0200 ``` Fixed emulator download URL (ReactiveCircus#343) Previous code worked in a wrong way. 1. Getting the first char of a build number is mistake because now numbers start with 1, but whole number higher than the number which starts from 7. 2. URL was incorrect for arm mac machines. It needed to add `aarch64` suffix ``` commit 5e93562 Author: Ethan Graham [116118556+ethanxr@users.noreply.github.com](mailto:116118556+ethanxr@users.noreply.github.com) Date: Sat Apr 29 00:09:33 2023 -0700 ``` Stop chatty test output ``` commit e1bdfef Author: Ricki Hirner [hirner@bitfire.at](mailto:hirner@bitfire.at) Date: Tue Apr 25 10:33:07 2023 +0200 ``` Update README.md (Who is using…) (ReactiveCircus#335) Add davx5-ose to Who is using… ``` commit d94c3fb Merge: 50986b1 b35b1c6 Author: Yang [ychescale9@gmail.com](mailto:ychescale9@gmail.com) Date: Sat Mar 18 19:50:25 2023 +1100 ``` Merge branch 'main' into release/v2 * main: Prepare for release 2.28.0. Cleanup action description. Update `test-fixture` dependencies and workflows (ReactiveCircus#332) SDK command-line tools 9.0. (ReactiveCircus#331) Add emulator-boot-timeout parameter (ReactiveCircus#326) Update dependency androidx.appcompat:appcompat to v1.6.1 (ReactiveCircus#322) Add renovate.json (ReactiveCircus#320) Support non-integer API level (ReactiveCircus#317) Replace deprecated `ANDROID_SDK_ROOT` with `ANDROID_HOME`. Update npm packages. Include ACRA in list of users (ReactiveCircus#295) Update readme with new info on hypervisors (ReactiveCircus#292) SDK command-line tools 8.0. (ReactiveCircus#291) ``` commit b35b1c6 Author: Yang [ychescale9@gmail.com](mailto:ychescale9@gmail.com) Date: Sat Mar 18 19:49:07 2023 +1100 ``` Prepare for release 2.28.0. ``` commit acd15a6 Author: Yang [ychescale9@gmail.com](mailto:ychescale9@gmail.com) Date: Sat Mar 18 19:39:55 2023 +1100 ``` Cleanup action description. ``` commit a2c97ef Author: Yang [ychescale9@gmail.com](mailto:ychescale9@gmail.com) Date: Sat Mar 18 19:38:37 2023 +1100 ``` Update `test-fixture` dependencies and workflows (ReactiveCircus#332) * Gradle 8.0.2 for test-fixture. Update Gradle build cache in workflows. * Update all dependencies for `test-fixture`. * Add missing JVM target. ``` commit 8c71f5e Author: Yang [ychescale9@gmail.com](mailto:ychescale9@gmail.com) Date: Sat Mar 18 18:58:54 2023 +1100 ``` SDK command-line tools 9.0. (ReactiveCircus#331) ``` commit 743ec40 Author: Dmitry Koplyarov [koplyarov.da@gmail.com](mailto:koplyarov.da@gmail.com) Date: Thu Mar 9 00:44:31 2023 +0000 ``` Add emulator-boot-timeout parameter (ReactiveCircus#326) * Add emulator-boot-timeout parameter * Update action-types.yml ``` commit bad4154 Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: Sat Feb 18 11:34:02 2023 +1100 ``` Update dependency androidx.appcompat:appcompat to v1.6.1 (ReactiveCircus#322) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> ``` commit bdaf049 Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: Sat Feb 18 11:30:28 2023 +1100 ``` Add renovate.json (ReactiveCircus#320) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> ``` commit 8e947e5 Author: LoveSy [631499712@qq.com](mailto:631499712@qq.com) Date: Thu Feb 9 20:07:08 2023 +0800 ``` Support non-integer API level (ReactiveCircus#317) * Support non-integer API level * update lib * Add test * No need to install platforms. Mostly application will use different SDK platform. * Update lib ``` commit 50986b1 Merge: d7b53dd 87e9722 Author: Yang [ychescale9@gmail.com](mailto:ychescale9@gmail.com) Date: Fri Oct 28 18:30:49 2022 +1100 ``` Merge branch 'main' into release/v2 * main: Prepare for release 2.27.0. Clean up action description. Update dependencies (ReactiveCircus#282) Update Readme & Provide current context on Hardware Acceleration on Github (ReactiveCircus#279) Pre Emulator Launch Script (ReactiveCircus#247) Update to Node 16 (ReactiveCircus#276) ``` commit d7b53dd Merge: b390b0e 6fd58f9 Author: Yang [ychescale9@gmail.com](mailto:ychescale9@gmail.com) Date: Tue Sep 20 15:35:23 2022 +1000 ``` Merge branch 'main' into release/v2 * main: Prepare for release 2.26.0. Bump @actions/core from 1.6.0 to 1.9.1 (ReactiveCircus#262) Add action types (ReactiveCircus#257) Update documentation (ReactiveCircus#255) ``` commit b390b0e Merge: e790971 402c25e Author: Yang [reactivecircus@gmail.com](mailto:reactivecircus@gmail.com) Date: Tue Jul 12 18:48:20 2022 +1000 ``` Merge branch 'main' into release/v2 * main: Prepare for release 2.25.0. Check in missing compiled js file. Auto detect hardware acceleration on Linux (ReactiveCircus#254) Build tools 33.0.0. Update test fixture dependencies. Update Kotlin and AGP in test-fixture. SDK command-line tools 7.0. ``` commit e790971 Merge: 76c2bf6 f30ff06 Author: Yang [reactivecircus@gmail.com](mailto:reactivecircus@gmail.com) Date: Sat Apr 30 23:35:35 2022 +1000 ``` Merge branch 'main' into release/v2 * main: Prepare for release 2.24.0. Add option to specify AVD heap size (ReactiveCircus#245) Gradle 7.4.2. Bump GH actions (ReactiveCircus#240) Bump minimist from 1.2.5 to 1.2.6 (ReactiveCircus#237) Update dependencies in test-fixture. Add more .gitignore rules (ReactiveCircus#231) Update README for using with gradle/gradle-build-action (ReactiveCircus#230) ``` commit 76c2bf6 Merge: 48744f2 08a23a6 Author: Yang [reactivecircus@gmail.com](mailto:reactivecircus@gmail.com) Date: Fri Feb 18 01:49:20 2022 +1100 ``` Merge branch 'main' into release/v2 * main: Prepare for release 2.23.0. Add missing generated .js files. Add GHA commands to group logs (ReactiveCircus#224) wikimedia have likely renamed master -> main (ReactiveCircus#221) Allow increasing main storage size (sdcard is separate storage) (ReactiveCircus#219) Update to SDK command-line tools 6.0. (ReactiveCircus#213) Update build tools to 32.0.0. Update text-fixture compileSdkVersion and targetSdkVersion to 32. (ReactiveCircus#212) ``` commit 48744f2 Merge: 2b2ebf2 5b2310f Author: Yang [reactivecircus@gmail.com](mailto:reactivecircus@gmail.com) Date: Sat Dec 25 02:27:59 2021 +1100 ``` Merge branch 'main' into release/v2 * main: Prepare for release 2.22.0. Update the README and fix some typos (ReactiveCircus#199) Add support for enabling hardware keyboard. Update README.md `avdmanager list device` Update NPM packages. Migrate to gradle-build-action. Update packages. ``` commit 2b2ebf2 Merge: f71c6d1 d203cdc Author: Yang [reactivecircus@gmail.com](mailto:reactivecircus@gmail.com) Date: Sat Oct 23 19:52:26 2021 +1100 ``` Merge branch 'main' into release/v2 * main: Prepare for release 2.21.0. Update packages. Support aosp_atd and google_atd targets. Added SORMAS to the list of projects Bump tmpl from 1.0.4 to 1.0.5 Update NPM packages. Add tinylog to project list Add paths-ignore for pull_request. Fix typo. ``` commit f71c6d1 Merge: 5de26e4 511d462 Author: Yang [reactivecircus@gmail.com](mailto:reactivecircus@gmail.com) Date: Sat Aug 28 20:04:58 2021 +1000 ``` Merge branch 'main' into release/v2 * main: Prepare for release 2.20.0. Update manual workflow. Support choosing channel to download SDK components from. build-tools to 31.0.0; SDK cmd-line tools to 5.0. (ReactiveCircus#174) Fix macos-11 VM label. Realm JavaScript is using Android Emulator Runner (ReactiveCircus#182) Add MobileRT to the list of projects (ReactiveCircus#181) Support non-mobile targets (Wear OS, TV) (ReactiveCircus#180) Bump path-parse from 1.0.6 to 1.0.7 ``` commit 5de26e4 Merge: ac874f3 5e487db Author: Yang [reactivecircus@gmail.com](mailto:reactivecircus@gmail.com) Date: Tue Jul 20 23:53:04 2021 +1000 ``` Merge branch 'main' into release/v2 * main: Prepare for release 2.19.1. Accept all Android SDK Licenses Adds Norris to the list of projects ``` commit ac874f3 Merge: 6e775ef 0c3db9c Author: Yang [reactivecircus@gmail.com](mailto:reactivecircus@gmail.com) Date: Sat Jun 26 23:49:47 2021 +1000 ``` Merge branch 'main' into release/v2 * main: Prepare for release 2.19.0. Add option to set AVD RAM size. ``` commit 6e775ef Merge: 97449e9 8a43334 Author: Yang [reactivecircus@gmail.com](mailto:reactivecircus@gmail.com) Date: Sat Jun 26 01:23:30 2021 +1000 ``` Merge branch 'main' into release/v2 * main: Prepare for release 2.18.1. Unzip specific emulator build into latest emulator build from sdkmanager. Support using modern build id for emulator-build. ``` commit 97449e9 Merge: 226f262 fe99eb1 Author: Yang [reactivecircus@gmail.com](mailto:reactivecircus@gmail.com) Date: Sun Jun 20 15:28:07 2021 +1000 ``` Merge branch 'main' into release/v2 * main: Prepare for release 2.18.0. Add sample workflow for AVD snapshot caching. Add `force-avd-creation` to Configurations table in README.md. Add force-avd-creation to skip avd creation if avd with same name exists. Update workflow to test snapshot caching. Add accompanist to adoption list Gradle 7.1. Bump glob-parent from 5.1.1 to 5.1.2 Bump ws from 7.3.1 to 7.4.6 ``` commit 226f262 Merge: 599839e 4342116 Author: Yang [reactivecircus@gmail.com](mailto:reactivecircus@gmail.com) Date: Fri May 28 17:13:49 2021 +1000 ``` Merge branch 'main' into release/v2 * main: Prepare for release 2.17.0. Update test fixture dependencies. Add option to toggle Linux hardware acceleration Bump hosted-git-info from 2.8.8 to 2.8.9 Bump lodash from 4.17.19 to 4.17.21 ``` commit 599839e Merge: d279995 751bef6 Author: Yang [reactivecircus@gmail.com](mailto:reactivecircus@gmail.com) Date: Fri May 7 18:32:02 2021 +1000 ``` Merge branch 'main' into release/v2 * main: Prepare for release 2.16.0. Add support for arm64-v8a for Apple Silicon Macs Add option to disable spellcheck Bump y18n from 4.0.0 to 4.0.1 Update README.md Add google/android-fhir to the list of projects that use android-emulator-runner (ReactiveCircus#132) Add Wikipedia app to list of projects. Add kiwix-android to the list of projects Avoid Wrapping Script Code In Quotes ``` commit d279995 Merge: 08b092e 838986e Author: Yang [reactivecircus@gmail.com](mailto:reactivecircus@gmail.com) Date: Fri Mar 5 10:41:47 2021 +1100 ``` Merge branch 'main' into release/v2 * main: Prepare for release 2.15.0. Change default cores to 2, add cores in workflow Add option to modify the number of cores ``` commit 08b092e Merge: 94bd1ed 91b2b2f Author: Yang [reactivecircus@gmail.com](mailto:reactivecircus@gmail.com) Date: Wed Jan 13 19:29:01 2021 +1100 ``` Merge branch 'main' into release/v2 * main: Prepare for release 2.14.3. Always add path for cmdline-tools to support macos-11.0. Gradle 6.8. Add Hash Checker app projects to consumers list Add LeakCanary to adopter list ``` commit 94bd1ed Merge: 70e3f6e c3e261e Author: Yang [reactivecircus@gmail.com](mailto:reactivecircus@gmail.com) Date: Tue Jan 5 18:29:16 2021 +1100 ``` Merge branch 'main' into release/v2 * main: Prepare for release 2.14.2. Support non-default API 28 images ``` commit 70e3f6e Merge: 02cf805 0d8602f Author: Yang [reactivecircus@gmail.com](mailto:reactivecircus@gmail.com) Date: Mon Dec 28 14:00:37 2020 +1100 ``` Merge branch 'main' into release/v2 * main: Prepare for release 2.14.1. Fix AVD creation hang when profile is not specified. ``` commit 02cf805 Merge: e08f702 045b7d8 Author: Yang [reactivecircus@gmail.com](mailto:reactivecircus@gmail.com) Date: Sun Dec 27 20:48:59 2020 +1100 ``` Merge branch 'main' into release/v2 * main: Prepare for release 2.14.0. Support specifying SD card path or size. Update npm packages. Replace usages of deprecated ANDROID_HOME with ANDROID_ROOT_SDK. Bump build tools to 30.0.3. Update test-fixture dependencies. Update Compose Samples URL ``` commit e08f702 Merge: 07b0366 11559ab Author: Yang [reactivecircus@gmail.com](mailto:reactivecircus@gmail.com) Date: Sat Nov 14 19:05:52 2020 +1100 ``` Merge branch 'main' into release/v2 * main: Prepare for release 2.13.0. Update cmdline-tools to 3.0. Update npm packages. Add Shopify/android-testify to list of projects ``` commit 07b0366 Merge: c56210b 15da0b2 Author: Yang [reactivecircus@gmail.com](mailto:reactivecircus@gmail.com) Date: Fri Oct 16 14:48:14 2020 +1100 ``` Merge branch 'main' into release/v2 * main: Prepare for release 2.12.0. Add support for using google_apis_playstore system images. Fix README.md typo ``` commit c56210b Merge: 4a8a9af 04a32d7 Author: Yang [reactivecircus@gmail.com](mailto:reactivecircus@gmail.com) Date: Thu Oct 8 12:44:58 2020 +1100 ``` Merge branch 'main' into release/v2 * main: Prepare for release 2.11.1. Update npm packages. Bump @actions/core from 1.2.4 to 1.2.6 Update to gradle 6.7-rc-1 for test fixture. Build with Java 15 on CI. Improve GitHub Actions Gradle cache. Add square/radiography to adopter list Add cashapp/copper to adapter list SDK Build tools 30.0.2. Update fixture dependencies. Gradle 6.6. Update README.md Update packages. Build tools 30.0.1. Use fs for writing licence files. Update cmdline-tools to 2.1. ``` commit 4a8a9af Merge: b62c970 a72b5eb Author: Yang [ychescale9@gmail.com](mailto:ychescale9@gmail.com) Date: Sat Jun 20 19:53:32 2020 +1000 ``` Merge branch 'main' into release/v2 * main: Prepare for release 2.11.0. Support running multiple actions sequentially in a single job. Add RxBinding to adopter list. Rename master branch to main. ``` commit b62c970 Merge: e93c997 9ef7536 Author: Yang [ychescale9@gmail.com](mailto:ychescale9@gmail.com) Date: Fri Jun 12 19:51:10 2020 +1000 ``` Merge branch 'master' into release/v2 * master: Prepare for release 2.10.0. Support API 30 system images and add API 30 to workflow. Update build tools to 30.0.0. Update test projec’s compileSdk and targetSdk to API 30. ``` commit e93c997 Merge: 4f4106d fc17953 Author: Yang [ychescale9@gmail.com](mailto:ychescale9@gmail.com) Date: Fri May 29 23:10:58 2020 +1000 ``` Merge branch 'master' into release/v2 * master: Prepare for release 2.9.0. Update test fixture dependencies. SDK Command-line Tools 2.0. Add information on running on Linux to README.md. Fix doc. Mention ci-matters repo in adopters list ``` commit 4f4106d Merge: 2f678a7 4df9257 Author: Yang [ychescale9@gmail.com](mailto:ychescale9@gmail.com) Date: Fri May 1 20:18:58 2020 +1000 ``` Merge branch 'master' into release/v2 * master: Prepare for release 2.8.0. Add support for specifying a custom name used for creating AVD. Fix typo Add list of projects using android-emulator-runner. Bump kotlin and AGP for test fixture project. ``` commit 2f678a7 Merge: e4eb880 33176ea Author: Yang [ychescale9@gmail.com](mailto:ychescale9@gmail.com) Date: Sat Apr 11 21:52:57 2020 +1000 ``` Merge branch 'master' into release/v2 * master: Prepare for release 2.7.0. Security audit. Support specifying versions of NDK and CMake to install. ``` commit e4eb880 Merge: a3b0e6d 61dd774 Author: Yang Chen [ychescale9@gmail.com](mailto:ychescale9@gmail.com) Date: Fri Apr 3 00:13:02 2020 +1100 ``` Merge branch 'master' into release/v2 * master: Prepare for release 2.6.2. Add gradle caching. Use correct cli-tools binary for mac. Remove API 28 from workflow. ``` commit a3b0e6d Author: Yang Chen [ychescale9@gmail.com](mailto:ychescale9@gmail.com) Date: Wed Apr 1 00:56:37 2020 +1100 ``` Update node_modules. ``` commit 0159db6 Merge: 769ff28 22965df Author: Yang Chen [ychescale9@gmail.com](mailto:ychescale9@gmail.com) Date: Wed Apr 1 00:54:08 2020 +1100 ``` Merge branch 'master' into release/v2 * master: Prepare for release 2.6.1. Fix sdk license issue with API 28+ system images on Linux. ``` commit 769ff28 Merge: 6bb3965 0d96655 Author: Yang Chen [ychescale9@gmail.com](mailto:ychescale9@gmail.com) Date: Sat Mar 28 15:00:56 2020 +1100 ``` Merge branch 'master' into release/v2 * master: Prepare for release 2.6.0. Update packages. Add information re. hardware acceleration for linux support. Support running on linux without hardware accleration. Gradle 6.3. Gradle 6.3-rc-4. Update workflow to use Java 14. Update npm packages. Bump acorn from 5.7.3 to 5.7.4 ``` commit 6bb3965 Merge: 2754675 da846ad Author: Yang Chen [ychescale9@gmail.com](mailto:ychescale9@gmail.com) Date: Thu Mar 5 14:55:36 2020 +1100 ``` Merge branch 'master' into release/v2 * master: Prepare for release 2.5.0. Add support for API 15-19 system images. Use new cmdline-tools with support for running sdkmanager and avdmanager with Java 8+. Update test-fixture dependencies. Drop minSdkVersion to 15. Update to AGP 3.6.0 and Gradle 6.2.1 for test-fixture project. ``` commit 2754675 Merge: bdf1f83 aaa1121 Author: Yang Chen [ychescale9@gmail.com](mailto:ychescale9@gmail.com) Date: Sat Feb 15 18:52:13 2020 +1100 ``` Merge branch 'master' into release/v2 * master: Prepare for release 2.4.0. Add support for setting a custom working-directory. Fix typo ``` commit bdf1f83 Merge: 5dd12aa d3a226f Author: Yang Chen [ychescale9@gmail.com](mailto:ychescale9@gmail.com) Date: Tue Feb 4 12:28:52 2020 +1100 ``` Merge branch 'master' into release/v2 * master: Prepare for release 2.3.2. Fix escaped environment variables in script. ``` commit 5dd12aa Merge: d27f7ec e53c6d9 Author: Yang Chen [ychescale9@gmail.com](mailto:ychescale9@gmail.com) Date: Fri Jan 31 11:47:56 2020 +1100 ``` Merge branch 'master' into release/v2 * master: Prepare for release 2.3.1. Update Gradle to 6.1.1 for test-fixture. Build tools 29.0.3. Validate Gradle Wrapper. ``` commit d27f7ec Merge: 3f52989 1162b6c Author: Yang Chen [ychescale9@gmail.com](mailto:ychescale9@gmail.com) Date: Mon Jan 20 03:57:13 2020 +1100 ``` Merge branch 'master' into release/v2 * master: Prepare for release 2.3.0. Force use Java 8 for sdkmanager and avdmanager. Update checkout action to v2. ``` commit 3f52989 Merge: da41ec9 86385e0 Author: Yang Chen [ychescale9@gmail.com](mailto:ychescale9@gmail.com) Date: Sun Dec 15 04:32:53 2019 +1100 ``` Merge branch 'master' into release/v2 * master: Prepare for release 2.2.0. Stop pinning emulator build in workflow. Add support for pinning specific emulator build. Explicitly set GPU mode to swiftshader_indirect. Fix script execution order. Run test fixture in workflow. ``` commit da41ec9 Merge: f079aca 269b6dc Author: Yang Chen [ychescale9@gmail.com](mailto:ychescale9@gmail.com) Date: Sat Dec 14 00:36:51 2019 +1100 ``` Merge branch 'master' into release/v2 * master: Prepare for release 2.1.0. Support multi-line script. Skip workflow for markdown file changes. Reference Article ``` commit f079aca Author: Yang Chen [ychescale9@gmail.com](mailto:ychescale9@gmail.com) Date: Sat Dec 7 18:09:02 2019 +1100 ``` Release v2. ```
The current readme felt a bit disingenuous & outdated given the current situation with Github's Hosted Runners.
This PR is a general update & rephrasing of the README to provide more clarity, and is an attempt to give a more accurate representation of the state of the action.
See: actions/runner-images#6388 , actions/runner-images#183 (comment)