aboutsummaryrefslogtreecommitdiffstats
path: root/.github/workflows/c.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/c.yml')
-rw-r--r--.github/workflows/c.yml52
1 files changed, 52 insertions, 0 deletions
diff --git a/.github/workflows/c.yml b/.github/workflows/c.yml
new file mode 100644
index 0000000..058e70f
--- /dev/null
+++ b/.github/workflows/c.yml
@@ -0,0 +1,52 @@
+name: C
+
+on:
+ push:
+ paths:
+ - "**.c"
+ - "**.h"
+ pull_request:
+ paths:
+ - "**.c"
+ - "**.h"
+
+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
+
+ 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 \ No newline at end of file