Malinskiy / action-android

Collection of Android-related GitHub Actions
MIT License
183 stars 23 forks source link

Emulator action fails with Android API 31 on x86_64 ABI on macos-latest #75

Open mpconte opened 2 years ago

mpconte commented 2 years ago

With the following workflow:

name: Android CI

on:
  push:
    branches: [ "pinch_zoom" ]

jobs:
  build:

    runs-on: macos-latest

    steps:
    - uses: actions/checkout@v3

    - name: Create directory for jni libs
      run: mkdir app/libs && mkdir app/libs/arm64-v8a      

    - name: set up JDK 17
      uses: actions/setup-java@v3
      with:
        java-version: '17'
        distribution: 'temurin'
        cache: gradle

    - name: Setup gradle
      uses: gradle/gradle-build-action@v2    

    - name: Install Android Sdk
      uses: malinskiy/action-android/install-sdk@release/0.1.0

    - name: Copy jar files to app folder
      run: gradle extractLibs

    - name: Instrumentation Tests
      uses: malinskiy/action-android/emulator-run-cmd@release/0.1.0
      with:
        api: 31
        cmd: ./gradlew connectedCheck --stacktrace
        tag: google_apis
        abi: x86_64

    - name: Build apk file
      run: gradle assembleRelease

    - name: Upload (unsigned) APK
      uses: actions/upload-artifact@v2.2.4
      with:
          name: kotlin_demo_apk
          path: ${{github.workspace}}/app/build/outputs/apk/release/app-release-unsigned.apk

I receive the the following error on the "Instrumentation Tests" step:

Run malinskiy/action-android/emulator-run-cmd@release/0.1.0
  with:
    api: 31
    cmd: ./gradlew connectedCheck --stacktrace
    tag: google_apis
    abi: x86_64
    disableAnimations: false
    cmdOptions: -no-snapshot-save -noaudio -no-boot-anim
    verbose: false
  env:
    JAVA_HOME: /Users/runner/hostedtoolcache/Java_Temurin-Hotspot_jdk/17.0.4-101/x64/Contents/Home
    JAVA_HOME_17_X64: /Users/runner/hostedtoolcache/Java_Temurin-Hotspot_jdk/17.0.4-101/x64/Contents/Home
    GRADLE_BUILD_ACTION_SETUP_COMPLETED: true
    GRADLE_BUILD_ACTION_CACHE_RESTORED: true
    ANDROID_HOME: /Users/runner/android-sdk
    ANDROID_SDK_ROOT: /Users/runner/android-sdk
    ANDROID_SDK_HOME: /Users/runner/android-sdk/sdk_home
    PATH: /Users/runner/android-sdk/cmdline-tools/latest/bin:/Users/runner/android-sdk/cmdline-tools/bootstrap-version/bin:/Users/runner/android-sdk/bin:/Users/runner/android-sdk/platform-tools:/Users/runner/android-sdk/platform-tools/bin:/Users/runner/hostedtoolcache/Java_Temurin-Hotspot_jdk/17.0.4-101/x64/Contents/Home/bin:/usr/local/lib/ruby/gems/[2](https://github.com/SensoftInc/kotlin_demo/actions/runs/3061680978/jobs/4941749807#step:8:2).7.0/bin:/usr/local/opt/ruby@2.7/bin:/usr/local/opt/pipx_bin:/Users/runner/.cargo/bin:/usr/local/opt/curl/bin:/usr/local/bin:/usr/local/sbin:/Users/runner/bin:/Users/runner/.yarn/bin:/Library/Frameworks/Mono.framework/Versions/Current/Commands:/usr/bin:/bin:/usr/sbin:/sbin:/Users/runner/.dotnet/tools:/Users/runner/.ghcup/bin:/Users/runner/hostedtoolcache/stack/2.7.5/x64
Starting emulator with API=[3](https://github.com/SensoftInc/kotlin_demo/actions/runs/3061680978/jobs/4941749807#step:8:3)1, TAG=google_apis and ABI=x86_6[4](https://github.com/SensoftInc/kotlin_demo/actions/runs/3061680978/jobs/4941749807#step:8:4)...
ANDROID_HOME is /Users/runner/android-sdk
PATH is /Users/runner/hostedtoolcache/Java_Temurin-Hotspot_jdk/17.0.4-101/x64/Contents/Home/bin:/Users/runner/android-sdk/cmdline-tools/latest/bin:/Users/runner/android-sdk/cmdline-tools/bootstrap-version/bin:/Users/runner/android-sdk/bin:/Users/runner/android-sdk/platform-tools:/Users/runner/android-sdk/platform-tools/bin:/Users/runner/hostedtoolcache/Java_Temurin-Hotspot_jdk/17.0.4-101/x64/Contents/Home/bin:/usr/local/lib/ruby/gems/2.7.0/bin:/usr/local/opt/ruby@2.7/bin:/usr/local/opt/pipx_bin:/Users/runner/.cargo/bin:/usr/local/opt/curl/bin:/usr/local/bin:/usr/local/sbin:/Users/runner/bin:/Users/runner/.yarn/bin:/Library/Frameworks/Mono.framework/Versions/Current/Commands:/usr/bin:/bin:/usr/sbin:/sbin:/Users/runner/.dotnet/tools:/Users/runner/.ghcup/bin:/Users/runner/hostedtoolcache/stack/2.7.[5](https://github.com/SensoftInc/kotlin_demo/actions/runs/3061680978/jobs/4941749807#step:8:5)/x[6](https://github.com/SensoftInc/kotlin_demo/actions/runs/3061680978/jobs/4941749807#step:8:6)4
bash -c \/Users/runner/android-sdk/cmdline-tools/bootstrap-version/bin/sdkmanager emulator 'cmdline-tools;latest' platform-tools 'system-images;android-31;google_apis;x86_64' > /dev/null
Warning: Package "com.android.repository.impl.generated.v1.RemotePackage@863915f1" (emulator) should be installed in 
"/Users/runner/android-sdk/emulator" but 
it already exists.
Installing in "/Users/runner/android-sdk/emulator-2" instead.
bash -c \/Users/runner/android-sdk/cmdline-tools/bootstrap-version/bin/sdkmanager 'platforms;android-31' > /dev/null
Warning: Observed package id 'emulator' in inconsistent location '/Users/runner/android-sdk/emulator-2' (Expected '/Users/runner/android-sdk/emulator')
Warning: Already observed package id 'emulator' in '/Users/runner/android-sdk/emulator'. Skipping duplicate at '/Users/runner/android-sdk/emulator-2'
Warning: Observed package id 'emulator' in inconsistent location '/Users/runner/android-sdk/emulator-2' (Expected '/Users/runner/android-sdk/emulator')
Warning: Already observed package id 'emulator' in '/Users/runner/android-sdk/emulator'. Skipping duplicate at '/Users/runner/android-sdk/emulator-2'
/Users/runner/android-sdk/emulator/emulator -accel-check
accel:
0
Hypervisor.Framework OS X Version 11.[7](https://github.com/SensoftInc/kotlin_demo/actions/runs/3061680978/jobs/4941749807#step:8:7)
accel
bash -c \echo -n no | /Users/runner/android-sdk/cmdline-tools/bootstrap-version/bin/avdmanager create avd -n emulator --package "system-images;android-31;google_apis;x[8](https://github.com/SensoftInc/kotlin_demo/actions/runs/3061680978/jobs/4941749807#step:8:8)6_64" --tag google_apis
Loading local repository...                                                     
Warning: Observed package id 'emulator' in inconsistent location '/Users/runner/android-sdk/emulator-2' (Expected '/Users/runner/android-sdk/emulator')
Warning: Already observed package id 'emulator' in '/Users/runner/android-sdk/emulator'. Skipping duplicate at '/Users/runner/android-sdk/emulator-2'
[=========                              ] 25% Loading local repository...       
[=========                              ] 25% Fetch remote repository...        
[=======================================] 100% Fetch remote repository...       
Auto-selecting single ABI x86_64
Do you wish to create a custom hardware profile? [no] starting adb server
/Users/runner/android-sdk/platform-tools/adb start-server
* daemon not running; starting now at tcp:5037
* daemon started successfully
bash -c \/Users/runner/android-sdk/emulator/emulator @emulator -no-snapshot-save -noaudio -no-boot-anim &
INFO    | Android emulator version 31.3.10.0 (build_id 8807[9](https://github.com/SensoftInc/kotlin_demo/actions/runs/3061680978/jobs/4941749807#step:8:9)27) (CL:N/A)
emulator: INFO: Found systemPath /Users/runner/android-sdk/system-images/android-31/google_apis/x86_64/
WARNING | unexpected system image feature string, emulator might not function correctly, please try updating the emulator.
WARNING | /etc/localtime does not point to zoneinfo-compatible timezone name
WARNING | Your GPU drivers may have a bug. Switching to software rendering.
WARNING | cannot add library /Users/runner/android-sdk/emulator/qemu/darwin-x86_64/lib64/vulkan/libvulkan.dylib: failed
INFO    | Duplicate loglines will be removed, if you wish to see each indiviudal line launch with the -log-nofilter flag.
INFO    | added library /Users/runner/android-sdk/emulator/lib64/vulkan/libvulkan.dylib
INFO    | configAndStartRenderer: setting vsync to 60 hz
INFO    | Sending adb public key [QAAAAKs8wND9IZYaY3vbiSiGuIygJA56muTduQdd9gVFNJHMd7mE/0CrGUwfxKKy/hlGX6kzhJxOfZpXUmpRyd3Roz8M1++t5uxrRvHLlbzG0kITI0+87asT3Wz4YUJlYYXQfINm3+jzrps1YE0JAav+CWSMMGCivyI6XFj6cKlKg9ISzEJa2ZsBZIp2qMSW7MJ4IV19nX3ik1X0CUEDXmSx0Zvx/inN9mUnqT0aSx3raiDP2ko+6hP8SfbdoJyCtl8WhgIq+BWO6B2eDDMLXqmy7cxpp0yMbIT/c3JTS6KMWp+9GaK4t5rBy+FgnXPUKOnrXATg7/ALQ6TcpVCGWcIs/ealoXDJxHj6efaN1qKwPDKPv48XBAk9HlJ3gjZu5IKF50Up64LHn0nVIZ7TDf6TmkWeRFO1mGQqhvt7o3hrJHqMpuWPDLllZDmGVOp4xkeB5ecPHyQlJZsCiCd2zfwtrQjoycFnS4IViyB5kxeHjUPrdGpfiskgxKucCBX7SsbqL+na/uZtw20ZA476ykal5saipEIDf81CJIkE/XRmTrPwPvu4uMqS9ymT/gBDE1TJ/pC5W18TxRPx1mvYr1ueIa80D2ayiOvYQC3RTdeVEm5ZbijiRL+QvON2qetXC6GTFDvf7Q//odyzvFqKGCrzU4KYmwpwNlemhwCQuLRcxNXSHtnVxgEAAQA= runner@unknown]
INFO    | injectedQemuChannel!
INFO    | Informing listeners of injection.
INFO    | Rootcanal has  been activated.
WARNING | /etc/localtime does not point to zoneinfo-compatible timezone name
WARNING | *** No gRPC protection active, consider launching with the -grpc-use-jwt flag.***
INFO    | Started GRPC server at [12](https://github.com/SensoftInc/kotlin_demo/actions/runs/3061680978/jobs/4941749807#step:8:12)7.0.0.1:8554, security: Local, auth: none
INFO    | Advertising in: /Users/runner/Library/Caches/TemporaryItems/avd/running/pid_7471.ini
INFO    | setDisplayConfigs w 320 h 640 dpiX 160 dpiY 160
WARNING | Failed to process .ini file /Users/runner/android-sdk/sdk_home/.android/emu-update-last-check.ini for reading.
INFO    | Your emulator is out of date, please update by launching Android Studio:
 - Start Android Studio
 - Select menu "Tools > Android > SDK Manager"
 - Click "SDK Tools" tab
 - Check "Android Emulator" checkbox
 - Click "OK"

WARNING | Failed to process .ini file /Users/runner/android-sdk/sdk_home/.android/emu-update-last-check.ini for reading.
/Users/runner/android-sdk/platform-tools/adb -s emulator-5554 shell getprop sys.boot_completed
adb: device offline
The process '/Users/runner/android-sdk/platform-tools/adb' failed with exit code 1
Sleeping for 1s
2022-09-[15](https://github.com/SensoftInc/kotlin_demo/actions/runs/3061680978/jobs/4941749807#step:8:15) 15:29:41.886 qemu-system-x86_64[7471:23388] [CAMetalLayer nextDrawable] returning nil because device is nil.
2022-09-15 15:29:41.967 qemu-system-x86_64[7471:23388] [CAMetalLayer nextDrawable] returning nil because device is nil.
2022-09-15 15:29:41.994 qemu-system-x86_64[7471:23388] [CAMetalLayer nextDrawable] returning nil because device is nil.
2022-09-15 15:29:41.996 qemu-system-x86_64[7471:23388] [CAMetalLayer nextDrawable] returning nil because device is nil.
2022-09-15 15:29:42.000 qemu-system-x86_64[7471:23388] [CAMetalLayer nextDrawable] returning nil because device is nil.
2022-09-15 15:29:42.001 qemu-system-x86_64[7471:23388] [CAMetalLayer nextDrawable] returning nil because device is nil.
2022-09-15 15:29:42.006 qemu-system-x86_64[7471:23388] [CAMetalLayer nextDrawable] returning nil because device is nil.
2022-09-15 15:29:42.0[17](https://github.com/SensoftInc/kotlin_demo/actions/runs/3061680978/jobs/4941749807#step:8:17) qemu-system-x86_64[7471:[23](https://github.com/SensoftInc/kotlin_demo/actions/runs/3061680978/jobs/4941749807#step:8:24)[38](https://github.com/SensoftInc/kotlin_demo/actions/runs/3061680978/jobs/4941749807#step:8:39)8] [CAMetalLayer nextDrawable] returning nil because device is nil.
/Users/runner/android-sdk/platform-tools/adb -s emulator-55[54](https://github.com/SensoftInc/kotlin_demo/actions/runs/3061680978/jobs/4941749807#step:8:55) shell getprop sys.boot_completed
The process '/Users/runner/android-sdk/platform-tools/adb' failed with exit code 1
adb: device offline
Sleeping for 1s
/Users/runner/android-sdk/platform-tools/adb -s emulator-[55](https://github.com/SensoftInc/kotlin_demo/actions/runs/3061680978/jobs/4941749807#step:8:56)54 shell getprop sys.boot_completed
The process '/Users/runner/android-sdk/platform-tools/adb' failed with exit code 1
adb: device offline
Sleeping for 1s
/Users/runner/android-sdk/platform-tools/adb -s emulator-5554 shell getprop sys.boot_completed
The process '/Users/runner/android-sdk/platform-tools/adb' failed with exit code 1
adb: device offline
Sleeping for 1s
/Users/runner/android-sdk/platform-tools/adb -s emulator-5554 shell getprop sys.boot_completed
The process '/Users/runner/android-sdk/platform-tools/adb' failed with exit code 1
adb: device offline
Sleeping for 1s
...
hannesa2 commented 1 year ago

I solved it simply by increase boot time bootTimeout: 720 https://github.com/hannesa2/paho.mqtt.android/blob/210827966f96eb7e81adb95550587d1c816eaa5c/.github/workflows/pullrequest.yml#L45