Files
coco 723ce1af5c a
2026-07-03 15:12:48 +08:00

93 lines
2.1 KiB
YAML

name: build
on:
push:
branches:
- master
pull_request:
concurrency:
group: build-${{ github.ref }}
cancel-in-progress: true
jobs:
check:
name: Checks
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Java
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: 17
- name: Setup Gradle
uses: gradle/gradle-build-action@v2
- name: Check Gradle wrapper
uses: gradle/wrapper-validation-action@v1
- name: Run Detekt
run: ./gradlew detekt
unit-tests:
needs: check
name: Unit tests
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Java
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: 17
- name: Setup Gradle
uses: gradle/gradle-build-action@v2
- name: Run Tests
run: ./gradlew test
androidTest:
needs: check
name: Instrumented tests
runs-on: macOS-12
strategy:
matrix:
device-config: [ "pixel_6api31aosp" ]
steps:
- name: Checkout
uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: '17'
- name: Setup Gradle
uses: gradle/gradle-build-action@v2
- name: Setup Android SDK
uses: android-actions/setup-android@v3
- name: Run instrumented tests with GMD
run: ./gradlew cleanManagedDevices --unused-only &&
./gradlew ${{ matrix.device-config }}debugAndroidTest -Dorg.gradle.workers.max=1
-Pandroid.testoptions.manageddevices.emulator.gpu="swiftshader_indirect" -Pandroid.experimental.testOptions.managedDevices.emulator.showKernelLogging=true
- name: Upload test reports
if: always()
uses: actions/upload-artifact@v4
with:
name: test-reports-${{ matrix.api-level }}
path: '*/build/reports/androidTests'