GSoC 2026: retire CCSync, Rust FFI overhaul, reporting engine (#418), modularization, project website #880
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Flutter CI | |
| on: | |
| pull_request: | |
| branches: | |
| - main | |
| - reports | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| # Step 1: Checkout the repository | |
| - uses: actions/checkout@v2 | |
| # Step 2: Setup Java with version 12.x | |
| - uses: actions/setup-java@v4 | |
| with: | |
| distribution: "temurin" | |
| java-version: "17.x" | |
| # Rust + NDK + cargo-ndk, so the Gradle hook compiles libtc_helper.so from | |
| # rust/ instead of falling back to a prebuilt binary. Must come before any | |
| # `flutter build apk`. | |
| - uses: ./.github/actions/setup-rust-android | |
| # Step 3: Setup Flutter with version 3.7.11 | |
| - uses: subosito/flutter-action@v1 | |
| with: | |
| flutter-version: "3.29.2" | |
| # Step 4: Get dependencies using pub get | |
| - run: flutter pub get | |
| # Step 5: Analyze the code using flutter analyze | |
| - run: flutter analyze --no-fatal-warnings --no-fatal-infos | |
| # Step 6: Format the code using flutter format (uncomment if needed) | |
| # - run: flutter format -n --set-exit-if-changed . | |
| # Step 7: Run tests using flutter test | |
| # - run: flutter test | |
| # Step 8: Build APK using flutter build apk | |
| - run: flutter build apk --release --flavor production | |
| # The APK must carry libtc_helper.so for every ABI, or it installs fine and | |
| # crashes at RustLib.init(). Fails the build rather than uploading a dud. | |
| - name: Verify native libraries are in the APK | |
| run: ./scripts/verify_apk_native_libs.sh build/app/outputs/flutter-apk/app-production-release.apk | |
| # Step 9: Upload the built APK as an artifact | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: release-apk | |
| path: build/app/outputs/flutter-apk/app-production-release.apk |