45 lines
1.1 KiB
YAML
45 lines
1.1 KiB
YAML
|
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
|