whoa/.github/workflows/pr.yml
2025-12-27 12:13:47 -06:00

69 lines
1.8 KiB
YAML

name: PR
on: [pull_request]
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: WhoaTest
cc: cl
cxx: cl
steps:
- uses: actions/checkout@v6
with:
submodules: recursive
- name: Download Fixtures
run: aws s3 cp --endpoint-url ${{ env.AWS_ENDPOINT_URL }} s3://reliquaryhq-whoa/fixture.tgz test/fixture/
env:
AWS_ACCESS_KEY_ID: ${{ secrets.STORAGE_AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.STORAGE_AWS_SECRET_ACCESS_KEY }}
AWS_ENDPOINT_URL: ${{ vars.STORAGE_AWS_ENDPOINT_URL }}
- name: Unpack Fixtures
run: tar -xvzf fixture.tgz
working-directory: test/fixture
- name: Prepare
run: mkdir build
- name: Configure
run: cmake .. -DCMAKE_BUILD_TYPE=${{ matrix.config.build_type }}
working-directory: build
- name: Build
run: cmake --build . --config ${{ matrix.config.build_type }}
working-directory: build
- name: Install
run: cmake --install . --config ${{ matrix.config.build_type }}
working-directory: build
- name: Test
run: ../../build/dist/bin/${{ matrix.config.test_path }}
working-directory: test/fixture