name: Flutter APK Build on: push: branches: - main pull_request: branches: - main workflow_dispatch: jobs: build_apk: name: Build Flutter APK runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v3 - name: Cache pub deps uses: actions/cache@v3 with: path: ~/.pub-cache key: ${{ runner.os }}-pub-${{ hashFiles('**/pubspec.yaml') }} restore-keys: ${{ runner.os }}-pub- - name: Setup Java (Temurin 17) uses: actions/setup-java@v3 with: distribution: temurin java-version: '17' - name: Setup Flutter uses: subosito/flutter-action@v2 with: channel: 'stable' - name: Get dependencies run: flutter pub get - name: Build APK run: flutter build apk --release - name: Upload APK artifact uses: actions/upload-artifact@v3 with: name: flutter-apk path: build/app/outputs/flutter-apk/app-release.apk retention-days: 30