mirror of
https://github.com/catchorg/Catch2.git
synced 2024-11-16 18:52:25 +01:00
d1d7414eb9
The base images for GitHub Actions are updated weekly, but sometimes that is not enough to be able to install the packages we require. The recommended fix for this is to always run `apt-get update` before `apt-get install`.
46 lines
1.2 KiB
YAML
46 lines
1.2 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
|
|
# Hardcode 2 cores we know are there
|
|
run: |
|
|
meson test --verbose
|