87 lines
2.3 KiB
YAML
87 lines
2.3 KiB
YAML
|
name: GitHub Actions CI
|
||
|
|
||
|
on:
|
||
|
push:
|
||
|
branches:
|
||
|
- master
|
||
|
pull_request:
|
||
|
types: [opened, synchronize, reopened]
|
||
|
|
||
|
jobs:
|
||
|
build-linux:
|
||
|
name: Build ${{ matrix.platform.name }} ${{ matrix.compiler.name }} ${{ matrix.flavor }} (${{ matrix.mode.name }})
|
||
|
runs-on: ubuntu-latest
|
||
|
|
||
|
strategy:
|
||
|
fail-fast: false
|
||
|
matrix:
|
||
|
platform:
|
||
|
- { name: x86, flags: "-m32" }
|
||
|
- { name: x64, flags: "-m64" }
|
||
|
compiler:
|
||
|
- { name: GNU, CC: gcc }
|
||
|
- { name: LLVM, CC: clang }
|
||
|
flavor:
|
||
|
- Debug
|
||
|
- Release
|
||
|
mode:
|
||
|
- { name: default, args: "" }
|
||
|
- { name: NO_LIBC, args: -DZYAN_NO_LIBC=ON }
|
||
|
|
||
|
steps:
|
||
|
- name: Checkout
|
||
|
uses: actions/checkout@v3.1.0
|
||
|
|
||
|
- if: matrix.platform.name == 'x86'
|
||
|
name: Bootstrap
|
||
|
run: |
|
||
|
sudo dpkg --add-architecture i386
|
||
|
sudo rm /etc/apt/sources.list.d/* && sudo apt-get update
|
||
|
sudo apt-get install -y g++-multilib g++
|
||
|
|
||
|
- name: Configure
|
||
|
env:
|
||
|
CC: ${{ matrix.compiler.CC }}
|
||
|
CXX: ${{ matrix.compiler.CXX }}
|
||
|
run: |
|
||
|
mkdir build
|
||
|
cd build
|
||
|
cmake -DCMAKE_C_FLAGS=${{ matrix.platform.flags }} -DCMAKE_CXX_FLAGS=${{ matrix.platform.flags }} -DZYAN_DEV_MODE=ON ${{ matrix.mode.args }} ..
|
||
|
|
||
|
- name: Build
|
||
|
run: |
|
||
|
cmake --build build --config ${{ matrix.flavor }}
|
||
|
|
||
|
build-windows:
|
||
|
name: Build ${{ matrix.platform.name }} ${{ matrix.compiler.name }} ${{ matrix.flavor }} (${{ matrix.mode.name }})
|
||
|
runs-on: windows-latest
|
||
|
|
||
|
strategy:
|
||
|
fail-fast: false
|
||
|
matrix:
|
||
|
platform:
|
||
|
- { name: x86, flags: "Win32" }
|
||
|
- { name: x64, flags: "x64" }
|
||
|
compiler:
|
||
|
- { name: MSVC }
|
||
|
flavor:
|
||
|
- Debug
|
||
|
- Release
|
||
|
mode:
|
||
|
- { name: default, args: "" }
|
||
|
- { name: NO_LIBC, args: -DZYAN_NO_LIBC=ON }
|
||
|
|
||
|
steps:
|
||
|
- name: Checkout
|
||
|
uses: actions/checkout@v3.1.0
|
||
|
|
||
|
- name: Configure
|
||
|
run: |
|
||
|
mkdir build
|
||
|
cd build
|
||
|
cmake -DCMAKE_GENERATOR_PLATFORM=${{ matrix.platform.flags }} -DZYAN_DEV_MODE=ON ${{ matrix.mode.args }} ..
|
||
|
|
||
|
- name: Build
|
||
|
run: |
|
||
|
cmake --build build --config ${{ matrix.flavor }}
|