Skip to content

Commit b3743da

Browse files
committed
Setup for instrumented tests in CI
1 parent 9998293 commit b3743da

3 files changed

Lines changed: 33 additions & 3 deletions

File tree

.github/workflows/ci.yml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,33 @@ jobs:
2727
uses: jonasb/android-problem-matchers-action@v1
2828
- name: Test
2929
run: ./gradlew test
30+
instrumented-test:
31+
runs-on: ubuntu-latest
32+
steps:
33+
- uses: actions/checkout@v4
34+
- uses: actions/cache@v4.2.0
35+
with:
36+
path: ~/.gradle/caches
37+
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }}
38+
restore-keys: |
39+
${{ runner.os }}-gradle-
40+
- uses: actions/setup-java@v4
41+
with:
42+
distribution: 'temurin'
43+
java-version: '17'
44+
- name: Enable KVM group perms
45+
run: |
46+
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
47+
sudo udevadm control --reload-rules
48+
sudo udevadm trigger --name-match=kvm
49+
- name: Setup Android problem matchers
50+
uses: jonasb/android-problem-matchers-action@v1
51+
- name: Test
52+
uses: reactivecircus/android-emulator-runner@v2
53+
with:
54+
api-level: 35
55+
arch: x86_64
56+
script: ./gradlew connectedCheck
3057
lint:
3158
runs-on: ubuntu-latest
3259
steps:

app/build.gradle.kts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,8 +99,9 @@ dependencies {
9999
implementation(libs.lifecycle.viewmodel.ktx)
100100
ksp(libs.hilt.compiler)
101101
testImplementation(kotlin("test"))
102+
androidTestImplementation(libs.androidx.test.rules)
103+
androidTestImplementation(libs.androidx.test.runner)
102104
androidTestImplementation(libs.androidx.test.ext.junit)
103-
androidTestImplementation(libs.espresso.core)
104105
androidTestImplementation(platform(libs.compose.bom))
105106
androidTestImplementation(libs.compose.ui.test.junit4)
106107
debugImplementation(libs.compose.ui.test.manifest)

gradle/libs.versions.toml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
[versions]
22
activity = "1.10.0"
33
agp = "8.8.0"
4+
androidx-test-rules = "1.6.1"
5+
androidx-test-runner = "1.6.2"
46
androidx-test-ext-junit = "1.2.1"
57
appcompat = "1.7.0"
68
compose-bom = "2025.01.00"
79
core-ktx = "1.15.0"
8-
espresso-core = "3.6.1"
910
hilt = "2.55"
1011
junit = "4.13.2"
1112
kotlin = "2.1.0"
@@ -17,6 +18,8 @@ material = "1.12.0"
1718
[libraries]
1819
activity-compose = { group = "androidx.activity", name = "activity-compose", version.ref = "activity" }
1920
activity-ktx = { group = "androidx.activity", name = "activity-ktx", version.ref = "activity" }
21+
androidx-test-runner = { group = "androidx.test", name = "runner", version.ref = "androidx-test-runner" }
22+
androidx-test-rules = { group = "androidx.test", name = "rules", version.ref = "androidx-test-rules" }
2023
androidx-test-ext-junit = { group = "androidx.test.ext", name = "junit", version.ref = "androidx-test-ext-junit" }
2124
appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "appcompat" }
2225
compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "compose-bom" }
@@ -28,7 +31,6 @@ compose-ui-graphics = { group = "androidx.compose.ui", name = "ui-graphics" }
2831
compose-ui-test-junit4 = { group = "androidx.compose.ui", name = "ui-test-junit4" }
2932
compose-ui-test-manifest = { group = "androidx.compose.ui", name = "ui-test-manifest" }
3033
core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "core-ktx" }
31-
espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "espresso-core" }
3234
hilt = { group = "com.google.dagger", name = "hilt-android", version.ref = "hilt" }
3335
hilt-compiler = { group = "com.google.dagger", name = "hilt-compiler", version.ref = "hilt" }
3436
junit = { group = "junit", name = "junit", version.ref = "junit" }

0 commit comments

Comments
 (0)