name: Android Emulator Smoke on: pull_request: branches: - main - 'dev/**' workflow_dispatch: jobs: launch-qlyra: runs-on: ubuntu-latest timeout-minutes: 45 steps: - name: Checkout code uses: actions/checkout@v4 with: submodules: recursive - name: Setup Java uses: actions/setup-java@v4 with: distribution: temurin java-version: '17' cache: gradle - name: Setup Flutter uses: subosito/flutter-action@v2 with: flutter-version: '3.44.3' channel: stable cache: true - name: Setup Rust uses: ./.github/actions/setup-rust with: targets: aarch64-linux-android,armv7-linux-androideabi,x86_64-linux-android - name: Install dependencies run: flutter pub get - name: Build smoke APK run: flutter build apk --debug --flavor qlyra - name: Launch on emulator uses: ReactiveCircus/android-emulator-runner@v2 with: api-level: 35 arch: x86_64 profile: pixel_6 disable-animations: true script: | adb install -r build/app/outputs/flutter-apk/app-qlyra-debug.apk adb logcat -c adb shell am start -W -n ru.qlyra.app/.MainActivity sleep 10 adb shell pidof ru.qlyra.app if adb logcat -d '*:E' | grep -E 'FATAL EXCEPTION|Process: ru.qlyra.app'; then exit 1 fi