name: C on: push: paths: - "**.c" - "**.h" - ".github/workflows/c.yml" pull_request: paths: - "**.c" - "**.h" - ".github/workflows/c.yml" jobs: cmake: name: CMake Builds runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: [ubuntu-latest, macos-latest, windows-latest] steps: - name: Checkout repository uses: actions/checkout@v4 - name: Configure CMake run: cmake -B build -S . - name: Build run: cmake --build build - name: Test run: ctest --test-dir build --output-on-failure -C Debug meson: name: Meson Builds runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: [ubuntu-latest, macos-latest, windows-latest] steps: - name: Checkout repository uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v5 with: python-version: "3.x" - name: Install dependencies run: python -m pip install meson ninja - name: Configure Meson run: meson build - name: Build run: ninja -C build - name: Test run: meson test -C build --print-errorlogs