-
-
Notifications
You must be signed in to change notification settings - Fork 235
Description
When an issue is encountered with the runner, it is nearly impossible to diagnose what is wrong because almost all useful output is being suppressed. As an example, I am trying to diagnose an AVD creation issue with the following configuration:
- name: Run Tests in Emulator
uses: reactivecircus/android-emulator-runner@v2
with:
api-level: 27
target: 'default'
profile: 'Nexus 5'
force-avd-creation: 'true'
sdcard-path-or-size: 64MB
script: |
adb wait-for-device
adb push configs/details.json /sdcard
adb install -r *.apk
robot test-cases/HomeComponentsTest.robotLooking at the error logs, I can see that the AVD is not being created:
Creating AVD.
/usr/bin/sh -c \echo no | avdmanager create avd --force -n test --abi 'default/x86' --package 'system-images;android-27;default;x86' --device 'Nexus 5' --sdcard '64MB'
Loading local repository...
[========= ] 25% Loading local repository...
[========= ] 25% Fetch remote repository...
[=======================================] 100% Fetch remote repository...
Error: AVD not created.
null
However, this is as far as I can go with diagnosis, because when I turn on debug logging the output is identical. Looking again at the commands being run, they all send their output to the void:
/usr/bin/sh -c \yes | sdkmanager --licenses > /dev/null
/usr/bin/sh -c \sdkmanager --install 'build-tools;35.0.0' platform-tools 'platforms;android-27'> /dev/null
/usr/bin/sh -c \sdkmanager --install emulator --channel=0 > /dev/null
/usr/bin/sh -c \sdkmanager --install 'system-images;android-27;default;x86' --channel=0 > /dev/null
/usr/bin/sh -c \echo no | avdmanager create avd --force -n test --abi 'default/x86' --package 'system-images;android-27;default;x86' --device 'Nexus 5' --sdcard '64MB'This makes diagnosis of issues incredibly difficult. Did I make an error in my config? Did I select an incompatible set of profile, API level, etc? I have no idea. It would be much better if the action would detect debug mode in GitHub and output full logging if it is switched on.