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

63 lines
1.6 KiB
YAML

name: PR
on: pull_request
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: Debug
compiler_name: GCC
test_path: StormTest
os: ubuntu-latest
cc: gcc
cxx: g++
- system_name: macOS
build_type: Debug
compiler_name: Clang
test_path: StormTest
os: macos-latest
cc: clang
cxx: clang++
- system_name: Windows
build_type: Debug
compiler_name: MSVC
test_path: Debug/StormTest
os: windows-latest
cc: cl
cxx: cl
steps:
- uses: actions/checkout@v6
with:
submodules: true
- name: Install Dependencies (${{ matrix.build.os }})
run: sudo apt install -y lcov
if: matrix.build.os == 'ubuntu-latest'
- 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 }}