Add player gesture features #43
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 | |
| paths-ignore: | |
| - 'README.md' | |
| - 'doc/**' | |
| - 'fastlane/**' | |
| - 'assets/**' | |
| - '.github/**/*.md' | |
| - '.github/FUNDING.yml' | |
| - '.github/ISSUE_TEMPLATE/**' | |
| push: | |
| branches: | |
| - dev | |
| - master | |
| - material | |
| paths-ignore: | |
| - 'README.md' | |
| - 'doc/**' | |
| - 'fastlane/**' | |
| - 'assets/**' | |
| - '.github/**/*.md' | |
| - '.github/FUNDING.yml' | |
| - '.github/ISSUE_TEMPLATE/**' | |
| jobs: | |
| build-and-test-jvm: | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Checkout NewPipeExtractor source | |
| run: | | |
| set -euo pipefail | |
| mkdir -p external | |
| if [ ! -d external/NewPipeExtractor/.git ]; then | |
| rm -rf external/NewPipeExtractor | |
| git clone --depth 1 https://github.com/wizdom13/NewPipeExtractor external/NewPipeExtractor | |
| fi | |
| - name: Verify NewPipeExtractor source | |
| run: | | |
| git -C external/NewPipeExtractor remote -v | |
| git -C external/NewPipeExtractor rev-parse HEAD | |
| git -C external/NewPipeExtractor remote get-url origin | grep -q "github.com/wizdom13/NewPipeExtractor" | |
| test -d external/NewPipeExtractor/extractor | |
| - uses: gradle/actions/wrapper-validation@v6 | |
| - name: create and checkout branch | |
| # push events already checked out the 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 | |
| distribution: "temurin" | |
| cache: 'gradle' | |
| - name: Build debug APK and run jvm tests | |
| run: ./gradlew assembleDebug lintDebug testDebugUnitTest --stacktrace -DskipFormatKtlint | |
| - name: Verify debug APK identity | |
| run: | | |
| APK_PATH="$(find app/build/outputs/apk/debug -name '*.apk' | head -n 1)" | |
| test -n "$APK_PATH" | |
| AAPT="$ANDROID_HOME/build-tools/$(ls "$ANDROID_HOME/build-tools" | sort -V | tail -n 1)/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:'NewPipe Material Debug'" "$RUNNER_TEMP/debug-apk-badging.txt" | |
| - name: Upload APK | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: newpipe-material-debug-apk | |
| path: app/build/outputs/apk/debug/*.apk | |
| test-android: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 20 | |
| 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: Checkout NewPipeExtractor source | |
| run: | | |
| set -euo pipefail | |
| mkdir -p external | |
| if [ ! -d external/NewPipeExtractor/.git ]; then | |
| rm -rf external/NewPipeExtractor | |
| git clone --depth 1 https://github.com/wizdom13/NewPipeExtractor external/NewPipeExtractor | |
| fi | |
| - name: Verify NewPipeExtractor source | |
| run: | | |
| git -C external/NewPipeExtractor remote -v | |
| git -C external/NewPipeExtractor rev-parse HEAD | |
| git -C external/NewPipeExtractor remote get-url origin | grep -q "github.com/wizdom13/NewPipeExtractor" | |
| test -d external/NewPipeExtractor/extractor | |
| - 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: set up JDK | |
| uses: actions/setup-java@v5 | |
| with: | |
| java-version: 21 | |
| distribution: "temurin" | |
| cache: 'gradle' | |
| - name: Run android tests | |
| uses: reactivecircus/android-emulator-runner@v2 | |
| with: | |
| api-level: ${{ matrix.api-level }} | |
| target: ${{ matrix.target }} | |
| arch: ${{ matrix.arch }} | |
| script: ./gradlew connectedCheck --stacktrace | |
| - name: Upload test report when tests fail # because the printed out stacktrace (console) is too short, see also #7553 | |
| uses: actions/upload-artifact@v7 | |
| if: failure() | |
| with: | |
| name: android-test-report-api${{ matrix.api-level }} | |
| path: app/build/reports/androidTests/connected/** |