Skip to content

Add tests using CTest #10

Add tests using CTest

Add tests using CTest #10

Workflow file for this run

name: Build and test with CMake
on:
push:
branches:
- master
pull_request:
branches:
- master
jobs:
build:
runs-on: ${{matrix.os}}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
build_type:
- Release
c_compiler:
- gcc
- clang
steps:
- uses: actions/checkout@v4
- name: Install libcap-dev
uses: awalsh128/cache-apt-pkgs-action@v1
with:
packages: libcap libcap-dev
version: 1.0
- name: Set reusable strings
# Turn repeated input strings (such as the build output directory) into step outputs. These step outputs can be used throughout the workflow file.
id: strings
shell: bash
run: |
echo "build-output-dir=${{github.workspace}}/build" >> "$GITHUB_OUTPUT"
- name: Configure CMake
# See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type
run: >
cmake
-B ${{steps.strings.outputs.build-output-dir}}
-DCMAKE_C_COMPILER=${{matrix.c_compiler}}
-DCMAKE_BUILD_TYPE=${{matrix.build_type}}
-S ${{github.workspace}}
- name: Build
# Note that --config is needed because the default Windows generator is a multi-config generator (Visual Studio generator).
run: cmake --build ${{steps.strings.outputs.build-output-dir}} --config ${{matrix.build_type}}
- name: Test
working-directory: ${{steps.strings.outputs.build-output-dir}}
# Note that --build-config is needed because the default Windows generator is a multi-config generator (Visual Studio generator).
# See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail
run: ctest --build-config ${{matrix.build_type}} --output-on-failure