diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml new file mode 100644 index 0000000..e59f53f --- /dev/null +++ b/.github/workflows/ci.yaml @@ -0,0 +1,41 @@ +name: CI + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + workflow_dispatch: + +# Target the self-hosted Flutter/Android runner at the android-stuff org. +# See tool/setup_ci_runner.sh for how that runner is provisioned. +# +# The runner is host-mode so the same JDK 17 + Android SDK + Flutter +# toolchain is used as the verified release — nothing installs per-run. + +jobs: + analyze: + name: Analyze & Build + runs-on: flutter-android + steps: + - uses: actions/checkout@v4 + + - name: Toolchain + run: | + flutter --version + echo "ANDROID_HOME=${ANDROID_HOME:?not set on this runner}" + + - name: Get dependencies + run: flutter pub get + + - name: Analyze + run: flutter analyze + + - name: Build release APK + run: flutter build apk --release + + - uses: actions/upload-artifact@v4 + with: + name: app-release-apk + path: build/app/outputs/flutter-apk/app-release.apk + if-no-files-found: error