Fix fullscreen and media notification regressions #1683
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: CI | |
| on: | |
| workflow_dispatch: | |
| pull_request: | |
| branches: | |
| - dev | |
| - master | |
| - refactor | |
| - release** | |
| - material | |
| - pipe | |
| paths-ignore: | |
| - 'README.md' | |
| - 'doc/**' | |
| - 'fastlane/**' | |
| - 'assets/**' | |
| - '.github/**/*.md' | |
| - '.github/FUNDING.yml' | |
| - '.github/ISSUE_TEMPLATE/**' | |
| push: | |
| branches: | |
| - dev | |
| - master | |
| - material | |
| - pipe | |
| paths-ignore: | |
| - 'README.md' | |
| - 'doc/**' | |
| - 'fastlane/**' | |
| - 'assets/**' | |
| - '.github/**/*.md' | |
| - '.github/FUNDING.yml' | |
| - '.github/ISSUE_TEMPLATE/**' | |
| concurrency: | |
| group: ci-${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| build-and-test-jvm: | |
| runs-on: ubuntu-24.04 | |
| permissions: | |
| contents: read | |
| steps: | |
| - uses: actions/checkout@v6 | |
| with: | |
| fetch-depth: 2 | |
| - name: Create and checkout branch | |
| if: github.event_name == 'pull_request' | |
| env: | |
| BRANCH: ${{ github.head_ref }} | |
| run: git checkout -B "$BRANCH" | |
| - name: Set up JDK | |
| uses: actions/setup-java@v5 | |
| with: | |
| java-version: 21.0.12+8.0.LTS | |
| distribution: temurin | |
| - name: Set up Gradle | |
| uses: gradle/actions/setup-gradle@v6 | |
| - name: Verify source-inspection tests do not grow | |
| run: python3 scripts/check-source-inspection-tests.py "$(git rev-parse HEAD^)" | |
| - name: Build debug APK and run JVM tests | |
| run: ./gradlew assembleDebug lintDebug testDebugUnitTest --stacktrace -DskipFormatKtlint | |
| - name: Upload lint report when checks fail | |
| uses: actions/upload-artifact@v7 | |
| if: failure() | |
| with: | |
| name: lint-report | |
| path: app/build/reports/lint-results-debug.* | |
| if-no-files-found: ignore | |
| - name: Verify debug APK identity | |
| run: | | |
| APK_PATH="$(find app/build/outputs/apk/debug -name '*.apk' | head -n 1)" | |
| test -n "$APK_PATH" | |
| BUILD_TOOLS_VERSION="36.1.0" | |
| AAPT="$ANDROID_HOME/build-tools/$BUILD_TOOLS_VERSION/aapt" | |
| "$AAPT" dump badging "$APK_PATH" | tee "$RUNNER_TEMP/debug-apk-badging.txt" | |
| grep -q "package: name='org.wisso.newpipematerial.debug'" "$RUNNER_TEMP/debug-apk-badging.txt" | |
| grep -q "application-label:'WizeStream Debug'" "$RUNNER_TEMP/debug-apk-badging.txt" | |
| - name: Upload APK | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: wizestream-debug-apk | |
| path: app/build/outputs/apk/debug/*.apk | |
| test-android: | |
| runs-on: ubuntu-24.04 | |
| timeout-minutes: 30 | |
| strategy: | |
| matrix: | |
| include: | |
| - api-level: 23 | |
| target: default | |
| arch: x86 | |
| - api-level: 35 | |
| target: default | |
| arch: x86_64 | |
| permissions: | |
| contents: read | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Set up JDK | |
| uses: actions/setup-java@v5 | |
| with: | |
| java-version: 21.0.12+8.0.LTS | |
| distribution: temurin | |
| - name: Set up Gradle | |
| uses: gradle/actions/setup-gradle@v6 | |
| - 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: Cache Android emulator | |
| id: avd-cache | |
| uses: actions/cache@v5 | |
| with: | |
| path: | | |
| ~/.android/avd/* | |
| ~/.android/adb* | |
| key: avd-${{ runner.os }}-${{ matrix.api-level }}-${{ matrix.target }}-${{ matrix.arch }}-v1 | |
| - name: Generate Android emulator snapshot | |
| if: steps.avd-cache.outputs.cache-hit != 'true' | |
| uses: reactivecircus/android-emulator-runner@v2 | |
| with: | |
| api-level: ${{ matrix.api-level }} | |
| target: ${{ matrix.target }} | |
| arch: ${{ matrix.arch }} | |
| 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 Android tests | |
| uses: reactivecircus/android-emulator-runner@v2 | |
| with: | |
| api-level: ${{ matrix.api-level }} | |
| target: ${{ matrix.target }} | |
| arch: ${{ matrix.arch }} | |
| force-avd-creation: false | |
| emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none | |
| script: scripts/build.sh connected | |
| - name: Upload test report when tests fail | |
| uses: actions/upload-artifact@v7 | |
| if: failure() | |
| with: | |
| name: android-test-report-api${{ matrix.api-level }} | |
| path: app/build/reports/androidTests/connected/** |