Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Unverified Commit 4b2cea2f authored by Ricki Hirner's avatar Ricki Hirner
Browse files

Use large runners

parent f95d63c4
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -14,14 +14,13 @@ jobs:
        with:
          distribution: 'temurin'
          java-version: 11
          cache: 'gradle'
      - uses: gradle/wrapper-validation-action@v1
      - uses: gradle/gradle-build-action@v2

      - name: Build KDoc
        run: ./gradlew dokkaHtml
      - name: Publish KDoc
        if: success()
        uses: crazy-max/ghaction-github-pages@v2.5.0
        uses: crazy-max/ghaction-github-pages@v3
        with:
          target_branch: gh-pages
          build_dir: build/dokka/html
+52 −28
Original line number Diff line number Diff line
@@ -12,11 +12,10 @@ jobs:
        with:
          distribution: 'temurin'
          java-version: 11
          cache: 'gradle'
      - uses: gradle/wrapper-validation-action@v1
      - uses: gradle/gradle-build-action@v2

      - name: Check
        run: ./gradlew check
        run: ./gradlew --no-daemon check
      - name: Archive results
        uses: actions/upload-artifact@v2
        with:
@@ -27,42 +26,67 @@ jobs:

  test_on_emulator:
    name: Tests with emulator
    runs-on: privileged
    container:
      image: ghcr.io/bitfireat/docker-android-ci:main
      options: --privileged
      env:
        ANDROID_HOME: /sdk
        ANDROID_AVD_HOME: /root/.android/avd
    runs-on: ubuntu-latest-4-cores
    strategy:
      matrix:
        api-level: [ 31 ]
    steps:
      - uses: actions/checkout@v2
        with:
          submodules: true
      - uses: gradle/wrapper-validation-action@v1
      - uses: actions/setup-java@v2
        with:
          distribution: 'temurin'
          java-version: 11
      - uses: gradle/gradle-build-action@v2

      - 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

      - name: Cache APKs and gradle dependencies
        uses: actions/cache@v2
      - name: Cache AVD and APKs
        uses: actions/cache@v3
        id: avd-cache
        with:
          key: ${{ runner.os }}-1
          path: |
            ~/.android/avd/*
            ~/.android/adb*
            ~/.apk
            ~/.gradle/caches
            ~/.gradle/wrapper
          key: avd-${{ matrix.api-level }}

      - name: Start emulator
        run: start-emulator.sh
      - name: Install task apps
        run: |
      - name: Create AVD and generate snapshot for caching
        if: steps.avd-cache.outputs.cache-hit != 'true'
        uses: reactivecircus/android-emulator-runner@v2
        with:
          api-level: ${{ matrix.api-level }}
          arch: x86_64
          force-avd-creation: false
          emulator-options: -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
          disable-animations: false
          script: echo "Generated AVD snapshot for caching."

      - name: Install task apps and run tests
        uses: reactivecircus/android-emulator-runner@v2
        with:
          api-level: ${{ matrix.api-level }}
          arch: x86_64
          force-avd-creation: false
          emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
          disable-animations: true
          script: |
            mkdir .apk && cd .apk
            wget -cq -O org.dmfs.tasks.apk https://f-droid.org/archive/org.dmfs.tasks_80800.apk && adb install org.dmfs.tasks.apk
            wget -cq -O org.tasks.apk https://f-droid.org/archive/org.tasks_120400.apk && adb install org.tasks.apk
            wget -cq -O at.techbee.jtx.apk https://f-droid.org/archive/at.techbee.jtx_100140002.apk && adb install at.techbee.jtx.apk
            cd ..
      - name: Run connected tests
        run: ./gradlew connectedCheck -Pandroid.testInstrumentationRunnerArguments.notAnnotation=androidx.test.filters.FlakyTest
            ./gradlew --no-daemon connectedCheck -Pandroid.testInstrumentationRunnerArguments.notAnnotation=androidx.test.filters.FlakyTest

      - name: Archive results
        if: always()
        uses: actions/upload-artifact@v2
        with:
          name: test-results
          path: |
            build/reports
            app/build/reports