Skip to content

feat(harness): add opt-in Google TV emulator profile - #178

Merged
altaywtf merged 2 commits into
mainfrom
feat/harness-google-tv-profile
Sep 24, 2026
Merged

altaywtf merged 2 commits into
mainfrom
feat/harness-google-tv-profile

Conversation

@altaywtf

Copy link
Copy Markdown
Member

The harness only offered the android-tv image, so Google TV launcher and Play-surface behaviour had no reusable emulator. Closes #176, whose other acceptance items landed in #177.

scripts/bootstrap.sh --google-tv installs system-images;android-36;google-tv;<arch> and provisions a putio-google-tv AVD (tv_1080p). scripts/emulator.sh accepts a google-tv profile for create, boot, stop, and delete. Recovery messages for this profile point at scripts/bootstrap.sh --google-tv. Plain scripts/bootstrap.sh behaves as before and neither downloads the image nor creates the AVD. prove.sh still uses putio-tv.

scripts/test-emulator.sh covers the pinned image, the missing-image error, default provisioning skipping Google TV, opt-in provisioning, the mismatch recovery command, and headless boot/stop without the phone readiness checks. It fails with the profile code reverted.

Local proof on Apple Silicon: scripts/bootstrap.sh --google-tv installed the arm64 image, left the existing phone and TV AVDs alone, and created putio-google-tv. scripts/emulator.sh boot google-tv --headless booted it in 25s. The emulator reported API 36 and android.software.leanback_only, and com.google.android.apps.tv.launcherx resolved as home. scripts/emulator.sh stop google-tv then shut it down.

Copilot AI lite review requested due to automatic review settings September 24, 2026 17:51
@altaywtf

Copy link
Copy Markdown
Member Author

Fresh putio-google-tv after headless boot on Apple Silicon (first-run setup screen):

google-tv-home

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 24, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-09-24T17:53:55.404436Z 0dfe62b PR opened
ℹ️ 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟡 Changes recommended

The updated contract test adds a non-portable grep pattern and the shared profile/image mapping should fail fast for unknown profiles to avoid confusing harness failures.

Get a fresh assessment by requesting another Copilot review.

Review effort: Lite
Findings: 1 Medium severity · 1 Low severity

Open (2)
What changed in this PR

Adds an opt-in “Google TV” emulator profile to the harness toolchain so contributors can reuse a consistent Google TV launcher / Play-surface environment (without changing the default phone+Android TV bootstrap or prove.sh’s existing putio-tv target).

Changes:

  • Extend harness profile plumbing to support a new google-tv profile (putio-google-tv) with profile-specific recovery instructions.
  • Update bootstrap to optionally install/provision the Google TV system image/AVD only when --google-tv is provided.
  • Expand emulator contract tests and docs to cover opt-in provisioning, recovery messaging, and headless boot/stop behavior for Google TV.
File Description
scripts/​test-emulator.sh Adds contract coverage for Google TV opt-in behavior, recovery messaging, and headless boot/stop without phone readiness checks.
scripts/​lib.sh Introduces GOOGLE_TV_AVD, google_tv_image(), profile routing for google-tv, and profile-specific bootstrap recovery command selection.
scripts/​emulator.sh Accepts google-tv profile for create/boot/stop/delete and improves missing-image guidance to point at profile-appropriate bootstrap.
scripts/​bootstrap.sh Adds --google-tv flag to optionally install the Google TV system image and provision the Google TV AVD.
docs/​harness.md Documents the opt-in Google TV AVD, how to provision/boot/stop it, and clarifies harness-owned AVDs.
AGENTS.md Notes that --google-tv adds the opt-in Google TV image + AVD during bootstrap.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread scripts/lib.sh
Comment thread scripts/test-emulator.sh Outdated
@altaywtf
altaywtf merged commit fa7859f into main Sep 24, 2026
1 check passed
@altaywtf
altaywtf deleted the feat/harness-google-tv-profile branch September 24, 2026 17:58
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.

fix(harness): bootstrap leaves Android TV AVD missing when the phone AVD is stale

2 participants