From fe0593dba1e0621d7146adeb77e65825905c8c89 Mon Sep 17 00:00:00 2001 From: Jason Ross Date: Tue, 30 Jun 2026 12:59:35 -0500 Subject: [PATCH] ci: pin ANDROID_AVD_HOME so the API 37 preview emulator finds its AVD The preview emulator failed every boot with "Unknown AVD name [api37]" and exited immediately (no device -> the bounded wait timed out). avdmanager had created the AVD under $ANDROID_SDK_HOME/.android/avd while the emulator searched $ANDROID_SDK_HOME/avd and $HOME/.android/avd. Pin ANDROID_AVD_HOME to one path both tools use, carry it to the boot step via $GITHUB_ENV, and list AVDs after creation to verify. Co-Authored-By: Claude Opus 4.8 --- .github/workflows/ci.yml | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9fdc517..f9564f4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -222,7 +222,16 @@ jobs: run: sdkmanager "$ANDROID_PLATFORM" "$ANDROID_BUILD_TOOLS" "platform-tools" "emulator" "$API37_IMAGE" - name: Create API 37 AVD - run: echo "no" | avdmanager create avd -n api37 -k "$API37_IMAGE" -d pixel_2 --force + run: | + # avdmanager and the emulator disagree on the default AVD dir when ANDROID_SDK_HOME is set + # on the runner (avdmanager writes $ANDROID_SDK_HOME/.android/avd; the emulator looks in + # $ANDROID_SDK_HOME/avd), which made the boot step report "Unknown AVD name [api37]". Pin + # ANDROID_AVD_HOME so both agree, and carry it to the boot step via $GITHUB_ENV. + export ANDROID_AVD_HOME="$HOME/.android/avd" + echo "ANDROID_AVD_HOME=$ANDROID_AVD_HOME" >> "$GITHUB_ENV" + mkdir -p "$ANDROID_AVD_HOME" + echo "no" | avdmanager create avd -n api37 -k "$API37_IMAGE" -d pixel_2 --force + echo "AVDs visible to the emulator:"; "$ANDROID_SDK_ROOT/emulator/emulator" -list-avds - name: Boot emulator and run E2E run: |