|
17 | 17 | integration_tests_android: |
18 | 18 | name: 🤖 Android Tests |
19 | 19 | runs-on: ubuntu-latest |
| 20 | + strategy: |
| 21 | + matrix: |
| 22 | + api-level: [ 23, 35 ] |
| 23 | + target: [ default, google_apis ] |
20 | 24 | timeout-minutes: 30 |
21 | 25 | steps: |
22 | 26 | - uses: actions/checkout@v4 |
|
35 | 39 | echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules |
36 | 40 | sudo udevadm control --reload-rules |
37 | 41 | sudo udevadm trigger --name-match=kvm |
38 | | - - uses: reactivecircus/android-emulator-runner@v2 |
| 42 | + - name: Gradle cache |
| 43 | + uses: gradle/actions/setup-gradle@v4 |
| 44 | + - name: AVD cache |
| 45 | + uses: actions/cache@v4 |
| 46 | + id: avd-cache |
39 | 47 | with: |
40 | | - api-level: 29 |
| 48 | + path: | |
| 49 | + ~/.android/avd/* |
| 50 | + ~/.android/adb* |
| 51 | + key: avd-${{ matrix.api-level }} |
| 52 | + - name: create AVD and generate snapshot for caching |
| 53 | + if: steps.avd-cache.outputs.cache-hit != 'true' |
| 54 | + uses: reactivecircus/android-emulator-runner@v2 |
| 55 | + with: |
| 56 | + api-level: ${{ matrix.api-level }} |
| 57 | + force-avd-creation: false |
| 58 | + emulator-options: -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none |
| 59 | + disable-animations: false |
| 60 | + script: echo "Generated AVD snapshot for caching." |
| 61 | + - name: Run integration test |
| 62 | + uses: reactivecircus/android-emulator-runner@v2 |
| 63 | + with: |
| 64 | + api-level: ${{ matrix.api-level }} |
| 65 | + target: ${{ matrix.target }} |
| 66 | + arch: x86_64 |
| 67 | + force-avd-creation: false |
| 68 | + emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none |
| 69 | + disable-animations: true |
41 | 70 | script: flutter test integration_test |
42 | 71 | working-directory: flutter_secure_storage/example |
43 | 72 |
|
|
0 commit comments