aboutsummaryrefslogtreecommitdiffstats
path: root/.github/workflows/linux-meson-builds.yml
diff options
context:
space:
mode:
authorLexi Winter <lexi@le-fay.org>2025-06-29 19:25:29 +0100
committerLexi Winter <lexi@le-fay.org>2025-06-29 19:25:29 +0100
commitbc524d70253a4ab2fe40c3ca3e5666e267c0a4d1 (patch)
tree1e629e7b46b1d9972a973bc93fd100bcebd395be /.github/workflows/linux-meson-builds.yml
downloadnihil-548ea226e1944e077d3ff305df43ef6b366b03f4.tar.gz
nihil-548ea226e1944e077d3ff305df43ef6b366b03f4.tar.bz2
Diffstat (limited to '.github/workflows/linux-meson-builds.yml')
-rw-r--r--.github/workflows/linux-meson-builds.yml44
1 files changed, 44 insertions, 0 deletions
diff --git a/.github/workflows/linux-meson-builds.yml b/.github/workflows/linux-meson-builds.yml
new file mode 100644
index 0000000..4a6cfd5
--- /dev/null
+++ b/.github/workflows/linux-meson-builds.yml
@@ -0,0 +1,44 @@
+name: Linux builds (meson)
+
+on: [push, pull_request]
+
+jobs:
+ build:
+ name: meson ${{matrix.cxx}}, C++${{matrix.std}}, ${{matrix.build_type}}
+ runs-on: ubuntu-22.04
+ strategy:
+ matrix:
+ cxx:
+ - g++-11
+ - clang++-11
+ build_type: [debug, release]
+ std: [14, 17]
+ include:
+ - cxx: clang++-11
+ other_pkgs: clang-11
+
+ steps:
+ - uses: actions/checkout@v4
+
+ - name: Prepare environment
+ run: |
+ sudo apt-get update
+ sudo apt-get install -y meson ninja-build ${{matrix.other_pkgs}}
+
+ - name: Configure build
+ env:
+ CXX: ${{matrix.cxx}}
+ CXXFLAGS: -std=c++${{matrix.std}} ${{matrix.cxxflags}}
+ # Note: $GITHUB_WORKSPACE is distinct from ${{runner.workspace}}.
+ # This is important
+ run: |
+ meson -Dbuildtype=${{matrix.build_type}} ${{runner.workspace}}/meson-build
+
+ - name: Build tests + lib
+ working-directory: ${{runner.workspace}}/meson-build
+ run: ninja
+
+ - name: Run tests
+ working-directory: ${{runner.workspace}}/meson-build
+ run: |
+ meson test --verbose