Skip to content

Commit ec3aca5

Browse files
committed
Reworked actions
1 parent 52f373d commit ec3aca5

File tree

6 files changed

+188
-47
lines changed

6 files changed

+188
-47
lines changed
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
runs:
2+
using: "composite"
3+
steps:
4+
- name: Set Env variables
5+
run: |
6+
echo "ANDROID_HOME=$HOME/.android/sdk" >> $GITHUB_ENV
7+
echo "ANDROID_SDK_ROOT=$HOME/.android/sdk" >> $GITHUB_ENV
8+
echo "ANDROID_USER_HOME=$HOME/.android/" >> $GITHUB_ENV
9+
shell: bash
10+
11+
- name: Enable KVM group perms
12+
run: |
13+
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
14+
sudo udevadm control --reload-rules
15+
sudo udevadm trigger --name-match=kvm
16+
shell: bash

.github/workflows/JetLagged.yaml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name: Test JetLagged
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
pull_request:
8+
9+
jobs:
10+
androidTest:
11+
runs-on: ubuntu-latest
12+
timeout-minutes: 30
13+
steps:
14+
- uses: ./.github/actions/android-setup
15+
- name: Run instrumentation tests
16+
run: |
17+
./mill show JetLagged.app.androidApk
18+
./mill show JetLagged.app.createAndroidVirtualDevice
19+
./mill --debug show JetLagged.app.startAndroidEmulator
20+
./mill show JetLagged.app.androidTest
21+
./mill show JetLagged.app.stopAndroidEmulator
22+
shell: bash
23+
24+
- name: Upload test reports
25+
uses: actions/upload-artifact@v4
26+
with:
27+
name: test-reports-jetnews
28+
path: out/JetLagged/app/androidTest/testForked.dest/test-report.xml

.github/workflows/JetNews.yaml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name: Test JetNews
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
pull_request:
8+
9+
jobs:
10+
androidTest:
11+
runs-on: ubuntu-latest
12+
timeout-minutes: 30
13+
steps:
14+
- uses: ./.github/actions/android-setup
15+
- name: Run instrumentation tests
16+
run: |
17+
./mill show JetNews.app.androidApk
18+
./mill show JetNews.app.createAndroidVirtualDevice
19+
./mill --debug show JetNews.app.startAndroidEmulator
20+
./mill show JetNews.app.androidTest
21+
./mill show JetNews.app.stopAndroidEmulator
22+
shell: bash
23+
24+
- name: Upload test reports
25+
uses: actions/upload-artifact@v4
26+
with:
27+
name: test-reports-jetnews
28+
path: out/JetNews/app/androidTest/testForked.dest/test-report.xml

.github/workflows/Jetsnack.yaml

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
name: Test Jetsnack
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
pull_request:
8+
types:
9+
- opened
10+
- reopened
11+
- synchronize
12+
- ready_for_review
13+
workflow_dispatch:
14+
15+
jobs:
16+
androidTest:
17+
runs-on: ubuntu-latest
18+
timeout-minutes: 30
19+
steps:
20+
- uses: ./.github/actions/android-setup
21+
- name: Run instrumentation tests
22+
run: |
23+
./mill show Jetsnack.app.androidApk
24+
./mill show Jetsnack.app.createAndroidVirtualDevice
25+
./mill --debug show Jetsnack.app.startAndroidEmulator
26+
./mill show Jetsnack.app.androidTest
27+
./mill show Jetsnack.app.stopAndroidEmulator
28+
shell: bash
29+
30+
- name: Upload test reports
31+
uses: actions/upload-artifact@v4
32+
with:
33+
name: test-reports-jetnews
34+
path: out/Jetsnack/app/androidTest/testForked.dest/test-report.xml

.github/workflows/Test.yaml

Lines changed: 0 additions & 47 deletions
This file was deleted.

Jetsnack/package.mill

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
package build.Jetsnack
2+
3+
import mill.*
4+
import androidlib.*
5+
import kotlinlib.*
6+
import build.*
7+
import mill.javalib.Dep
8+
9+
object app extends BaseAndroidModule, AndroidR8AppModule {
10+
11+
override def androidEnableCompose: T[Boolean] = Task { true }
12+
13+
override def kotlinUseEmbeddableCompiler: T[Boolean] = true
14+
15+
def androidProjectProguardFiles = Task.Sources(
16+
"proguard-rules.pro"
17+
)
18+
19+
override def androidApplicationNamespace: String = "com.example.jetsnack"
20+
21+
override def androidApplicationId: String = "com.example.jetsnack"
22+
23+
override def bomMvnDeps: T[Seq[Dep]] = super.bomMvnDeps() ++ Seq(
24+
mvn"androidx.compose:compose-bom:2025.08.00"
25+
)
26+
27+
override def mvnDeps: T[Seq[Dep]] = super.mvnDeps() ++ Seq(
28+
mvn"org.jetbrains.kotlin:kotlin-stdlib-jdk8:${build.Versions.kotlinVersion}",
29+
mvn"org.jetbrains.kotlinx:kotlinx-coroutines-android:1.10.2",
30+
mvn"androidx.core:core-ktx:1.17.0",
31+
mvn"androidx.activity:activity-compose:1.10.1",
32+
mvn"androidx.lifecycle:lifecycle-viewmodel-ktx:2.9.2",
33+
mvn"androidx.lifecycle:lifecycle-viewmodel-compose:2.9.3",
34+
mvn"androidx.lifecycle:lifecycle-runtime-compose:2.9.3",
35+
mvn"androidx.navigation:navigation-compose:2.9.2",
36+
mvn"androidx.constraintlayout:constraintlayout-compose:1.1.1",
37+
mvn"androidx.compose.runtime:runtime",
38+
mvn"androidx.compose.foundation:foundation",
39+
mvn"androidx.compose.foundation:foundation-layout",
40+
mvn"androidx.compose.ui:ui",
41+
mvn"androidx.compose.ui:ui-util",
42+
mvn"androidx.compose.material3:material3",
43+
mvn"androidx.compose.animation:animation",
44+
mvn"androidx.compose.material:material-icons-extended",
45+
mvn"androidx.compose.ui:ui-tooling-preview",
46+
mvn"io.coil-kt:coil-compose:2.7.0",
47+
mvn"androidx.compose.ui:ui-tooling",
48+
mvn"androidx.glance:glance-appwidget:1.2.0-alpha01",
49+
mvn"androidx.glance:glance-preview:1.1.1",
50+
mvn"androidx.savedstate:savedstate-ktx:1.3.1"
51+
)
52+
53+
object androidTest extends AndroidAppKotlinInstrumentedTests, AndroidR8AppModule {
54+
55+
override def androidEnableCompose: T[Boolean] = Task {
56+
true
57+
}
58+
59+
override def kotlinUseEmbeddableCompiler: T[Boolean] = true
60+
61+
override def androidR8Args: T[Seq[String]] = super.androidR8Args() ++ Seq(
62+
"--map-diagnostics", "error", "warning"
63+
)
64+
65+
override def bomMvnDeps: T[Seq[Dep]] = super.bomMvnDeps() ++ Seq(
66+
mvn"androidx.compose:compose-bom:2025.08.00"
67+
)
68+
69+
override def mvnDeps: T[Seq[Dep]] = super.mvnDeps() ++ Seq(
70+
mvn"junit:junit:4.13.2",
71+
mvn"androidx.test:core:1.7.0",
72+
mvn"androidx.test.ext:junit:1.3.0",
73+
mvn"androidx.test:runner:1.7.0",
74+
mvn"androidx.test.espresso:espresso-core:3.7.0",
75+
mvn"androidx.test:rules:1.7.0",
76+
mvn"org.jetbrains.kotlinx:kotlinx-coroutines-test:1.10.2",
77+
mvn"androidx.compose.ui:ui-test",
78+
mvn"androidx.compose.ui:ui-test-junit4",
79+
)
80+
81+
}
82+
}

0 commit comments

Comments
 (0)