52 lines
1.5 KiB
YAML
52 lines
1.5 KiB
YAML
name: Mac builds
|
|
|
|
on: [push, pull_request]
|
|
|
|
jobs:
|
|
build:
|
|
# macos-12 updated to a toolchain that crashes when linking the
|
|
# test binary. This seems to be a known bug in that version,
|
|
# and will eventually get fixed in an update. After that, we can go
|
|
# back to newer macos images.
|
|
runs-on: macos-11
|
|
strategy:
|
|
matrix:
|
|
cxx:
|
|
- g++-11
|
|
- clang++
|
|
build_type: [Debug, Release]
|
|
std: [14, 17]
|
|
include:
|
|
- build_type: Debug
|
|
examples: ON
|
|
extra_tests: ON
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Configure build
|
|
working-directory: ${{runner.workspace}}
|
|
env:
|
|
CXX: ${{matrix.cxx}}
|
|
CXXFLAGS: ${{matrix.cxxflags}}
|
|
# Note: $GITHUB_WORKSPACE is distinct from ${{runner.workspace}}.
|
|
# This is important
|
|
run: |
|
|
cmake -Bbuild -H$GITHUB_WORKSPACE \
|
|
-DCMAKE_BUILD_TYPE=${{matrix.build_type}} \
|
|
-DCMAKE_CXX_STANDARD=${{matrix.std}} \
|
|
-DCMAKE_CXX_STANDARD_REQUIRED=ON \
|
|
-DCATCH_DEVELOPMENT_BUILD=ON \
|
|
-DCATCH_BUILD_EXAMPLES=${{matrix.examples}} \
|
|
-DCATCH_BUILD_EXTRA_TESTS=${{matrix.examples}}
|
|
|
|
- name: Build tests + lib
|
|
working-directory: ${{runner.workspace}}/build
|
|
run: make -j `sysctl -n hw.ncpu`
|
|
|
|
- name: Run tests
|
|
env:
|
|
CTEST_OUTPUT_ON_FAILURE: 1
|
|
working-directory: ${{runner.workspace}}/build
|
|
run: ctest -C ${{matrix.build_type}} -j `sysctl -n hw.ncpu`
|