[codex] Add emulator smoke CI#27
Merged
Merged
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
adamcohenhillel
marked this pull request as ready for review
July 1, 2026 07:28
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
scripts/run-emulator-smoke.shto build/reuse the emulator image, boot a wiped headless emulator, verify OpenPhone services/package, run CLI runtime status, invokeopenphone.screen.get, and run a local assistant task without provider keys--no-clone-bundlelocal sync mode for resumable cold prepWhy
This is the real CI/CD feedback loop we wanted: AI/runtime/assistant changes should be gated on a booted emulator and ADB-backed runtime checks, not just an emulator build target.
GCP Evidence
Cold scratch proof passed on
75bd752800d0c379b6527ec7489d517bda605ee6:c3-standard-22GCP VM inopenphone-labopenphone_sdk_phone_x86_64-bp4a-engto100% 156265/156265OpenPhone SDK Phone x86_64openphone_agent,openphone_context, andopenphone_assistant_dataorg.openphone.assistant versionCode:165Warm snapshot proof passed on
a838b93c6a9d0e2db44ab39834bbf2008e69ee68:openphone-cache-x86-64-bp4a-20260701-032204/home/adamcohenhillel/openphone-android156265actions to about17572visible actions before final Ninja pruning.worktree/gcp-lab/openphone-lab-pr-27-warm-a838b93c2/artifactsLocal Lab State
--no-clone-bundlefor resumable cold syncs that should avoid huge upstream clone bundles31G; no local Mac emulator build/smoke has passed yetValidation
bash -n scripts/apply-patches.sh scripts/lab/gcp/run-smoke.sh scripts/check.shbash -n scripts/run-emulator-smoke.sh scripts/lab/gcp/run-smoke.sh scripts/check.shbash -n scripts/sync.sh scripts/lab/prepare-local.sh scripts/lab/up.sh scripts/check.sh./scripts/check.shgit diff --checkPublic Repo Safety
Public fork PRs must not run arbitrary code on persistent trusted runners or with cloud credentials. The GCP lab path is intended for trusted maintainer-approved/manual runs using disposable VMs in the single
openphone-labproject.The approved-PR workflow checks out trusted base code on GitHub-hosted Actions, then checks out the PR SHA only inside a disposable GCP VM with no attached service account/scopes.
Remaining Limitations
.github/workflows/gcp-lab.ymlcannot be workflow-dispatched before this workflow file exists onmain; GitHub returns 404 for new workflow files on non-default branches.