mirror of
https://github.com/TerryCavanagh/VVVVVV.git
synced 2024-12-23 10:09:43 +01:00
0622035424
Required for Actions workflow due to windows-latest Version Change
202 lines
5.6 KiB
YAML
202 lines
5.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:edb1636c49386d0f929722cd0d8a618d897d23af33c754f2b0d3593ceb994629
|
|
|
|
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
|
|
|
|
env:
|
|
SDL_VERSION: 2.0.20
|
|
SDL_MIXER_VERSION: 2.0.4
|
|
|
|
steps:
|
|
- uses: actions/checkout@v1
|
|
|
|
- name: Cache SDL
|
|
uses: actions/cache@v2
|
|
env:
|
|
cache-name: cache-sdl
|
|
with:
|
|
path: C:\SDL
|
|
key: ${{ runner.os }}-build-${{ env.cache-name }}
|
|
|
|
- name: Cache SDL_mixer
|
|
uses: actions/cache@v2
|
|
env:
|
|
cache-name: cache-sdl-mixer
|
|
with:
|
|
path: C:\SDL_mixer
|
|
key: ${{ runner.os }}-build-${{ env.cache-name }}
|
|
|
|
- name: Download SDL if not cached
|
|
run: |
|
|
if (-Not (Test-Path C:\SDL))
|
|
{
|
|
Invoke-WebRequest "https://github.com/libsdl-org/SDL/releases/download/release-$env:SDL_VERSION/SDL2-devel-$env:SDL_VERSION-VC.zip" -o C:\SDL.zip
|
|
Expand-Archive C:\SDL.zip -DestinationPath C:\
|
|
}
|
|
|
|
- name: Download SDL_mixer if not cached
|
|
run: |
|
|
if (-Not (Test-Path C:\SDL_mixer))
|
|
{
|
|
Invoke-WebRequest "https://www.libsdl.org/projects/SDL_mixer/release/SDL2_mixer-devel-$env:SDL_MIXER_VERSION-VC.zip" -o C:\SDL_mixer.zip
|
|
Expand-Archive C:\SDL_mixer.zip -DestinationPath C:\
|
|
}
|
|
|
|
- name: CMake configure (default version)
|
|
run: |
|
|
mkdir $env:SRC_DIR_PATH/build
|
|
cd $env:SRC_DIR_PATH/build
|
|
$env:LDFLAGS = "/LIBPATH:C:\SDL2-$env:SDL_VERSION\lib\x86 "
|
|
$env:LDFLAGS += "/LIBPATH:C:\SDL2_mixer-$env:SDL_MIXER_VERSION\lib\x86"
|
|
cmake -G "Visual Studio 17 2022" -A Win32 `
|
|
-DSDL2_INCLUDE_DIRS="C:\SDL2-$env:SDL_VERSION\include;C:\SDL2_mixer-$env:SDL_MIXER_VERSION\include" `
|
|
-DSDL2_LIBRARIES="SDL2;SDL2main;SDL2_mixer" ..
|
|
- name: Build (default version)
|
|
run: |
|
|
cd $env:SRC_DIR_PATH/build
|
|
cmake --build .
|
|
|
|
- name: CMake configure (official)
|
|
run: |
|
|
cd $env:SRC_DIR_PATH/build
|
|
cmake -DOFFICIAL_BUILD=ON ..
|
|
- name: Build (official)
|
|
run: |
|
|
cd $env:SRC_DIR_PATH/build
|
|
cmake --build .
|
|
|
|
- name: CMake configure (M&P)
|
|
run: |
|
|
cd $env:SRC_DIR_PATH/build
|
|
cmake -DOFFICIAL_BUILD=OFF -DMAKEANDPLAY=ON ..
|
|
- name: Build (M&P)
|
|
run: |
|
|
cd $env:SRC_DIR_PATH/build
|
|
cmake --build .
|
|
|
|
- name: CMake configure (no custom levels)
|
|
run: |
|
|
cd $env:SRC_DIR_PATH/build
|
|
cmake -DMAKEANDPLAY=OFF -DCUSTOM_LEVEL_SUPPORT=DISABLED ..
|
|
- name: Build (no custom levels)
|
|
run: |
|
|
cd $env:SRC_DIR_PATH/build
|
|
cmake --build .
|
|
|
|
- name: CMake configure (no editor)
|
|
run: |
|
|
cd $env:SRC_DIR_PATH/build
|
|
cmake -DCUSTOM_LEVEL_SUPPORT=NO_EDITOR ..
|
|
- name: Build (no editor)
|
|
run: |
|
|
cd $env:SRC_DIR_PATH/build
|
|
cmake --build .
|