Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 16 additions & 8 deletions .github/workflows/android-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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: |
Expand All @@ -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: |
Expand All @@ -60,16 +63,21 @@ 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..."
adb wait-for-device shell 'while [[ -z $(getprop sys.boot_completed | tr -d '\r') ]]; do sleep 1; done; input keyevent 82'
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)
Expand Down
Loading