VVVVVV/.github/workflows/ci.yml

132 lines
3.4 KiB
YAML

name: CI
# Trigger this workflow on push or pull request
on: [push, pull_request]
env:
SRC_DIR_PATH: desktop_version
jobs:
build:
name: Build
runs-on: ${{ matrix.os }}
env:
CXXFLAGS: -I/usr/local/include/SDL2
LDFLAGS: -L/usr/local/lib
strategy:
matrix:
os: [ubuntu-18.04, macos-latest]
steps:
- uses: actions/checkout@v1
- name: Install dependencies (Linux)
if: startsWith(matrix.os, 'ubuntu')
run: |
sudo apt-get update
sudo apt-get install -y ninja-build libsdl2-dev libsdl2-mixer-dev
- name: Install dependencies (macOS)
if: startsWith(matrix.os, 'macos')
run: brew install ninja sdl2 sdl2_mixer
- name: CMake configure (default version)
run: |
mkdir ${SRC_DIR_PATH}/build && cd ${SRC_DIR_PATH}/build
cmake -GNinja ..
- name: Build (default version)
run: ninja -C ${SRC_DIR_PATH}/build
- name: CMake configure (official)
run: |
cd ${SRC_DIR_PATH}/build
cmake -DOFFICIAL_BUILD=ON ..
- name: Build (official)
run: |
ninja -C ${SRC_DIR_PATH}/build
- name: CMake configure (M&P)
run: |
cd ${SRC_DIR_PATH}/build
cmake -DOFFICIAL_BUILD=OFF -DMAKEANDPLAY=ON ..
- name: Build (M&P)
run: ninja -C ${SRC_DIR_PATH}/build
- name: CMake configure (no custom levels)
run: |
cd ${SRC_DIR_PATH}/build
cmake -DMAKEANDPLAY=OFF -DCUSTOM_LEVEL_SUPPORT=DISABLED ..
- name: Build (no custom levels)
run: ninja -C ${SRC_DIR_PATH}/build
- name: CMake configure (no editor)
run: |
cd ${SRC_DIR_PATH}/build
cmake -DCUSTOM_LEVEL_SUPPORT=NO_EDITOR ..
- name: Build (no editor)
run: ninja -C ${SRC_DIR_PATH}/build
build-win:
name: Build (windows-latest)
runs-on: windows-latest
steps:
- uses: actions/checkout@v1
- name: Install dependencies (Windows)
run: |
vcpkg install sdl2 sdl2-mixer
- name: CMake configure (default version)
run: |
cd $env:SRC_DIR_PATH
$env:LDFLAGS = "/LIBPATH:$env:VCPKG_INSTALLATION_ROOT\installed\x86-windows\lib "
$env:LDFLAGS += "/LIBPATH:$env:VCPKG_INSTALLATION_ROOT\installed\x86-windows\lib\manual-link"
cmake -G "Visual Studio 16 2019" -A Win32 `
-DSDL2_INCLUDE_DIRS="$env:VCPKG_INSTALLATION_ROOT\installed\x86-windows\include\SDL2" `
-DSDL2_LIBRARIES="SDL2;SDL2main;SDL2_mixer" .
- name: Build (default version)
run: |
cd $env:SRC_DIR_PATH
cmake --build .
- name: CMake configure (official)
run: |
cd $env:SRC_DIR_PATH
cmake -DOFFICIAL_BUILD=ON .
- name: Build (official)
run: |
cd $env:SRC_DIR_PATH
cmake --build .
- name: CMake configure (M&P)
run: |
cd $env:SRC_DIR_PATH
cmake -DOFFICIAL_BUILD=OFF -DMAKEANDPLAY=ON .
- name: Build (M&P)
run: |
cd $env:SRC_DIR_PATH
cmake --build .
- name: CMake configure (no custom levels)
run: |
cd $env:SRC_DIR_PATH
cmake -DMAKEANDPLAY=OFF -DCUSTOM_LEVEL_SUPPORT=DISABLED .
- name: Build (no custom levels)
run: |
cd $env:SRC_DIR_PATH
cmake --build .
- name: CMake configure (no editor)
run: |
cd $env:SRC_DIR_PATH
cmake -DCUSTOM_LEVEL_SUPPORT=NO_EDITOR .
- name: Build (no editor)
run: |
cd $env:SRC_DIR_PATH
cmake --build .