on: pull_request: merge_group: name: Check pull request concurrency: group: ${{ github.head_ref || github.ref_name }} cancel-in-progress: true env: SENTRY_DSN: 'https://public_key@example.com/project_id' jobs: check-codestyle: runs-on: ubuntu-latest steps: - name: Setup build environment uses: android-password-store/android-password-store/.github/reusable-workflows/setup-gradle@develop - name: Check codestyle shell: bash run: ./gradlew spotlessCheck - name: Upload Kotlin build report if: "${{ always() }}" uses: actions/upload-artifact@604373da6381bf24206979c74d06a550515601b9 # v4.4.1 with: name: Build report (check-codestyle) path: build/reports/kotlin-build/ unit-tests: runs-on: ubuntu-latest steps: - name: Setup build environment uses: android-password-store/android-password-store/.github/reusable-workflows/setup-gradle@develop - name: Run unit tests shell: bash run: ./gradlew test -PslimTests - name: (Fail-only) Upload test report if: "${{ failure() }}" uses: actions/upload-artifact@604373da6381bf24206979c74d06a550515601b9 # v4.4.1 with: name: Test report (unit-tests) path: app/build/reports - name: Upload Kotlin build report if: "${{ always() }}" uses: actions/upload-artifact@604373da6381bf24206979c74d06a550515601b9 # v4.4.1 with: name: Build report (unit-tests) path: build/reports/kotlin-build/ build-apks: runs-on: ubuntu-latest steps: - name: Setup build environment uses: android-password-store/android-password-store/.github/reusable-workflows/setup-gradle@develop - name: Build debug APKs shell: bash run: ./gradlew assembleFreeDebug assembleNonFreeDebug assembleNonFreeRelease - name: Upload Kotlin build report if: "${{ always() }}" uses: actions/upload-artifact@604373da6381bf24206979c74d06a550515601b9 # v4.4.1 with: name: Build report (build-apks) path: build/reports/kotlin-build/ check-api: runs-on: ubuntu-latest steps: - name: Setup build environment uses: android-password-store/android-password-store/.github/reusable-workflows/setup-gradle@develop - name: Check library API shell: bash run: ./gradlew metalavaCheckCompatibilityRelease - name: Upload Kotlin build report if: "${{ always() }}" uses: actions/upload-artifact@604373da6381bf24206979c74d06a550515601b9 # v4.4.1 with: name: Build report (check-api) path: build/reports/kotlin-build/ lint: runs-on: ubuntu-latest steps: - name: Setup build environment uses: android-password-store/android-password-store/.github/reusable-workflows/setup-gradle@develop - name: Run Lint shell: bash run: ./gradlew lint - name: Upload Kotlin build report if: "${{ always() }}" uses: actions/upload-artifact@604373da6381bf24206979c74d06a550515601b9 # v4.4.1 with: name: Build report (lint) path: build/reports/kotlin-build/