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 ikar - name: Verify launch and warm resume 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-ikar-debug.apk python3 scripts/check-android-resume.py --output artifacts/android-resume-smoke adb shell pidof ru.ikar.app - name: Upload Android resume diagnostics if: always() uses: actions/upload-artifact@v4 with: name: android-resume-smoke path: artifacts/android-resume-smoke if-no-files-found: ignore