diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 98527bbb..65d2a97c 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -48,8 +48,7 @@ jobs: with: distribution: 'temurin' java-version: 11 - cache: 'gradle' - - uses: gradle/wrapper-validation-action@v1 + - uses: gradle/gradle-build-action@v2 # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 42037be6..8a48142f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -17,12 +17,10 @@ jobs: with: distribution: temurin java-version: 11 - cache: gradle - - uses: gradle/wrapper-validation-action@v1 + - uses: gradle/gradle-build-action@v2 - name: Prepare keystore run: echo ${{ secrets.android_keystore_base64 }} | base64 -d >$GITHUB_WORKSPACE/keystore.jks - - name: Build signed package run: ./gradlew --no-daemon app:assembleRelease env: diff --git a/.github/workflows/test-dev.yml b/.github/workflows/test-dev.yml index 6f2a18f6..75b31855 100644 --- a/.github/workflows/test-dev.yml +++ b/.github/workflows/test-dev.yml @@ -26,13 +26,10 @@ 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: @@ -43,10 +40,42 @@ jobs: java-version: 11 - uses: gradle/gradle-build-action@v2 - - name: Start emulator - run: start-emulator.sh - - name: Run connected tests - run: ./gradlew --no-daemon app:connectedCheck + - 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 AVD and APKs + uses: actions/cache@v3 + id: avd-cache + with: + path: | + ~/.android/avd/* + ~/.android/adb* + key: avd-${{ matrix.api-level }} + + - 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: 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: ./gradlew --no-daemon app:connectedCheck + - name: Archive results if: always() uses: actions/upload-artifact@v2 diff --git a/app/src/androidTest/java/at/bitfire/davdroid/Android10ResolverTest.kt b/app/src/androidTest/java/at/bitfire/davdroid/Android10ResolverTest.kt index 8ef157c2..56300415 100644 --- a/app/src/androidTest/java/at/bitfire/davdroid/Android10ResolverTest.kt +++ b/app/src/androidTest/java/at/bitfire/davdroid/Android10ResolverTest.kt @@ -16,7 +16,7 @@ import java.net.InetAddress class Android10ResolverTest { - val FQDN_DAVX5 = "www.google.com" + val FQDN_DAVX5 = "www.davx5.com" @Test @SdkSuppress(minSdkVersion = Build.VERSION_CODES.Q)