name: clang on: push: branches: [ master, development ] pull_request: branches: [ master ] jobs: build-clang-cpp11-linux-stl: name: Clang C++11 Linux - STL runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-22.04] steps: - uses: actions/checkout@v3 - name: Build run: | export CC=clang export CXX=clang++ export ASAN_OPTIONS=alloc_dealloc_mismatch=0,detect_leaks=0 cmake -D BUILD_TESTS=ON -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03=OFF -DETL_CXX_STANDARD=11 ./ clang --version make - name: Run tests run: ./test/etl_tests build-clang-cpp14-linux-stl: name: Clang C++14 Linux - STL runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-22.04] steps: - uses: actions/checkout@v3 - name: Build run: | export CC=clang export CXX=clang++ export ASAN_OPTIONS=alloc_dealloc_mismatch=0,detect_leaks=0 cmake -D BUILD_TESTS=ON -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03=OFF -DETL_CXX_STANDARD=14 ./ clang --version make - name: Run tests run: ./test/etl_tests build-clang-cpp17-linux-stl: name: Clang C++17 Linux - STL runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-22.04] steps: - uses: actions/checkout@v3 - name: Build run: | export CC=clang export CXX=clang++ export ASAN_OPTIONS=alloc_dealloc_mismatch=0,detect_leaks=0 cmake -D BUILD_TESTS=ON -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03=OFF -DETL_CXX_STANDARD=17 ./ clang --version make - name: Run tests run: ./test/etl_tests build-clang-cpp20-linux-stl: name: Clang C++20 Linux - STL runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-22.04] steps: - uses: actions/checkout@v3 - name: Build run: | export CC=clang export CXX=clang++ export ASAN_OPTIONS=alloc_dealloc_mismatch=0,detect_leaks=0 cmake -D BUILD_TESTS=ON -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03=OFF -DETL_CXX_STANDARD=20 ./ clang --version make - name: Run tests run: ./test/etl_tests build-clang-cpp20-linux-no-stl: name: Clang C++20 Linux - No STL runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-22.04] steps: - uses: actions/checkout@v3 - name: Build run: | export CC=clang export CXX=clang++ export ASAN_OPTIONS=alloc_dealloc_mismatch=0,detect_leaks=0 cmake -DBUILD_TESTS=ON -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03=OFF -DETL_CXX_STANDARD=20 ./ clang --version make - name: Run tests run: ./test/etl_tests build-clang-cpp20-linux-stl-force-cpp03: name: Clang C++20 Linux - STL - Force C++03 runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-22.04] steps: - uses: actions/checkout@v3 - name: Build run: | export CC=clang export CXX=clang++ export ASAN_OPTIONS=alloc_dealloc_mismatch=0,detect_leaks=0 cmake -D BUILD_TESTS=ON -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03=ON -DETL_CXX_STANDARD=20 ./ clang --version make - name: Run tests run: ./test/etl_tests build-clang-cpp20-linux-no-stl-force-cpp03: name: Clang C++20 Linux - No STL - Force C++03 runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-22.04] steps: - uses: actions/checkout@v3 - name: Build run: | export CC=clang export CXX=clang++ export ASAN_OPTIONS=alloc_dealloc_mismatch=0,detect_leaks=0 cmake -D BUILD_TESTS=ON -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03=ON -DETL_CXX_STANDARD=20 ./ clang --version make - name: Run tests run: ./test/etl_tests build-clang-cpp20-osx-stl: name: Clang C++20 OSX - STL runs-on: ${{ matrix.os }} strategy: matrix: os: [macos-12] steps: - uses: actions/checkout@v3 - name: Build run: | export CC=clang export CXX=clang++ export ASAN_OPTIONS=alloc_dealloc_mismatch=0,detect_leaks=0 cmake -D BUILD_TESTS=ON -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03=OFF -DETL_CXX_STANDARD=20 ./ clang --version make - name: Run tests run: ./test/etl_tests build-clang-cpp20-osx-no-stl: name: Clang C++20 OSX - No STL runs-on: ${{ matrix.os }} strategy: matrix: os: [macos-12] steps: - uses: actions/checkout@v3 - name: Build run: | export CC=clang export CXX=clang++ export ASAN_OPTIONS=alloc_dealloc_mismatch=0,detect_leaks=0 cmake -D BUILD_TESTS=ON -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03=OFF -DETL_CXX_STANDARD=20 ./ clang --version make - name: Run tests run: ./test/etl_tests build-clang-cpp20-osx-stl-force-cpp03: name: Clang C++20 OSX - STL - Force C++03 runs-on: ${{ matrix.os }} strategy: matrix: os: [macos-12] steps: - uses: actions/checkout@v3 - name: Build run: | export CC=clang export CXX=clang++ export ASAN_OPTIONS=alloc_dealloc_mismatch=0,detect_leaks=0 cmake -D BUILD_TESTS=ON -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03=ON -DETL_CXX_STANDARD=20 ./ clang --version make - name: Run tests run: ./test/etl_tests build-clang-cpp20-osx-no-stl-force-cpp03: name: Clang C++20 OSX - No STL - Force C++03 runs-on: ${{ matrix.os }} strategy: matrix: os: [macos-12] steps: - uses: actions/checkout@v3 - name: Build run: | export CC=clang export CXX=clang++ export ASAN_OPTIONS=alloc_dealloc_mismatch=0,detect_leaks=0 cmake -D BUILD_TESTS=ON -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03=ON -DETL_CXX_STANDARD=20 ./ clang --version make - name: Run tests run: ./test/etl_tests