open-keychain/.github/workflows/android-ci.yml

86 lines
2.4 KiB
YAML

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