Add Android Maestro CI launcher#7
Add Android Maestro CI launcher#7riderx wants to merge 1 commit intocodex/maestro-ci-runners-greenfrom
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 7c77a8c25b
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| SDKMANAGER_BIN="${SDKMANAGER_BIN:-$SDK_ROOT/tools/bin/sdkmanager}" | ||
| AVDMANAGER_BIN="${AVDMANAGER_BIN:-$SDK_ROOT/tools/bin/avdmanager}" |
There was a problem hiding this comment.
Use valid default paths for sdkmanager and avdmanager
These defaults point to $SDK_ROOT/tools/bin/..., but modern Android SDK installs provide both tools under cmdline-tools/<version>/bin instead. On a clean machine/CI runner with no pre-existing AVD, the fallback path (create_default_avd / ensure_system_image) will fail with “not available” before it can create an emulator, so maestro:android:ci cannot bootstrap itself as documented unless callers manually override both env vars.
Useful? React with 👍 / 👎.
|
|
||
| export ANDROID_SERIAL="$BOOTED_DEVICE_ID" | ||
| cd "$ROOT_DIR" | ||
| exec ./scripts/run-maestro-android.sh |
There was a problem hiding this comment.
Preserve EXIT cleanup when handing off to Maestro runner
Using exec here replaces the current shell process, so the registered trap cleanup EXIT in this script never runs on the success path. When this launcher starts its own emulator, that leaves the emulator process running after Maestro finishes/fails, which can leak resources and affect subsequent local or CI runs that expect this script to tear down what it started.
Useful? React with 👍 / 👎.
|
Superseded by #8, which targets main and replaces this stacked intermediate PR. |
What
example-appAndroid Maestro CI launcherWhy
./scripts/run-maestro-android-ci.shwas failing withyes: standard output: Broken pipeandFailed to install a compatible Android system imageHow
example-app/scripts/run-maestro-android-ci.shgoogle_apisemulator when none existsyes | sdkmanagerstyle piping with a boundedprintflicense acceptance flowTesting
cd example-app && MAESTRO_ANDROID_PREPARE_ONLY=1 ./scripts/run-maestro-android-ci.shNot Tested