|
|
@ -22,11 +22,12 @@ jobs:
|
|
|
|
- { compiler: gcc, version: 9, build_type: Release, cppstd: 17 }
|
|
|
|
- { compiler: gcc, version: 9, build_type: Release, cppstd: 17 }
|
|
|
|
- { compiler: gcc, version: 11, build_type: Debug, cppstd: 20 }
|
|
|
|
- { compiler: gcc, version: 11, build_type: Debug, cppstd: 20 }
|
|
|
|
- { compiler: gcc, version: 12, build_type: Release, cppstd: 20 }
|
|
|
|
- { compiler: gcc, version: 12, build_type: Release, cppstd: 20 }
|
|
|
|
- { compiler: clang, version: 12, build_type: Debug, cppstd: 17, asan: OFF }
|
|
|
|
- { compiler: gcc, version: 12, build_type: Debug, cppstd: 20, asan: ON }
|
|
|
|
- { compiler: clang, version: 15, build_type: Release, cppstd: 20, asan: OFF }
|
|
|
|
- { compiler: clang, version: 12, build_type: Debug, cppstd: 17 }
|
|
|
|
|
|
|
|
- { compiler: clang, version: 15, build_type: Release, cppstd: 20, tsan: ON }
|
|
|
|
container:
|
|
|
|
container:
|
|
|
|
image: ${{ matrix.config.compiler == 'clang' && 'teeks99/clang-ubuntu' || matrix.config.compiler }}:${{ matrix.config.version }}
|
|
|
|
image: ${{ matrix.config.compiler == 'clang' && 'teeks99/clang-ubuntu' || matrix.config.compiler }}:${{ matrix.config.version }}
|
|
|
|
name: "${{ matrix.config.compiler}} ${{ matrix.config.version }} (C++${{ matrix.config.cppstd }}, ${{ matrix.config.build_type }})"
|
|
|
|
name: "${{ matrix.config.compiler}} ${{ matrix.config.version }} (C++${{ matrix.config.cppstd }} ${{ matrix.config.build_type }} ${{ matrix.config.asan == 'ON' && 'ASAN' || '' }}${{ matrix.config.tsan == 'ON' && 'TSAN' || '' }})"
|
|
|
|
steps:
|
|
|
|
steps:
|
|
|
|
- uses: actions/checkout@v4
|
|
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Setup
|
|
|
|
- name: Setup
|
|
|
@ -40,10 +41,8 @@ jobs:
|
|
|
|
- name: Setup Compiler
|
|
|
|
- name: Setup Compiler
|
|
|
|
if: matrix.config.compiler == 'clang'
|
|
|
|
if: matrix.config.compiler == 'clang'
|
|
|
|
run: |
|
|
|
|
run: |
|
|
|
|
if [[ "${{ matrix.config.version }}" -ge 4 ]]; then
|
|
|
|
|
|
|
|
scripts/ci_setup_clang.sh "${{ matrix.config.version }}"
|
|
|
|
scripts/ci_setup_clang.sh "${{ matrix.config.version }}"
|
|
|
|
echo "CXXFLAGS=-stdlib=libc++" >> $GITHUB_ENV
|
|
|
|
echo "CXXFLAGS=-stdlib=libc++" >> $GITHUB_ENV
|
|
|
|
fi
|
|
|
|
|
|
|
|
echo "CC=clang-${{ matrix.config.version }}" >> $GITHUB_ENV
|
|
|
|
echo "CC=clang-${{ matrix.config.version }}" >> $GITHUB_ENV
|
|
|
|
echo "CXX=clang++-${{ matrix.config.version }}" >> $GITHUB_ENV
|
|
|
|
echo "CXX=clang++-${{ matrix.config.version }}" >> $GITHUB_ENV
|
|
|
|
- name: Build
|
|
|
|
- name: Build
|
|
|
@ -58,7 +57,8 @@ jobs:
|
|
|
|
-DSPDLOG_BUILD_BENCH=OFF \
|
|
|
|
-DSPDLOG_BUILD_BENCH=OFF \
|
|
|
|
-DSPDLOG_BUILD_TESTS=ON \
|
|
|
|
-DSPDLOG_BUILD_TESTS=ON \
|
|
|
|
-DSPDLOG_BUILD_TESTS_HO=OFF \
|
|
|
|
-DSPDLOG_BUILD_TESTS_HO=OFF \
|
|
|
|
-DSPDLOG_SANITIZE_ADDRESS=${{ matrix.config.asan || 'ON' }}
|
|
|
|
-DSPDLOG_SANITIZE_ADDRESS=${{ matrix.config.asan || 'OFF' }} \
|
|
|
|
|
|
|
|
-DSPDLOG_SANITIZE_THREAD=${{ matrix.config.tsan || 'OFF' }}
|
|
|
|
make -j 4
|
|
|
|
make -j 4
|
|
|
|
ctest -j 4 --output-on-failure
|
|
|
|
ctest -j 4 --output-on-failure
|
|
|
|
|
|
|
|
|
|
|
@ -85,4 +85,3 @@ jobs:
|
|
|
|
-DSPDLOG_SANITIZE_ADDRESS=OFF
|
|
|
|
-DSPDLOG_SANITIZE_ADDRESS=OFF
|
|
|
|
make -j 4
|
|
|
|
make -j 4
|
|
|
|
ctest -j 4 --output-on-failure
|
|
|
|
ctest -j 4 --output-on-failure
|
|
|
|
|
|
|
|
|
|
|
|