diff --git a/.github/workflows/android-build.yml b/.github/workflows/android-build.yml index bef8422..6edcffc 100644 --- a/.github/workflows/android-build.yml +++ b/.github/workflows/android-build.yml @@ -11,29 +11,31 @@ jobs: ANDROID_HOME: /usr/local/android-sdk MALLOC_ARENA_MAX: 2 ADB_INSTALL_TIMEOUT: 20 + ANDROID_AVD_HOME: /home/runner/.android/avd steps: - name: Checkout code - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Set up JDK 17 - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: - distribution: 'adopt' + distribution: 'temurin' java-version: '17' - name: Setup Android SDK - uses: android-actions/setup-android@v2 + uses: android-actions/setup-android@v3 + with: + packages: 'platform-tools' - name: Install Android SDK components run: | cd $ANDROID_HOME/cmdline-tools/latest/bin ./sdkmanager "platform-tools" ./sdkmanager "emulator" - ./sdkmanager "tools" ./sdkmanager "build-tools;${ANDROID_BUILD_TOOLS_VERSION}" ./sdkmanager "platforms;android-${TARGET_VERSION}" - ./sdkmanager "system-images;android-30;google_apis;x86" + ./sdkmanager "system-images;android-30;google_apis;x86_64" - name: Enable KVM run: | @@ -44,7 +46,8 @@ jobs: - name: Create AVD run: | export PATH=$PATH:$ANDROID_HOME/cmdline-tools/latest/bin - echo "no" | avdmanager create avd -n test -k "system-images;android-30;google_apis;x86" --force + mkdir -p "$ANDROID_AVD_HOME" + echo "no" | avdmanager create avd -n test -k "system-images;android-30;google_apis;x86_64" --force - name: List AVDs (debug) run: | @@ -60,9 +63,10 @@ jobs: export PATH=$PATH:$ANDROID_HOME/emulator:$ANDROID_HOME/cmdline-tools/latest/bin # Verify AVD exists before starting avdmanager list avd - emulator -avd test -no-audio -no-window -no-boot-anim -no-metrics -verbose & + emulator -avd test -no-audio -no-window -no-boot-anim -no-metrics -no-snapshot -gpu swiftshader_indirect -verbose > emulator.log 2>&1 & - name: Wait for emulator + timeout-minutes: 10 run: | # Wait for the emulator to start up echo "Waiting for emulator to boot..." @@ -70,6 +74,10 @@ jobs: adb devices echo "Emulator is ready" + - name: Emulator log (on failure) + if: failure() + run: tail -n 200 emulator.log || true + - name: Export CLOUDINARY_URL run: | export CLOUDINARY_URL=$(bash tools/get_test_cloud.sh)