Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
89 commits
Select commit Hold shift + click to select a range
f079aca
Release v2.
ychescale9 Dec 7, 2019
da41ec9
Merge branch 'master' into release/v2
ychescale9 Dec 13, 2019
3f52989
Merge branch 'master' into release/v2
ychescale9 Dec 14, 2019
d27f7ec
Merge branch 'master' into release/v2
ychescale9 Jan 19, 2020
5dd12aa
Merge branch 'master' into release/v2
ychescale9 Jan 31, 2020
bdf1f83
Merge branch 'master' into release/v2
ychescale9 Feb 4, 2020
2754675
Merge branch 'master' into release/v2
ychescale9 Feb 15, 2020
6bb3965
Merge branch 'master' into release/v2
ychescale9 Mar 5, 2020
769ff28
Merge branch 'master' into release/v2
ychescale9 Mar 28, 2020
0159db6
Merge branch 'master' into release/v2
ychescale9 Mar 31, 2020
a3b0e6d
Update node_modules.
ychescale9 Mar 31, 2020
e4eb880
Merge branch 'master' into release/v2
ychescale9 Apr 2, 2020
2f678a7
Merge branch 'master' into release/v2
ychescale9 Apr 11, 2020
4f4106d
Merge branch 'master' into release/v2
ychescale9 May 1, 2020
e93c997
Merge branch 'master' into release/v2
ychescale9 May 29, 2020
b62c970
Merge branch 'master' into release/v2
ychescale9 Jun 12, 2020
4a8a9af
Merge branch 'main' into release/v2
ychescale9 Jun 20, 2020
c56210b
Merge branch 'main' into release/v2
ychescale9 Oct 8, 2020
07b0366
Merge branch 'main' into release/v2
ychescale9 Oct 16, 2020
e08f702
Merge branch 'main' into release/v2
ychescale9 Nov 14, 2020
02cf805
Merge branch 'main' into release/v2
ychescale9 Dec 27, 2020
70e3f6e
Merge branch 'main' into release/v2
ychescale9 Dec 28, 2020
94bd1ed
Merge branch 'main' into release/v2
ychescale9 Jan 5, 2021
08b092e
Merge branch 'main' into release/v2
ychescale9 Jan 13, 2021
d279995
Merge branch 'main' into release/v2
ychescale9 Mar 4, 2021
599839e
Merge branch 'main' into release/v2
ychescale9 May 7, 2021
226f262
Merge branch 'main' into release/v2
ychescale9 May 28, 2021
97449e9
Merge branch 'main' into release/v2
ychescale9 Jun 20, 2021
6e775ef
Merge branch 'main' into release/v2
ychescale9 Jun 25, 2021
ac874f3
Merge branch 'main' into release/v2
ychescale9 Jun 26, 2021
5de26e4
Merge branch 'main' into release/v2
ychescale9 Jul 20, 2021
f71c6d1
Merge branch 'main' into release/v2
ychescale9 Aug 28, 2021
2b2ebf2
Merge branch 'main' into release/v2
ychescale9 Oct 23, 2021
48744f2
Merge branch 'main' into release/v2
ychescale9 Dec 24, 2021
76c2bf6
Merge branch 'main' into release/v2
ychescale9 Feb 17, 2022
e790971
Merge branch 'main' into release/v2
ychescale9 Apr 30, 2022
b390b0e
Merge branch 'main' into release/v2
ychescale9 Jul 12, 2022
d7b53dd
Merge branch 'main' into release/v2
ychescale9 Sep 20, 2022
50986b1
Merge branch 'main' into release/v2
ychescale9 Oct 28, 2022
8e947e5
Support non-integer API level (#317)
yujincheng08 Feb 9, 2023
bdaf049
Add renovate.json (#320)
renovate[bot] Feb 18, 2023
bad4154
Update dependency androidx.appcompat:appcompat to v1.6.1 (#322)
renovate[bot] Feb 18, 2023
743ec40
Add emulator-boot-timeout parameter (#326)
koplyarov Mar 9, 2023
8c71f5e
SDK command-line tools 9.0. (#331)
ychescale9 Mar 18, 2023
a2c97ef
Update `test-fixture` dependencies and workflows (#332)
ychescale9 Mar 18, 2023
acd15a6
Cleanup action description.
ychescale9 Mar 18, 2023
b35b1c6
Prepare for release 2.28.0.
ychescale9 Mar 18, 2023
d94c3fb
Merge branch 'main' into release/v2
ychescale9 Mar 18, 2023
e1bdfef
Update README.md (Who is using…) (#335)
rfc2822 Apr 25, 2023
2cfd145
Fixed emulator download URL (#343)
olegdolgikh Jul 4, 2023
fabc291
Upgrade to latest npm dependencies (#347)
yogurtearl Aug 24, 2023
f72f505
Update test fixture dependencies. (#354)
ychescale9 Dec 6, 2023
5a481d2
Check in updated `*.js` file.
ychescale9 Dec 6, 2023
1036f55
Update npm packages. (#355)
ychescale9 Dec 6, 2023
f9c2835
SDK command-line tools 11.0. (#356)
ychescale9 Dec 6, 2023
677db68
Prepare for release 2.29.0.
ychescale9 Dec 6, 2023
99a4aac
Merge branch 'main' into release/v2
ychescale9 Dec 6, 2023
c479bb6
Promote using ubuntu runner with KVM. (#366)
ychescale9 Jan 19, 2024
1e33853
Add another user: robolectric/robolectric (#352)
utzcoz Jan 20, 2024
e1bd48c
Node 20. (#369)
ychescale9 Jan 25, 2024
426fbd2
Prepare for release 2.30.0.
ychescale9 Jan 25, 2024
eaf4c24
Merge branch 'main' into release/v2
ychescale9 Jan 25, 2024
61a61f9
Run the action on Node 20 (#371)
TWiStErRob Jan 26, 2024
bc2cd2a
Prepare for release 2.30.1.
ychescale9 Jan 26, 2024
6b0df4b
Merge branch 'main' into release/v2
ychescale9 Jan 26, 2024
9d5d623
Migrate to Node 20 on CI via GitHub Actions major upgrades (#372)
TWiStErRob Jan 27, 2024
a0c0e72
Bump Gradle wrapper validation from v1 to v2 to use Node 20 (#374)
TWiStErRob Jan 29, 2024
d8da5b6
Add api level `VanillaIceCream` support (#378)
yujincheng08 Feb 17, 2024
1fef06a
Install platforms for the specified api level (#384)
joshrlesch Mar 27, 2024
ca77a10
Prepare for release 2.31.0.
ychescale9 May 24, 2024
77986be
Merge branch 'main' into release/v2
ychescale9 May 24, 2024
4b0628e
Support customizing emulator port (#383)
KamilKurde Jul 2, 2024
e93b947
Add missing compiled js files from #383.
ychescale9 Jul 9, 2024
81f860b
Prepare for release 2.32.0.
ychescale9 Jul 9, 2024
f0d1ed2
Merge branch 'main' into release/v2
ychescale9 Jul 9, 2024
a3dcdb3
Update npm packages. (#401)
ychescale9 Jul 9, 2024
1b985f4
Avoid changing the owner of unnecessary files (#406)
jzbrooks Oct 5, 2024
3a18f50
SDK build tools 35.0.0, command-line tools 16.0. (#408)
ychescale9 Oct 6, 2024
8c07710
Fix SDK path issues with ubuntu-24.04 (#409)
ychescale9 Oct 11, 2024
e800fff
Revert creating avd directory. (#414)
ychescale9 Oct 11, 2024
ead704c
Fix avd path on ubuntu-24.04 - attempt 2 (#415)
ychescale9 Oct 12, 2024
c77bfe7
Prepare for release 2.33.0.
ychescale9 Oct 12, 2024
62dbb60
Merge branch 'main' into release/v2
ychescale9 Oct 12, 2024
50d5b10
Add `Baklava` support (#424)
yujincheng08 Jan 24, 2025
a173d65
Support API levels for SDK extensions and add missing targets for aut…
TimoPtr Mar 28, 2025
595a456
Update README.md and CHANGELOG.md.
ychescale9 Mar 28, 2025
2548f9f
Prepare for release 2.34.0.
ychescale9 Mar 28, 2025
1dcd009
Merge branch 'main' into release/v2
ychescale9 Mar 28, 2025
5302c0e
Fix emulator port issue by removing explicit port assignment
katie-managexr Oct 8, 2025
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
2 changes: 1 addition & 1 deletion .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@v3
- uses: actions/checkout@v4
- uses: krzema12/github-actions-typing@v0
72 changes: 38 additions & 34 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,41 +18,36 @@ jobs:
timeout-minutes: 15
strategy:
matrix:
os: [macos-latest, ubuntu-latest]
api-level: [16, 23, 29]
target: [default, google_apis]
arch: [x86]
exclude:
- os: ubuntu-latest
api-level: 23
- os: ubuntu-latest
api-level: 29
- target: google_apis
api-level: 16
- target: google_apis
api-level: 23
- target: google_apis
api-level: 29
include:
- os: macos-latest
- os: ubuntu-22.04
api-level: 23
target: default
arch: x86
- os: ubuntu-24.04
api-level: 24
target: playstore
arch: x86
- os: macos-latest
api-level: 30
target: aosp_atd
arch: x86
- os: macos-11
- os: macos-13
api-level: 31
target: default
arch: x86_64
- os: ubuntu-24.04
api-level: 34
target: aosp_atd
arch: x86_64
- os: ubuntu-latest
api-level: 35
target: google_apis
arch: x86_64
- os: ubuntu-latest
api-level: 34-ext10
target: android-automotive
arch: x86_64
system-image-api-level: 34-ext9

steps:
- name: checkout
uses: actions/checkout@v3

- name: validate gradle wrapper
uses: gradle/wrapper-validation-action@v1
uses: actions/checkout@v4

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

- name: Java 15
uses: actions/setup-java@v3
- uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: 15
- uses: actions/cache@v3
java-version: 23

- uses: actions/cache@v4
id: avd-cache
with:
path: |
~/.android/avd/*
~/.android/adb*
~/.android/debug.keystore
key: avd-${{ matrix.api-level }}-${{ matrix.os }}-${{ matrix.target }}
key: avd-${{ matrix.api-level }}-${{ matrix.os }}-${{ matrix.target }}-${{ matrix.arch }}

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

- name: assemble tests
uses: gradle/gradle-build-action@v2
with:
build-root-directory: test-fixture
arguments: assembleAndroidTest
working-directory: test-fixture
run: ./gradlew assembleAndroidTest

- name: enable KVM for linux runners
if: runner.os == 'Linux'
run: |
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
sudo udevadm control --reload-rules
sudo udevadm trigger --name-match=kvm

- name: run emulator to generate snapshot for caching
if: steps.avd-cache.outputs.cache-hit != 'true'
Expand All @@ -88,6 +90,7 @@ jobs:
api-level: ${{ matrix.api-level }}
target: ${{ matrix.target }}
arch: ${{ matrix.arch }}
system-image-api-level: ${{ matrix.system-image-api-level }}
profile: Galaxy Nexus
cores: 2
sdcard-path-or-size: 100M
Expand All @@ -105,6 +108,7 @@ jobs:
api-level: ${{ matrix.api-level }}
target: ${{ matrix.target }}
arch: ${{ matrix.arch }}
system-image-api-level: ${{ matrix.system-image-api-level }}
profile: Galaxy Nexus
cores: 2
ram-size: 2048M
Expand Down
38 changes: 20 additions & 18 deletions .github/workflows/manually.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,20 @@ on:
os:
description: 'OS'
required: true
default: 'macos-latest'
default: 'ubuntu-latest'
api-level:
description: 'API level of the platform and system image'
description: 'API level of the platform and system image (if not overridden with system-image-api-level input) - e.g. 33, 35-ext15, Baklava'
required: true
default: '30'
default: '34'
system-image-api-level:
description: 'API level of the system image - e.g. 34-ext10, 35-ext15'
target:
description: 'target of the system image - default, google_apis, google_apis_playstore, aosp_atd, google_atd, android-wear, android-wear-cn, android-tv or google-tv'
description: 'target of the system image - default, google_apis, google_apis_playstore, aosp_atd, google_atd, android-wear, android-wear-cn, android-tv, google-tv, android-automotive, android-automotive-playstore or android-desktop'
required: true
default: 'default'
arch:
description: 'CPU architecture of the system image - x86, x86_64 or arm64-v8a'
default: 'x86'
default: 'x86_64'
emulator-options:
description: 'command-line options used when launching the emulator'
default: '-no-window -gpu swiftshader_indirect -no-snapshot -noaudio -no-boot-anim'
Expand All @@ -39,10 +41,7 @@ jobs:

steps:
- name: checkout
uses: actions/checkout@v3

- name: validate gradle wrapper
uses: gradle/wrapper-validation-action@v1
uses: actions/checkout@v4

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

- name: Java 15
uses: actions/setup-java@v3
- uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: 15
- uses: actions/cache@v3
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }}-${{ hashFiles('**/gradle/wrapper/gradle-wrapper.properties') }}
java-version: 23

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

- name: enable KVM for linux runners
if: runner.os == 'Linux'
run: |
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
sudo udevadm control --reload-rules
sudo udevadm trigger --name-match=kvm

- name: run action
uses: ./
with:
api-level: ${{ github.event.inputs.api-level }}
target: ${{ github.event.inputs.target }}
arch: ${{ github.event.inputs.arch }}
system-image-api-level: ${{ github.event.inputs.system-image-api-level }}
profile: Galaxy Nexus
emulator-options: ${{ github.event.inputs.emulator-options }}
emulator-build: ${{ github.event.inputs.emulator-build }}
Expand Down
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
__tests__/runner/*

# comment out in distribution branches
node_modules/
# node_modules/

# Rest pulled from https://github.com/github/gitignore/blob/master/Node.gitignore
# Logs
Expand Down
50 changes: 50 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,55 @@
# Change Log

## Unreleased

No changes yet.

## v2.34.0

* Allow arbitrary value for `api-level` such as `Baklava` and `35-ext15`. - [428](https://github.com/ReactiveCircus/android-emulator-runner/pull/428)
* Add option to specify `system-image-api-level` to use a system image with a different API level than the platform. - [428](https://github.com/ReactiveCircus/android-emulator-runner/pull/428)
* Support automotive and desktop targets: `android-automotive`, `android-automotive-playstore`, `android-desktop`. - [428](https://github.com/ReactiveCircus/android-emulator-runner/pull/428)

## v2.33.0

* Fix missing AVD directory in `ubuntu-24.04` runner. - [415](https://github.com/ReactiveCircus/android-emulator-runner/pull/415)
* Update SDK build tools to `35.0.0`, update SDK command-line tools to `16.0`. - [#356](https://github.com/ReactiveCircus/android-emulator-runner/pull/356)
* Stop changing owner of the SDK directory. - [406](https://github.com/ReactiveCircus/android-emulator-runner/pull/406) [#409](https://github.com/ReactiveCircus/android-emulator-runner/pull/409)
* Upgrade to latest npm dependencies. - [#401](https://github.com/ReactiveCircus/android-emulator-runner/pull/401)

## v2.32.0

* Add `port` parameter for customizing the emulator port to use. - [#383](https://github.com/ReactiveCircus/android-emulator-runner/pull/383)


## v2.31.0

* Support setting `VanillaIceCream` as `api-level`. - [#378](https://github.com/ReactiveCircus/android-emulator-runner/pull/378)
* Install `platforms` for the specified `api-level`. - [#384](https://github.com/ReactiveCircus/android-emulator-runner/pull/384)

## v2.30.1

* Run action on Node 20. - [#371](https://github.com/ReactiveCircus/android-emulator-runner/pull/371)

## v2.30.0

* Update to Node 20. - [#369](https://github.com/ReactiveCircus/android-emulator-runner/pull/369)

## v2.29.0

* Fixed emulator download URL. - [#343](https://github.com/ReactiveCircus/android-emulator-runner/pull/343)
* Upgrade to latest npm dependencies. - [#347](https://github.com/ReactiveCircus/android-emulator-runner/pull/347) [#355](https://github.com/ReactiveCircus/android-emulator-runner/pull/355)
* Update SDK command-line tools to `11.0`. - [#356](https://github.com/ReactiveCircus/android-emulator-runner/pull/356)
* Update SDK build tools to `34.0.0`. - [#356](https://github.com/ReactiveCircus/android-emulator-runner/pull/356)

## v2.28.0

* Add `emulator-boot-timeout` to support configuring maximum time waiting for emulator boot. - [#326](https://github.com/ReactiveCircus/android-emulator-runner/pull/326)
* Support non-integer `api-level`. - [#317](https://github.com/ReactiveCircus/android-emulator-runner/pull/317)
* Replace deprecated `ANDROID_SDK_ROOT` with `ANDROID_HOME`. - [304](https://github.com/ReactiveCircus/android-emulator-runner/pull/304)
* Update SDK command-line tools to `9.0`. - [#331](https://github.com/ReactiveCircus/android-emulator-runner/pull/331)
* Update SDK build tools to `33.0.2`. - [#331](https://github.com/ReactiveCircus/android-emulator-runner/pull/331)

## v2.27.0

* Added `pre-emulator-launch-script` to support running script after creating the AVD and before launching the emulator. - [#247](https://github.com/ReactiveCircus/android-emulator-runner/pull/247) @nilsreichardt.
Expand Down
Loading