name: Android CI

on:
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]

jobs:
  build:

    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v4
    - uses: gradle/wrapper-validation-action@v1
    - name: set up JDK 17
      uses: actions/setup-java@v4
      with:
        java-version: 17
        distribution: "adopt"
    - name: Cache Gradle packages
      uses: actions/cache@v4
      with:
        path: ~/.gradle/caches
        key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }}
        restore-keys: ${{ runner.os }}-gradle
    - name: Run Tests
      run: ./gradlew testOssDebugUnitTest
    - name: Build with Gradle
      run: ./gradlew assemble
    - name: Upload Artifacts - OSS version
      uses: actions/upload-artifact@v4
      with:
        name: SkyTube-Legacy-Oss.apk
        path: app/build/outputs/apk/oss/snapshot/SkyTubeLegacy-*.apk
    - name: Upload Artifacts - Extra version
      uses: actions/upload-artifact@v4
      with:
        name: SkyTube-Legacy-Extra.apk
        path: app/build/outputs/apk/extra/snapshot/SkyTubeLegacy-*.apk
