@@ -34,28 +34,47 @@ jobs:
34
34
35
35
ui-test :
36
36
name : UI tests on Android (API level ${{ matrix.api-level }})
37
- runs-on : macos-latest
37
+ runs-on : macos-13
38
38
strategy :
39
39
matrix :
40
- api-level : [ 26, 28, 34 ]
40
+ api-level : [ 26, 28, 33 ]
41
41
steps :
42
42
- name : Checkout
43
- uses : actions/checkout@v3
43
+ uses : actions/checkout@v4
44
44
45
- - name : Setup JDK 17
46
- uses : actions/setup-java@v3
45
+ - name : Enable KVM
46
+ run : |
47
+ echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
48
+ sudo udevadm control --reload-rules
49
+ sudo udevadm trigger --name-match=kvm
50
+
51
+ - name : Gradle cache
52
+ uses : gradle/actions/setup-gradle@v3
53
+
54
+ - name : AVD cache
55
+ uses : actions/cache@v4
56
+ id : avd-cache
47
57
with :
48
- java-version : ' 17'
49
- distribution : ' temurin'
50
- cache : gradle
58
+ path : |
59
+ ~/.android/avd/*
60
+ ~/.android/adb*
61
+ key : avd-${{ matrix.api-level }}
51
62
52
- - name : Setup Android SDK
53
- uses : android-actions/setup-android@v2
63
+ - name : Create AVD and generate snapshot for caching
64
+ if : steps.avd-cache.outputs.cache-hit != 'true'
65
+ uses : reactivecircus/android-emulator-runner@v2
66
+ with :
67
+ api-level : ${{ matrix.api-level }}
68
+ force-avd-creation : false
69
+ emulator-options : -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
70
+ disable-animations : false
71
+ script : echo "Generated AVD snapshot for caching."
54
72
55
- - name : UI test
73
+ - name : Run tests
56
74
uses : reactivecircus/android-emulator-runner@v2
57
75
with :
58
76
api-level : ${{ matrix.api-level }}
77
+ force-avd-creation : false
78
+ emulator-options : -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
59
79
disable-animations : true
60
- arch : x86_64
61
80
script : ./gradlew connectedCheck
0 commit comments