mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2024-12-21 08:00:25 +00:00
69 lines
2.0 KiB
YAML
69 lines
2.0 KiB
YAML
|
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
|