name: Test build
# builds only for a single abi and does not produce an APK

on:
# disabled on push: when I push to non-main, I do a PR anyway
#  push:
    # don't run on main. I noticed I often don't push commits to avoid unnecessary workflow runs
#    branches-ignore: [ main ]
#    paths:
#      - 'app/**'
  pull_request:
    paths:
      - 'app/**'
  workflow_dispatch:

jobs:
  build:

    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v4

      - name: Set up JDK
        uses: actions/setup-java@v4
        with:
          java-version: '17'
          distribution: 'temurin'

      - uses: gradle/actions/setup-gradle@v3

      - name: Grant execute permission for gradlew
        run: chmod +x gradlew

      - name: Build with Gradle
        run: ./gradlew -Pandroid.injected.build.abi=arm64-v8a assembleDebug

      - name: Archive reports for failed job
        uses: actions/upload-artifact@v4
        with:
          name: reports
          path: '*/build/reports'
        if: ${{ failure() }}
