name: CI on: push: branches: - master - cleanup-bc pull_request: branches: - master - cleanup-bc jobs: BuildAndTest: name: Build and Test on JDK ${{ matrix.java_version }} runs-on: ubuntu-latest strategy: matrix: java_version: [1.8] 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: 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: 1.8 - 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 1.8 uses: actions/setup-java@v1 with: java-version: 1.8 - 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: 28 tag: default abi: x86 - name: Archive Espresso results uses: actions/upload-artifact@v2 if: failure() with: name: Espresso-report path: ./**/build/reports/androidTests/connected