From 0a11910c2aeb300f1fce969ed4c2dbb8ee1b9def Mon Sep 17 00:00:00 2001 From: Sandy Carter Date: Sun, 15 Jan 2023 18:48:37 -0500 Subject: [PATCH] actions: Add android cross compile test --- .github/workflows/ci.yml | 38 +++++++++++++++++++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 29ec250..a5316f5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,7 +8,7 @@ on: branches: [ master ] jobs: - job: + native: name: ${{ matrix.os }} ${{ matrix.cc }} runs-on: ${{ matrix.os }} strategy: @@ -61,3 +61,39 @@ jobs: - name: Build examples run: | cmake --build "${{ env.CMAKE_BUILD_DIR }}" --target examples + + cross-android: + name: cross-android + runs-on: ubuntu-latest + strategy: + fail-fast: false + + env: + # Indicates the CMake build directory where project files and binaries are being produced. + CMAKE_BUILD_DIR: ${{ github.workspace }}/build/ + + steps: + - uses: actions/checkout@v2 + with: + submodules: recursive + - name: Install Linux dependencies + run: | + sudo apt-get update + sudo apt install -y libgl1-mesa-dev + if: matrix.os == 'ubuntu-latest' + + # Setup the build machine with the most recent versions of CMake and Ninja. Both are cached if not already: on subsequent runs both will be quickly restored from GitHub cache service. + - uses: lukka/get-cmake@latest + + # On Windows runners, let's ensure to have the Developer Command Prompt environment setup correctly. As used here the Developer Command Prompt created is targeting x64 and using the default the Windows SDK. + - uses: ilammy/msvc-dev-cmd@v1 + + # Run CMake to generate Ninja project files + - name: Generate project files + run: | + cmake -B "${{ env.CMAKE_BUILD_DIR }}" -GNinja -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=${ANDROID_NDK_HOME}/build/cmake/android.toolchain.cmake -DBGFX_BUILD_TOOLS=OFF + + # Build the whole project with Ninja (which is spawn by CMake). + - name: Build + run: | + cmake --build "${{ env.CMAKE_BUILD_DIR }}"