name: ci
on: [push, pull_request]
jobs:
  build:
    strategy:
      matrix:
        os: [ubuntu-latest, macos-latest, windows-latest]
        cc: [gcc, clang]
    runs-on: ${{ matrix.os }}
    steps:
      - uses: actions/checkout@v4
      - name: Configure
        run: cmake -S . -B build -DBUILD_TESTING=ON
      - name: Build
        run: cmake --build build --config Release -j 2
      - name: Test
        run: ctest --test-dir build --output-on-failure
  cppcheck:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: deep5050/cppcheck-action@v6
        with: { enable: "all", std: "c11", inconclusive: true }
