name: Android CI on: pull_request: push: branches: [ main, stable-* ] permissions: contents: read jobs: validation: name: Validate Gradle Wrapper runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4.1.1 - uses: actions/setup-java@v4 with: distribution: 'temurin' java-version: '17' check-latest: true cache: 'gradle' - name: Validate Gradle Wrapper uses: gradle/wrapper-validation-action@v2 lint: name: Lint runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4.1.1 - uses: actions/setup-java@v4 with: distribution: 'temurin' java-version: '17' check-latest: true cache: 'gradle' - name: Lint run: bash ./gradlew lintDevDebug --stacktrace --no-configuration-cache test: name: Unit tests runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4.1.1 - uses: actions/setup-java@v4 with: distribution: 'temurin' java-version: '17' check-latest: true cache: 'gradle' - name: Unit tests run: bash ./gradlew test --stacktrace --no-configuration-cache apk: name: Generate APK runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4.1.1 - uses: actions/setup-java@v4 with: distribution: 'temurin' java-version: '17' check-latest: true cache: 'gradle' - name: Build debug APK run: bash ./gradlew assembleDev --stacktrace --no-configuration-cache - name: Upload APK uses: actions/upload-artifact@v4 with: name: app-dev-debug path: app/build/outputs/apk/dev/debug/app-dev-debug.apk