feat: complete TMDb watch providers integration and resolve Moshi par… #2052
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Pull Request | |
| on: | |
| pull_request: | |
| branches: [ "main" ] | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
| cancel-in-progress: true | |
| jobs: | |
| verify: | |
| name: Verify Code and Build | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Set up Java 17 | |
| uses: actions/setup-java@v4 | |
| with: | |
| java-version: 17 | |
| distribution: 'zulu' | |
| - name: Print Java version | |
| run: javac -version | |
| - name: Setup Gradle | |
| uses: gradle/actions/setup-gradle@v4 | |
| - name: Create a copy of the local.properties from the example file | |
| run: | | |
| cp "${GITHUB_WORKSPACE}/local.properties.example" "${GITHUB_WORKSPACE}/local.properties" | |
| chmod u+x "${GITHUB_WORKSPACE}/local.properties" | |
| - name: Create and configure google-services.json file | |
| env: | |
| GOOGLE_SERVICES: ${{ secrets.GOOGLE_SERVICES }} | |
| run: echo $GOOGLE_SERVICES > app/google-services.json | |
| - name: Setup the Android SDK | |
| uses: android-actions/setup-android@v3 | |
| - name: Verify and Build | |
| run: ./gradlew ktlintCheck detekt lintDebug testDebugUnitTest assembleDebug assembleRelease --build-cache --continue | |
| - name: Upload Test Results | |
| if: ${{ failure() }} | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: unit-test-report | |
| path: '**/build/reports/tests/' | |
| - name: Upload generated APK | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: upnext-debug | |
| path: app/build/outputs/apk/debug/**.apk | |
| - name: Remove generated local.properties file | |
| run: | | |
| rm "${GITHUB_WORKSPACE}/local.properties" | |
| - name: Remove generated google-services.json file | |
| run: | | |
| rm ./app/google-services.json | |
| ui-tests: | |
| name: UI Tests (Instrumented) | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 45 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Set up Java 17 | |
| uses: actions/setup-java@v4 | |
| with: | |
| java-version: 17 | |
| distribution: 'zulu' | |
| - name: Setup Gradle | |
| uses: gradle/actions/setup-gradle@v4 | |
| - name: Create a copy of the local.properties from the example file | |
| run: | | |
| cp "${GITHUB_WORKSPACE}/local.properties.example" "${GITHUB_WORKSPACE}/local.properties" | |
| chmod u+x "${GITHUB_WORKSPACE}/local.properties" | |
| - name: Create and configure google-services.json file | |
| env: | |
| GOOGLE_SERVICES: ${{ secrets.GOOGLE_SERVICES }} | |
| run: echo $GOOGLE_SERVICES > app/google-services.json | |
| - 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: 30 | |
| arch: x86_64 | |
| profile: pixel_6 | |
| target: google_apis | |
| emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none | |
| disable-animations: true | |
| script: ./gradlew :app:connectedDebugAndroidTest --continue | |
| - name: Upload Test Results | |
| if: ${{ failure() }} | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: instrumented-test-report | |
| path: '**/build/reports/androidTests/' | |
| - name: Remove generated local.properties file | |
| run: | | |
| rm "${GITHUB_WORKSPACE}/local.properties" | |
| - name: Remove generated google-services.json file | |
| run: | | |
| rm ./app/google-services.json |