From e9b313382afd6484e8c94a2c656a348859e418ac Mon Sep 17 00:00:00 2001 From: ThibaultBee <37510686+ThibaultBee@users.noreply.github.com> Date: Thu, 6 Jun 2024 15:45:38 +0200 Subject: [PATCH] fix(ci): fix emulator timeout --- .github/workflows/test.yml | 44 +++++++++++++++++++++++++++----------- 1 file changed, 32 insertions(+), 12 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index e1ebf7a..93fe47c 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -1,14 +1,13 @@ name: Run tests -on: [push] +on: [ push ] jobs: unit-tests: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 - - name: Set up Java - uses: actions/setup-java@v3 + - uses: actions/checkout@v4 + - uses: actions/setup-java@v3 with: java-version: '17' distribution: 'adopt' @@ -16,22 +15,43 @@ jobs: run: chmod +x ./gradlew - name: Run unit test run: ./gradlew test + - name: Upload test reports + if: ${{ !cancelled() }} + uses: actions/upload-artifact@v4 + with: + name: test-reports-${{ matrix.api-level }} + path: '**/build/reports/tests' instrumented-tests: - runs-on: macos-latest + runs-on: ubuntu-latest + timeout-minutes: 55 + strategy: + matrix: + api-level: [ 26, 34 ] steps: - - uses: actions/checkout@v3 - - name: Set up Java - uses: actions/setup-java@v3 + - name: Enable KVM group perms + run: | + echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules + sudo udevadm control --reload-rules + sudo udevadm trigger --name-match=kvm + ls /dev/kvm + - uses: actions/checkout@v4 + - uses: actions/setup-java@v4 with: java-version: '17' - distribution: 'adopt' + distribution: 'zulu' - name: Make gradlew executable run: chmod +x ./gradlew - name: Run Android Tests uses: reactivecircus/android-emulator-runner@v2 with: - api-level: 30 + api-level: ${{ matrix.api-level }} arch: x86_64 + disable-animations: true + emulator-options: -no-snapshot -no-window -no-boot-anim -camera-back emulated -camera-front emulated -gpu swiftshader_indirect script: ./gradlew connectedCheck - env: - INTEGRATION_TESTS_API_KEY: ${{ secrets.INTEGRATION_TESTS_API_KEY }} + - name: Upload test reports + if: ${{ !cancelled() }} + uses: actions/upload-artifact@v4 + with: + name: test-reports-${{ matrix.api-level }} + path: '**/build/reports/androidTests' \ No newline at end of file