name: Android CI on: push: branches: [ master ] pull_request: branches: [ master ] jobs: test: name: Run Unit Tests runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Setup Java JDK uses: actions/setup-java@v1.4.2 with: java-version: 1.8 - name: Inflate google-services.json shell: bash env: GOOGLE_SERVICES_JSON: ${{ secrets.GOOGLE_SERVICES }} run: echo $GOOGLE_SERVICES_JSON > app/google-services.json - name: Unit tests run: bash ./gradlew test lint: name: Run Android Lint runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Setup Java JDK uses: actions/setup-java@v1.4.2 with: java-version: 1.8 - name: Inflate google-services.json shell: bash env: GOOGLE_SERVICES_JSON: ${{ secrets.GOOGLE_SERVICES }} run: echo $GOOGLE_SERVICES_JSON > app/google-services.json - name: Run Android Lint run: bash ./gradlew lint ktlint: name: Run Kotlin Lint runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Setup Java JDK uses: actions/setup-java@v1.4.2 with: java-version: 1.8 - name: Inflate google-services.json shell: bash env: GOOGLE_SERVICES_JSON: ${{ secrets.GOOGLE_SERVICES }} run: echo $GOOGLE_SERVICES_JSON > app/google-services.json - name: Run Kotlin Lint run: bash ./gradlew ktlintCheck apk: name: Generate APK runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Setup Java JDK uses: actions/setup-java@v1.4.2 with: java-version: 1.8 - name: Inflate google-services.json shell: bash env: GOOGLE_SERVICES_JSON: ${{ secrets.GOOGLE_SERVICES }} run: echo $GOOGLE_SERVICES_JSON > app/google-services.json - name: Build debug APK run: bash ./gradlew assembleDebug - name: Upload APK uses: actions/upload-artifact@v1 with: name: app path: app/build/outputs/apk/debug/app-debug.apk