Skip to content

CI: add Android emulator to run connectedAndroidTest #60

@patrickrb

Description

@patrickrb

Follow-up from #27 / PR #58.

That PR added an instrumented smoke test (AppSmokeTest) under
ft8cn/app/src/androidTest/ that launches ComposeMainActivity via
ActivityScenario. It runs locally with:

cd ft8cn && cmd.exe /c "gradlew.bat connectedDebugAndroidTest"

…but the GitHub-hosted Ubuntu runner in .github/workflows/build-release.yml
has no emulator wired up, so connectedAndroidTest is not exercised in CI.

What to do

  • Add an Android emulator to the CI workflow (e.g. via
    reactivecircus/android-emulator-runner). Pick a reasonable API level
    (likely 30+ to match Compose UI test requirements).
  • Add a Run instrumented tests step that calls
    ./gradlew connectedDebugAndroidTest.
  • Upload app/build/reports/androidTests/ on failure, mirroring the
    unit-test artifact upload.
  • Decide whether the step is required for merge (branch protection
    currently requires build); start as non-required while it stabilises.

Why this matters

AppSmokeTest is currently dead weight in CI — it can only catch
regressions if a developer runs it locally before pushing. Wiring it up
also unblocks JNI/native testing (see the LDPC encoder follow-up).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions