thunderbrew/.github/workflows/push.yml
2024-07-21 20:50:58 -04:00

62 lines
1.4 KiB
YAML

name: Push
on:
push:
branches:
- master
jobs:
build:
name: ${{ matrix.config.name }}
runs-on: ${{ matrix.config.os }}
strategy:
fail-fast: false
matrix:
config:
- name: Ubuntu Latest (GCC)
os: ubuntu-latest
build_type: Release
test_path: WhoaTest
cc: gcc
cxx: g++
- name: macOS Latest (Clang)
os: macos-latest
build_type: Release
test_path: WhoaTest
cc: clang
cxx: clang++
- name: Windows Latest (MSVC)
os: windows-latest
build_type: Release
test_path: Release/WhoaTest
cc: cl
cxx: cl
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: What OS?
run: echo "$RUNNER_OS"
- name: Install dependencies (Ubuntu)
if: runner.os == 'Linux'
run: |
sudo apt update
sudo apt install -y libopengl-dev libglx-dev libxext-dev libglvnd-dev
- name: Prepare
run: mkdir build
- name: Configure
run: cd build && cmake .. -DCMAKE_BUILD_TYPE=${{ matrix.config.build_type }}
- name: Build
run: cmake --build build --config ${{ matrix.config.build_type }}
- name: Test
run: ./build/bin/${{ matrix.config.test_path }}