GSL/.github/workflows/android.yml

60 lines
2.0 KiB
YAML
Raw Normal View History

2020-08-11 19:28:37 -04:00
name: CI_Android
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
2020-05-04 16:26:50 -04:00
on:
push:
branches: [ main ]
2020-05-04 16:26:50 -04:00
pull_request:
branches: [ main ]
2020-05-04 16:26:50 -04:00
jobs:
Android:
runs-on: macos-latest-large
2020-05-04 16:26:50 -04:00
defaults:
run:
working-directory: build
steps:
- uses: actions/checkout@v4
2020-05-04 16:26:50 -04:00
- name: Create build directory
run: mkdir -p build
working-directory: .
- uses: actions/setup-java@v4
with:
java-version: 8
distribution: zulu
- name: Start Emulator
2020-05-04 16:26:50 -04:00
run: |
echo "y" | $ANDROID_HOME/tools/bin/sdkmanager --install 'system-images;android-24;default;x86_64'
echo "no" | $ANDROID_HOME/tools/bin/avdmanager create avd -n xamarin_android_emulator -k 'system-images;android-24;default;x86_64' --force
$ANDROID_HOME/emulator/emulator -list-avds
echo "Starting emulator..."
nohup $ANDROID_HOME/emulator/emulator -no-audio -no-snapshot -avd xamarin_android_emulator &> /dev/null &
echo "Emulator starting in background"
2020-05-04 16:26:50 -04:00
- name: Configure
run: cmake -Werror=dev -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK_LATEST_HOME/build/cmake/android.toolchain.cmake -DANDROID_PLATFORM=16 -DANDROID_ABI=x86_64 -DCMAKE_BUILD_TYPE=Debug ..
2020-05-04 16:26:50 -04:00
- name: Build
run: cmake --build . --parallel
- name: Wait for emulator ready
timeout-minutes: 2
2020-05-04 16:26:50 -04:00
run: |
$ANDROID_HOME/platform-tools/adb wait-for-device shell 'while [[ -z $(getprop sys.boot_completed | tr -d '\r') ]]; do sleep 10; done; input keyevent 82'
$ANDROID_HOME/platform-tools/adb devices
$ANDROID_HOME/platform-tools/adb shell getprop ro.product.cpu.abi
- name: Deploy tests
run: |
adb push tests /data/local/tmp
adb shell find /data/local/tmp/tests -maxdepth 1 -exec chmod +x {} \\\;
- name: Test
run: adb shell find /data/local/tmp/tests -name "*_tests" -maxdepth 1 -exec {} \\\;