squall/.github/workflows/push.yml
2025-12-27 13:26:39 -06:00

62 lines
1.5 KiB
YAML

name: Push
on:
push:
branches:
- master
jobs:
build:
name: ${{ matrix.flavor.name }} / ${{ matrix.build.system_name }} / ${{ matrix.build.build_type }} / ${{ matrix.build.compiler_name }}
runs-on: ${{ matrix.build.os }}
strategy:
fail-fast: false
matrix:
flavor:
- name: WoW
define: WOW
- name: SC1
define: SC1
build:
- system_name: Linux
build_type: Release
compiler_name: GCC
test_path: StormTest
os: ubuntu-latest
cc: gcc
cxx: g++
- system_name: macOS
build_type: Release
compiler_name: Clang
test_path: StormTest
os: macos-latest
cc: clang
cxx: clang++
- system_name: Windows
build_type: Release
compiler_name: MSVC
test_path: Release/StormTest
os: windows-latest
cc: cl
cxx: cl
steps:
- uses: actions/checkout@v6
with:
submodules: true
- name: Prepare
run: mkdir build
- name: Configure
run: cd build && cmake .. -DCMAKE_BUILD_TYPE=${{ matrix.build.build_type }} -DWHOA_STORM_FLAVOR=${{ matrix.flavor.define}}
- name: Build
run: cmake --build build --config ${{ matrix.build.build_type }}
- name: Test
run: ./build/test/${{ matrix.build.test_path }}