version 13.0a #666
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Github CI on Android | |
on: | |
workflow_dispatch: | |
push: | |
branches: [master] | |
pull_request: | |
branches: [master] | |
jobs: | |
android_build: | |
name: Test build | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Validate gradle-wrapper.jar | |
uses: gradle/wrapper-validation-action@v1 | |
- name: Install build dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get -y install gcc libsdl1.2-dev libsdl-ttf2.0-dev libsdl-gfx1.2-dev libsdl-mixer1.2-dev libglew-dev libpng-dev | |
- name: Build | |
run: | | |
cd hyperroid | |
./copy.sh | |
./gradlew assembleDebug | |
- name: Upload APK | |
uses: actions/upload-artifact@v2 | |
with: | |
name: hyperroid_debug | |
path: hyperroid/app/build/outputs/apk/debug/app-debug.apk | |
android_test: | |
needs: android_build | |
name: Test-run in emulator | |
runs-on: macos-latest | |
steps: | |
- name: Download APK | |
uses: actions/download-artifact@v2 | |
with: | |
name: hyperroid_debug | |
- name: Create a helper wait script | |
run: | | |
cat > wait-for-load.sh << ENDOFSCRIPT | |
#!/bin/sh | |
while ! adb logcat -d "HyperRogue:V" "*:S" | grep "Game initialized" | |
do | |
sleep 2 | |
done | |
ENDOFSCRIPT | |
chmod u+x wait-for-load.sh | |
- name: Run in emulator | |
uses: ReactiveCircus/android-emulator-runner@v2.11.1 | |
with: | |
api-level: 28 | |
emulator-options: -no-window -gpu swiftshader_indirect -no-snapshot -no-snapstorage -noaudio -no-boot-anim -skin 1440x2560 | |
script: | | |
adb wait-for-device | |
adb install -t app-debug.apk | |
adb shell am start -W -n com.roguetemple.hyperroid/com.roguetemple.hyperroid.HyperRogue | |
./wait-for-load.sh | |
adb shell input keyevent 41 # send "M" keypress to display main menu | |
adb shell screencap /sdcard/hyperroid.png | |
adb pull /sdcard/hyperroid.png | |
- name: Upload screenshot | |
uses: actions/upload-artifact@v2 | |
with: | |
name: screenshot | |
path: hyperroid.png |