name: Build
on: [push, pull_request]

jobs:
  build:
    name: Build

    runs-on: ubuntu-latest
    steps:
      - name: Checkout the code
        uses: actions/checkout@v3

      - name: Android build cache
        uses: actions/cache@v3
        with:
          path: |
            ~/.android/build-cache
          key: ${{ runner.os }}-android
          restore-keys: ${{ runner.os }}-android

      - name: Set up JDK 17
        uses: actions/setup-java@v3
        with:
          distribution: 'corretto'
          java-version: 17
          cache: 'gradle'

      - name: Build
        run: ./gradlew compileDebugAndroidTestSources check assemble ktlintCheck

      - name: Upload APKs
        uses: actions/upload-artifact@v3
        with:
          name: seedvault-${{ github.sha }}-apks
          path: |
            app/build/outputs/apk/debug/app-debug.apk
            contactsbackup/build/outputs/apk/debug/contactsbackup-debug.apk
            storage/demo/build/outputs/apk/debug/demo-debug.apk