name: PR Build

on:
  workflow_dispatch:

jobs:
  build:
    name: Build
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v3
        with:
          # Make sure the release step uses its own credentials:
          # https://github.com/cycjimmy/semantic-release-action#private-packages
          persist-credentials: false
          fetch-depth: 0
      - name: Setup JDK
        uses: actions/setup-java@v3
        with:
          java-version: '17'
          distribution: 'zulu'
          cache: 'gradle'
      - name: Setup Flutter
        uses: subosito/flutter-action@v2
        with:
          channel: 'stable'
          cache: true
      - name: Install Flutter dependencies
        run: flutter pub get
      - name: Generate files with Builder
        run: flutter packages pub run build_runner build --delete-conflicting-outputs
      - name: Build with Flutter
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        run: flutter build apk
      - name: Upload build
        uses: actions/upload-artifact@v3
        with:
          name: revanced-manager
          path: build/app/outputs/flutter-apk/app-release.apk
