Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/action-types.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,5 @@ jobs:
validate-typings:
runs-on: "ubuntu-latest"
steps:
- uses: actions/checkout@v4
- uses: krzema12/github-actions-typing@v0
- uses: actions/checkout@v6
- uses: krzema12/github-actions-typing@v2
12 changes: 6 additions & 6 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ jobs:
api-level: 24
target: playstore
arch: x86
- os: macos-13
- os: macos-15-intel
api-level: 31
target: default
arch: x86_64
Expand All @@ -47,7 +47,7 @@ jobs:

steps:
- name: checkout
uses: actions/checkout@v4
uses: actions/checkout@v6

- name: build, test and lint
run: |
Expand All @@ -56,12 +56,12 @@ jobs:
npm run lint
npm test

- uses: actions/setup-java@v4
- uses: actions/setup-java@v5
with:
distribution: 'zulu'
java-version: 23
java-version: 25

- uses: actions/cache@v4
- uses: actions/cache@v5
id: avd-cache
with:
path: |
Expand All @@ -70,7 +70,7 @@ jobs:
~/.android/debug.keystore
key: avd-${{ matrix.api-level }}-${{ matrix.os }}-${{ matrix.target }}-${{ matrix.arch }}

- uses: gradle/actions/setup-gradle@v4
- uses: gradle/actions/setup-gradle@v5

- name: assemble tests
working-directory: test-fixture
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/manually.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ jobs:

steps:
- name: checkout
uses: actions/checkout@v4
uses: actions/checkout@v6

- name: build, test and lint
run: |
Expand All @@ -50,12 +50,12 @@ jobs:
npm run lint
npm test

- uses: actions/setup-java@v4
- uses: actions/setup-java@v5
with:
distribution: 'zulu'
java-version: 23
java-version: 25

- uses: gradle/actions/setup-gradle@v4
- uses: gradle/actions/setup-gradle@v5

- name: enable KVM for linux runners
if: runner.os == 'Linux'
Expand Down
1 change: 1 addition & 0 deletions .nvmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
24
17 changes: 16 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,22 @@

## Unreleased

No changes yet.
## v2.37.0

* Update SDK build tools to `36.0.0`, update SDK command-line tools to `20.0`. - [#467](https://github.com/ReactiveCircus/android-emulator-runner/pull/467)
* Run action on Node 24. - [#466](https://github.com/ReactiveCircus/android-emulator-runner/pull/466)
* Update Node and npm packages. - [#466](https://github.com/ReactiveCircus/android-emulator-runner/pull/466)

## v2.36.0

* Remove `--abi` option to better support 16-KB-based system images (#456).


## v2.35.0

* Optimize config.ini updates and efficiency improvements report (#436).
* Fix `pre-emulator-launch-script` (#439).
* Allow `google_apis_ps16k` as a valid target (#440).

## v2.34.0

Expand Down
26 changes: 14 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v4
uses: actions/checkout@v6

- name: Enable KVM
run: |
Expand All @@ -76,7 +76,7 @@ jobs:
target: [default, google_apis]
steps:
- name: checkout
uses: actions/checkout@v4
uses: actions/checkout@v6

- name: Enable KVM
run: |
Expand All @@ -90,7 +90,7 @@ jobs:
api-level: ${{ matrix.api-level }}
target: ${{ matrix.target }}
arch: x86_64
profile: Nexus 6
profile: pixel_7_pro
script: ./gradlew connectedCheck
```

Expand All @@ -102,7 +102,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v4
uses: actions/checkout@v6

- name: Enable KVM
run: |
Expand All @@ -127,7 +127,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v4
uses: actions/checkout@v6

- name: Enable KVM
run: |
Expand All @@ -146,8 +146,8 @@ jobs:

We can significantly reduce emulator startup time by setting up AVD snapshot caching:

1. add a `gradle/actions/setup-gradle@v4` step for caching Gradle, more details see [#229](https://github.com/ReactiveCircus/android-emulator-runner/issues/229)
2. add an `actions/cache@v4` step for caching the `avd`
1. add a `gradle/actions/setup-gradle@v5` step for caching Gradle, more details see [#229](https://github.com/ReactiveCircus/android-emulator-runner/issues/229)
2. add an `actions/cache@v5` step for caching the `avd`
3. add a `reactivecircus/android-emulator-runner@v2` step to generate a clean snapshot - specify `emulator-options` without `no-snapshot`
4. add another `reactivecircus/android-emulator-runner@v2` step to run your tests using existing AVD / snapshot - specify `emulator-options` with `no-snapshot-save`

Expand All @@ -160,7 +160,7 @@ jobs:
api-level: [21, 23, 29]
steps:
- name: checkout
uses: actions/checkout@v4
uses: actions/checkout@v6

- name: Enable KVM
run: |
Expand All @@ -169,10 +169,10 @@ jobs:
sudo udevadm trigger --name-match=kvm

- name: Gradle cache
uses: gradle/actions/setup-gradle@v3
uses: gradle/actions/setup-gradle@v5

- name: AVD cache
uses: actions/cache@v4
uses: actions/cache@v5
id: avd-cache
with:
path: |
Expand Down Expand Up @@ -206,9 +206,9 @@ jobs:
|-|-|-|-|
| `api-level` | Required | N/A | API level of the platform and system image - e.g. `23`, `33`, `35-ext15`, `Baklava`. **Minimum API level supported is 15**. |
| `system-image-api-level` | Optional | same as `api-level` | API level of the system image - e.g. `34-ext10`, `35-ext15`. |
| `target` | Optional | `default` | Target of the system image - e.g. `default`, `google_apis`, `google_apis_ps16k`, `google_apis_playstore`, `google_apis_playstore_ps16k`, `android-wear`, `android-wear-cn`, `android-tv`, `google-tv`, `aosp_atd`, `google_atd`, `android-automotive`, `android-automotive-playstore, `android-desktop`. Please run `sdkmanager --list` to see the available targets. |
| `target` | Optional | `default` | Target of the system image - e.g. `default`, `google_apis`, `google_apis_ps16k`, `google_apis_playstore`, `google_apis_playstore_ps16k`, `android-wear`, `android-wear-cn`, `android-tv`, `google-tv`, `aosp_atd`, `google_atd`, `android-automotive`, `android-automotive-playstore`, `android-desktop`. Please run `sdkmanager --list` to see the available targets. |
| `arch` | Optional | `x86` | CPU architecture of the system image - `x86`, `x86_64` or `arm64-v8a`. Note that `x86_64` image is only available for API 21+. `arm64-v8a` images require Android 4.2+ and are limited to fewer API levels (e.g. 30). |
| `profile` | Optional | N/A | Hardware profile used for creating the AVD - e.g. `Nexus 6`. For a list of all profiles available, run `avdmanager list device`. |
| `profile` | Optional | N/A | Hardware profile id used for creating the AVD - e.g. `pixel_7_pro`. For a list of all profiles available, run `avdmanager list device`. |
| `cores` | Optional | 2 | Number of cores to use for the emulator (`hw.cpu.ncore` in config.ini). |
| `ram-size` | Optional | N/A | Size of RAM to use for this AVD, in KB or MB, denoted with K or M. - e.g. `2048M` |
| `heap-size` | Optional | N/A | Heap size to use for this AVD, in KB or MB, denoted with K or M. - e.g. `512M` |
Expand Down Expand Up @@ -270,5 +270,7 @@ These are some of the open-source projects using (or used) **Android Emulator Ru
- [bitfireAT/davx5-ose](https://github.com/bitfireAT/davx5-ose/blob/dev-ose/.github/workflows/test-dev.yml)
- [robolectric/robolectric](https://github.com/robolectric/robolectric/blob/master/.github/workflows/tests.yml)
- [home-assistant/android](https://github.com/home-assistant/android/blob/master/.github/workflows/pr.yml)
- [composablehorizons/compose-unstyled](https://github.com/composablehorizons/compose-unstyled/tree/main/.github/workflows)
- [f3d-app/f3d-android](https://github.com/f3d-app/f3d-android/blob/master/.github/workflows/ci.yml)

If you are using **Android Emulator Runner** and want your project included in the list, please feel free to open a pull request.
2 changes: 1 addition & 1 deletion action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -74,5 +74,5 @@ inputs:
pre-emulator-launch-script:
description: 'custom script to run after creating the AVD and before launching the emulator - e.g. `./adjust-emulator-configs.sh`'
runs:
using: 'node20'
using: 'node24'
main: 'lib/main.js'
3 changes: 1 addition & 2 deletions lib/channel-id-mapper.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getChannelId = void 0;
exports.getChannelId = getChannelId;
function getChannelId(channelName) {
if (channelName === 'stable') {
return 0;
Expand All @@ -18,4 +18,3 @@ function getChannelId(channelName) {
throw new Error(`Unexpected channel name: '${channelName}'.`);
}
}
exports.getChannelId = getChannelId;
Loading
Loading