Skip to content

Commit c7c3a59

Browse files
authored
Merge pull request #1878 from kulak91/android-tests-ci
Use ubuntu runner in android tests
2 parents c3be149 + 29b5d78 commit c7c3a59

File tree

4 files changed

+17
-24
lines changed

4 files changed

+17
-24
lines changed

.github/workflows/ci.yml

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -61,24 +61,24 @@ jobs:
6161
run: yarn cocoapods
6262
- run: yarn test:ios
6363
android:
64-
# https://github.com/ReactiveCircus/android-emulator-runner/issues/46
65-
# TODO: We'd like to bump runner to macos-13 or macos-14, but it no longer works at api-level 29
66-
# (can't find the right emulator). However, bumping api-level doesn't work either! Depending on
67-
# configuration, it either can't find the right emulator or times out as the actual JS tests
68-
# apparently do not complete. I've tried setting arch and target to no avail.
69-
runs-on: macos-12
64+
runs-on: ubuntu-24.04
7065
name: Android tests
7166
steps:
72-
- uses: actions/checkout@v3
73-
- uses: actions/setup-java@v3
67+
- uses: actions/checkout@v4
68+
- name: Enable KVM
69+
run: |
70+
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
71+
sudo udevadm control --reload-rules
72+
sudo udevadm trigger --name-match=kvm
73+
- uses: actions/setup-java@v4
7474
with:
7575
distribution: 'adopt'
7676
java-version: '17'
7777
- name: Set Node.js version
78-
uses: actions/setup-node@v3
78+
uses: actions/setup-node@v4
7979
with:
8080
node-version: 22.x
81-
- uses: actions/cache@v3
81+
- uses: actions/cache@v4
8282
with:
8383
path: 'node_modules'
8484
key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }}
@@ -87,14 +87,12 @@ jobs:
8787
- uses: gradle/actions/setup-gradle@v3
8888
# See: https://github.com/android/compose-samples/actions/runs/27015993/workflow for ideas for caching
8989
- name: run tests
90-
uses: reactivecircus/android-emulator-runner@v2.31.0
90+
uses: reactivecircus/android-emulator-runner@v2.33.0
9191
with:
9292
api-level: 29
93-
# target: google_apis
94-
# arch: x86_64
9593
working-directory: ./native/androidTest
9694
script: ./gradlew connectedAndroidTest
97-
# - run: yarn ktlint
95+
- run: yarn ktlint
9896
windows:
9997
# FIXME: Windows port is unmaintained. If you're interested in sponsoring continued maintenance,
10098
# please email me!

native/androidTest/app/src/main/java/com/nozbe/watermelonTest/MainActivity.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import com.facebook.react.ReactActivity
44
import com.facebook.react.ReactActivityDelegate
55
import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint.fabricEnabled
66
import com.facebook.react.defaults.DefaultReactActivityDelegate
7-
87
import com.nozbe.watermelondb.jsi.WatermelonJSI
98

109
class MainActivity : ReactActivity() {
@@ -16,5 +15,5 @@ class MainActivity : ReactActivity() {
1615
}
1716

1817
override fun createReactActivityDelegate(): ReactActivityDelegate =
19-
DefaultReactActivityDelegate(this, mainComponentName, fabricEnabled)
18+
DefaultReactActivityDelegate(this, mainComponentName, fabricEnabled)
2019
}

native/androidTest/app/src/main/java/com/nozbe/watermelonTest/MainApplication.kt

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,7 @@ package com.nozbe.watermelonTest
33
import android.app.Application
44
import com.facebook.react.ReactApplication
55
import com.facebook.react.ReactHost
6-
import com.facebook.react.ReactNativeHost
76
import com.facebook.react.ReactPackage
8-
import com.facebook.react.bridge.JSIModule
9-
import com.facebook.react.bridge.JSIModulePackage
10-
import com.facebook.react.bridge.JSIModuleSpec
11-
import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint.load
127
import com.facebook.react.defaults.DefaultReactHost.getDefaultReactHost
138
import com.facebook.react.defaults.DefaultReactNativeHost
149
import com.facebook.react.shell.MainReactPackage

native/androidTest/gradle.properties

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,20 +11,21 @@
1111
# The setting is particularly useful for tweaking memory settings.
1212
# Default value: -Xmx10248m -XX:MaxPermSize=256m
1313
# org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
14+
org.gradle.jvmargs=-Xmx4g -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
1415

1516
# When configured, Gradle will run in incubating parallel mode.
1617
# This option should only be used with decoupled projects. More details, visit
1718
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
18-
# org.gradle.parallel=true
19-
#android.useDeprecatedNdk=true
2019
org.gradle.parallel=true
20+
2121
MYAPP_RELEASE_STORE_FILE=DemoKeystore.keystore
2222
MYAPP_RELEASE_KEY_ALIAS=DemoKeystoreAlias
2323
MYAPP_RELEASE_STORE_PASSWORD=DemoKeystore
2424
MYAPP_RELEASE_KEY_PASSWORD=DemoKeystore
25-
org.gradle.jvmargs=-Xmx2048m -XX:MaxMetaspaceSize=512m
25+
2626
android.useAndroidX=true
2727
android.enableJetifier=true
28+
#android.useDeprecatedNdk=true
2829

2930
# Use this property to specify which architecture you want to build.
3031
# You can also override it from the CLI using

0 commit comments

Comments
 (0)