VVVVVV/.github/workflows/ci.yml

170 lines
4.6 KiB
YAML

name: CI
# Trigger this workflow on push or pull request
on: [push, pull_request]
env:
SRC_DIR_PATH: desktop_version
jobs:
build-mac:
name: Build (macos-latest)
runs-on: macos-latest
env:
CXXFLAGS: -I/usr/local/include/SDL2
LDFLAGS: -L/usr/local/lib
steps:
- uses: actions/checkout@v1
- name: Install dependencies
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-lin:
name: Build (CentOS 7)
runs-on: ubuntu-latest
container: ghcr.io/infoteddy/vvvvvv-build@sha256:3f55f514d9418479de1f5240f88a25095fefcd333aa1323f04fe8530ff26d10f
env:
CXXFLAGS: -I/usr/local/include/SDL2
LDFLAGS: -L/usr/local/lib
steps:
- uses: actions/checkout@v1
- name: CMake configure (default version)
run: |
mkdir ${SRC_DIR_PATH}/build && cd ${SRC_DIR_PATH}/build
cmake ..
- name: Build (default version)
run: make -j $(nproc) -C ${SRC_DIR_PATH}/build
- name: CMake configure (official)
run: |
cd ${SRC_DIR_PATH}/build
cmake -DOFFICIAL_BUILD=ON ..
- name: Build (official)
run: |
make -j $(nproc) -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: make -j $(nproc) -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: make -j $(nproc) -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: make -j $(nproc) -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 .