Resolve adb by path in the API 37 watchdog #54

Merged
JMR-dev merged 1 commits from ci/api37-debug into main 2026-08-23 14:28:20 +00:00
JMR-dev commented 2026-08-23 14:28:13 +00:00 (Migrated from github.com)

The first three dispatches of api37-debug.yml came back with every watchdog sample reading boot=? surfaceflinger=none zygote64=none dma_aborts=0, on runs where the device demonstrably booted (Emulator booted. in the action log) and the action's own adb was working two steps away.

The emulator action puts platform-tools on PATH with core.addPath, which writes GITHUB_PATH and so only affects later steps. The watchdog starts before the action — that is the point of it — and inherits the runner's own PATH, where a bare adb need not resolve. Every call failed into 2>/dev/null and the sampler recorded the silence as zero.

It now resolves adb by path (preferring ANDROID_HOME), re-resolves each iteration in case platform-tools arrives later, and echoes the path it settled on. The launch step prints ANDROID_HOME and command -v adb so a repeat is one line to spot.

Same file, same dispatch-only trigger, same admin merge rationale: it cannot be exercised until it is on the default branch and nothing else triggers it.

actionlint 1.7.12 exit 0; PyYAML parse OK; both embedded helpers pass bash -n.

🤖 Generated with Claude Code

The first three dispatches of `api37-debug.yml` came back with every watchdog sample reading `boot=? surfaceflinger=none zygote64=none dma_aborts=0`, on runs where the device demonstrably booted (`Emulator booted.` in the action log) and the action's own adb was working two steps away. The emulator action puts platform-tools on PATH with `core.addPath`, which writes `GITHUB_PATH` and so only affects **later** steps. The watchdog starts before the action — that is the point of it — and inherits the runner's own PATH, where a bare `adb` need not resolve. Every call failed into `2>/dev/null` and the sampler recorded the silence as zero. It now resolves adb by path (preferring `ANDROID_HOME`), re-resolves each iteration in case platform-tools arrives later, and echoes the path it settled on. The launch step prints `ANDROID_HOME` and `command -v adb` so a repeat is one line to spot. Same file, same dispatch-only trigger, same admin merge rationale: it cannot be exercised until it is on the default branch and nothing else triggers it. actionlint 1.7.12 exit 0; PyYAML parse OK; both embedded helpers pass `bash -n`. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Sign in to join this conversation.