Skip to content

GSoC 2026: retire CCSync, Rust FFI overhaul, reporting engine (#418), modularization, project website #880

GSoC 2026: retire CCSync, Rust FFI overhaul, reporting engine (#418), modularization, project website

GSoC 2026: retire CCSync, Rust FFI overhaul, reporting engine (#418), modularization, project website #880

Workflow file for this run

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