diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml index 8f5c6286636..c4b432fbb7e 100644 --- a/.github/workflows/pull_request.yml +++ b/.github/workflows/pull_request.yml @@ -34,3 +34,50 @@ jobs: with: name: pull-request-build path: "app/build/outputs/apk/prerelease/debug/*.apk" + + instrumented-tests: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v6 + + - name: Set up JDK 17 + uses: actions/setup-java@v5 + with: + distribution: temurin + java-version: 17 + + - name: Grant execute permission for gradlew + run: chmod +x gradlew + + - name: Setup Gradle + uses: gradle/actions/setup-gradle@v5 + with: + cache-encryption-key: ${{ secrets.GRADLE_ENCRYPTION_KEY }} + cache-read-only: false + + - name: Get target SDK + id: sdk + run: | + TARGET_SDK=$(grep 'targetSdk' gradle/libs.versions.toml | grep -o '[0-9]\+' | head -1) + echo "version=$TARGET_SDK" >> $GITHUB_OUTPUT + + - name: Enable KVM + 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: Run Instrumented Tests + uses: reactivecircus/android-emulator-runner@v2 + with: + api-level: ${{ steps.sdk.outputs.version }} + arch: x86_64 + profile: Nexus 6 + script: ./gradlew connectedPrereleaseDebugAndroidTest + + - name: Upload Test Results + if: always() + uses: actions/upload-artifact@v7 + with: + name: instrumented-test-results + path: '**/build/reports/androidTests/' diff --git a/app/src/androidTest/java/com/lagradost/cloudstream3/ExampleInstrumentedTest.kt b/app/src/androidTest/java/com/lagradost/cloudstream3/ExampleInstrumentedTest.kt index 4c5cdea5bee..e854356a021 100644 --- a/app/src/androidTest/java/com/lagradost/cloudstream3/ExampleInstrumentedTest.kt +++ b/app/src/androidTest/java/com/lagradost/cloudstream3/ExampleInstrumentedTest.kt @@ -55,12 +55,6 @@ class ExampleInstrumentedTest { return APIHolder.allProviders.toTypedArray() //.filter { !it.usesWebView } } - @Test - fun providersExist() { - Assert.assertTrue(getAllProviders().isNotEmpty()) - println("Done providersExist") - } - @Throws private inline fun testAllLayouts( activity: Activity,