name: CI on: pull_request: branches: - dev - master push: branches: - dev - master jobs: build-and-test-jvm: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: gradle/wrapper-validation-action@v1 - name: create and checkout branch # push events already checked out the branch if: github.event_name == 'pull_request' run: git checkout -B ${{ github.head_ref }} - name: set up JDK 8 uses: actions/setup-java@v2 with: java-version: 8 distribution: "adopt" - name: Cache Gradle dependencies uses: actions/cache@v2 with: path: ~/.gradle/caches key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }} restore-keys: ${{ runner.os }}-gradle - name: Build debug APK and run jvm tests run: ./gradlew assembleDebug lintDebug testDebugUnitTest --stacktrace - name: Upload APK uses: actions/upload-artifact@v2 with: name: app path: app/build/outputs/apk/debug/*.apk # Disabled until emulator works again. see https://github.com/TeamNewPipe/NewPipe/pull/6560 # test-android: # macos has hardware acceleration. See android-emulator-runner action # runs-on: macos-latest # strategy: # matrix: # api-level 19 is min sdk, but throws errors related to desugaring # api-level: [21, 29] # steps: # - uses: actions/checkout@v2 # # - name: set up JDK 8 # uses: actions/setup-java@v2 # with: # java-version: 8 # distribution: "adopt" # # - name: Cache Gradle dependencies # uses: actions/cache@v2 # with: # path: ~/.gradle/caches # key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }} # restore-keys: ${{ runner.os }}-gradle # # - name: Run android tests # uses: reactivecircus/android-emulator-runner@v2 # with: # api-level: ${{ matrix.api-level }} # script: ./gradlew connectedCheck # sonar: # runs-on: ubuntu-latest # steps: # - uses: actions/checkout@v2 # with: # fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis # - name: Set up JDK 11 # uses: actions/setup-java@v2 # with: # java-version: 11 # Sonar requires JDK 11 # distribution: "adopt" # - name: Cache SonarCloud packages # uses: actions/cache@v2 # with: # path: ~/.sonar/cache # key: ${{ runner.os }}-sonar # restore-keys: ${{ runner.os }}-sonar # - name: Cache Gradle packages # uses: actions/cache@v2 # with: # path: ~/.gradle/caches # key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }} # restore-keys: ${{ runner.os }}-gradle # - name: Build and analyze # env: # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any # SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} # run: ./gradlew build sonarqube --info