b699b4db71
Spotless has fixed their Gradle Configuration Cache woes in the past couple months which gets rid of my primary complaint.
105 lines
3.2 KiB
YAML
105 lines
3.2 KiB
YAML
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@834a144ee995460fba8ed112a2fc961b36a5ec5a # v4.3.6
|
|
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@834a144ee995460fba8ed112a2fc961b36a5ec5a # v4.3.6
|
|
with:
|
|
name: Test report (unit-tests)
|
|
path: app/build/reports
|
|
|
|
- name: Upload Kotlin build report
|
|
if: "${{ always() }}"
|
|
uses: actions/upload-artifact@834a144ee995460fba8ed112a2fc961b36a5ec5a # v4.3.6
|
|
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@834a144ee995460fba8ed112a2fc961b36a5ec5a # v4.3.6
|
|
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@834a144ee995460fba8ed112a2fc961b36a5ec5a # v4.3.6
|
|
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@834a144ee995460fba8ed112a2fc961b36a5ec5a # v4.3.6
|
|
with:
|
|
name: Build report (lint)
|
|
path: build/reports/kotlin-build/
|