Skip to content

RowSentinel

RowSentinel #353

Workflow file for this run

name: macOS Clang
on: [push, pull_request]
jobs:
build-and-test:
strategy:
matrix:
include:
- clang_ver: '19'
build_type: 'Release'
flags: '-std=c++23 -Werror -msse2 -DTEST_LIBCXX_NEW'
path_prefix: '/usr/local'
macos_ver: '13'
# macOS-14-arm64
# - clang_ver: '12'
# build_type: 'Release'
# flags: '-std=c++20 -Werror'
# path_prefix: '/opt/homebrew'
# macos_ver: '14'
# - clang_ver: '13'
# build_type: 'Release'
# flags: '-std=c++20 -Werror'
# path_prefix: '/opt/homebrew'
# macos_ver: '14'
# - clang_ver: '14'
# build_type: 'Release'
# flags: '-std=c++20 -Werror'
# path_prefix: '/opt/homebrew'
# macos_ver: '14'
- clang_ver: '15'
build_type: 'Release'
flags: '-std=c++20 -Werror'
path_prefix: '/opt/homebrew'
macos_ver: '14'
- clang_ver: '16'
build_type: 'Release'
flags: '-std=c++20 -Werror'
path_prefix: '/opt/homebrew'
macos_ver: '14'
- clang_ver: '17'
build_type: 'Release'
flags: '-std=c++23 -Werror'
path_prefix: '/opt/homebrew'
macos_ver: '14'
- clang_ver: '18'
build_type: 'Release'
flags: '-std=c++23 -Werror'
path_prefix: '/opt/homebrew'
macos_ver: '14'
- clang_ver: '19'
build_type: 'Release'
flags: '-std=c++23 -Werror -DTEST_LIBCXX_NEW'
path_prefix: '/opt/homebrew'
macos_ver: '14'
- clang_ver: '19'
build_type: 'Release'
flags: '-std=c++23 -Werror -DTEST_LIBCXX_NEW -fno-rtti -DMOMO_USE_SAFE_MAP_BRACKETS -DMOMO_USE_UNORDERED_HINT_ITERATORS -DMOMO_DISABLE_TYPE_INFO'
path_prefix: '/opt/homebrew'
macos_ver: '14'
- clang_ver: '19'
build_type: 'Debug'
flags: '-std=c++23 -Werror -fsanitize=address,undefined -DTEST_LIBCXX_NEW'
path_prefix: '/opt/homebrew'
macos_ver: '14'
- clang_ver: '19'
build_type: 'Debug'
flags: '-std=c++23 -Werror -fsanitize=address,undefined -DTEST_LIBCXX_NEW -fno-rtti -DMOMO_USE_SAFE_MAP_BRACKETS -DMOMO_USE_UNORDERED_HINT_ITERATORS -DMOMO_DISABLE_TYPE_INFO'
path_prefix: '/opt/homebrew'
macos_ver: '14'
runs-on: macos-${{ matrix.macos_ver }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install Ninja
run: brew install ninja
- name: Install Clang
run: brew install llvm@${{ matrix.clang_ver }}
- name: Build
env:
CXX: ${{ matrix.path_prefix }}/opt/llvm@${{ matrix.clang_ver }}/bin/clang++
CXXFLAGS: ${{ matrix.flags }}
run: |
cd test
mkdir build
cd build
cmake .. -G Ninja -DCMAKE_BUILD_TYPE=${{ matrix.build_type }}
cmake --build . -v
- name: Test
run: test/build/momo_test