android.yml (1863B)
1 name: Android tests 2 3 on: 4 push: 5 branches-ignore: 6 - 'test-*' 7 workflow_dispatch: 8 9 concurrency: 10 group: ${{ github.workflow }}-${{ github.ref }} 11 cancel-in-progress: true 12 13 jobs: 14 15 build: 16 name: Test 17 runs-on: ubuntu-latest 18 strategy: 19 matrix: 20 api-level: [28] 21 22 steps: 23 - name: Check out code 24 uses: actions/checkout@v4 25 26 - name: Set up Go 1.19 27 uses: actions/setup-go@v4 28 with: 29 go-version: 1.19 30 31 - name: Enable KVM 32 run: | 33 echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules 34 sudo udevadm control --reload-rules 35 sudo udevadm trigger --name-match=kvm 36 37 - name: Gradle cache 38 uses: gradle/actions/setup-gradle@v3 39 40 - name: AVD cache 41 uses: actions/cache@v4 42 id: avd-cache 43 with: 44 path: | 45 ~/.android/avd/* 46 ~/.android/adb* 47 key: avd-cache-${{ matrix.api-level }} 48 49 - name: create AVD and generate snapshot for caching 50 if: steps.avd-cache.outputs.cache-hit != 'true' 51 uses: reactivecircus/android-emulator-runner@v2 52 with: 53 api-level: ${{ matrix.api-level }} 54 force-avd-creation: false 55 emulator-options: -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none 56 disable-animations: false 57 script: echo "Generated AVD snapshot for caching." 58 59 - name: Run tests 60 uses: reactivecircus/android-emulator-runner@v2 61 with: 62 working-directory: ./testrig/android 63 api-level: ${{ matrix.api-level }} 64 ndk: 25.2.9519653 65 force-avd-creation: false 66 emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none 67 disable-animations: true 68 script: ./run.sh 69