name: CI on: push: branches: - master pull_request: branches: - master jobs: BuildAndTest: name: Build and Test on JDK ${{ matrix.java_version }} runs-on: ubuntu-latest strategy: matrix: java_version: [17] steps: - name: Checkout uses: actions/checkout@v2 with: submodules: true fetch-depth: 0 # 0 indicates all history - name: Install JDK ${{ matrix.java_version }} uses: actions/setup-java@v1 with: java-version: ${{ matrix.java_version }} - name: Install Android SDK uses: malinskiy/action-android/install-sdk@release/0.1.0 - name: Build project run: ./gradlew assemble - name: Run tests run: ./gradlew :OpenKeychain:test - name: Archive UnitTest report uses: actions/upload-artifact@v2 if: failure() with: name: UnitTest-report path: ${{ github.workspace }}/**/build/reports/tests/testDebugUnitTest ##### Check and Espresso disabled, we don't pay attention to those anyways #### # Check: # name: Check # runs-on: ubuntu-latest # steps: # - name: Checkout # uses: actions/checkout@v2 # with: # submodules: true # fetch-depth: 0 # 0 indicates all history # - name: Install JDK ${{ matrix.java_version }} # uses: actions/setup-java@v1 # with: # java-version: 17 # - name: Install Android SDK # uses: malinskiy/action-android/install-sdk@release/0.1.0 # - name: Build project # run: ./gradlew lint # Espresso: # runs-on: macOS-latest # required for KVM support of emulator # continue-on-error: true # steps: # - uses: actions/checkout@v2 # with: # submodules: true # - name: set up JDK 17 # uses: actions/setup-java@v1 # with: # java-version: 17 # - name: Install Android SDK # uses: malinskiy/action-android/install-sdk@release/0.1.0 # - name: Run instrumentation tests # uses: malinskiy/action-android/emulator-run-cmd@release/0.1.0 # with: # cmd: ./gradlew connectedFdroidDebugAndroidTest # api: 34 # tag: default # abi: x86_64 # - name: Archive Espresso results # uses: actions/upload-artifact@v2 # if: failure() # with: # name: Espresso-report # path: ./**/build/reports/androidTests/connected #