Skip to content

test: emulator CI for debug demo and LOCAL launchers - #14

Closed
scrimshawlife-ctrl wants to merge 3 commits into
demo-data-modefrom
test/emulator-demo-launchers
Closed

scrimshawlife-ctrl wants to merge 3 commits into
demo-data-modefrom
test/emulator-demo-launchers

Conversation

@scrimshawlife-ctrl

Copy link
Copy Markdown
Owner

Emulator CI for debug demo launchers (draft)

What it does

Adds a GitHub-hosted Linux emulator job that runs instrumented Compose tests for both debug-only demo launchers introduced on demo-data-mode:

  1. In-memory DemoRootActivity / DemoSuasApi (no network)
  2. LOCAL LocalRootActivity against a host Worker at http://10.0.2.2:3000

Each journey signs in with the synthetic demo account veteran@example.invalid / code 246810 (from suas demo seed / contract/demo-fixtures.json) and walks the seeded service screens.

Test sources live only under app/src/androidTestDebug/ (debug instrumented). Existing contract job name and jobs are unchanged.

Triggers

.github/workflows/ci.yml — new job demo-launchers runs on pull_request (alongside existing contract job). Manual re-run via Actions UI on the workflow run.

Secrets / accounts

  • Demo account only (hardcoded synthetic email/code above). No staging/production secrets.
  • Checks out public scrimshawlife-ctrl/suas @ main, runs npm run dev:demo for the LOCAL path. Default GITHUB_TOKEN is enough (suas is public).

Emulator hardening

  • KVM udev rule enabled
  • Disk freed before AVD creation (dotnet/ghc/CodeQL/NDK cleanup) to avoid Not enough space to create userdata partition
  • disk-size: 4096M plus -partition-size 4096 -disk-size 4096M on the emulator

What ran vs what did not

  • Will run: GitHub Actions on this PR (Linux emulator). Report the run URL in the review thread once available.
  • Not run locally: no local emulator or npm run verify on Android in this draft environment.
  • Never merged, never marked ready, never deployed.

Attribution

Code drafted by DeepSeek 4.1 Flash via OpenRouter (Grok Bot applied glue: disk-size / token expression / Node 22).

Gate

Do not merge without Danny's yes.

Adds a KVM Linux emulator job with disk cleanup and large userdata
partition, plus androidTestDebug Espresso/Compose journeys for DemoRoot
and LocalRoot (10.0.2.2 Worker via npm run dev:demo). Keeps the existing
contract job unchanged. Code drafted by DeepSeek 4.1 Flash via OpenRouter.
Emulator 37 rejects -disk-size in emulator-options ("unknown option"),
so the AVD never booted. Keep reactivecircus disk-size input and
-partition-size for userdata space.
assertExists and onAllNodes need the SemanticsNodeInteraction /
SemanticsNodeInteractionCollection imports. One OpenRouter fix round
after CI compile failure.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant