Skip to content

unconditionally check for source functions that are UB for all executions, but don't error out #1005

unconditionally check for source functions that are UB for all executions, but don't error out

unconditionally check for source functions that are UB for all executions, but don't error out #1005

Workflow file for this run

name: Build
on: [push, pull_request]
jobs:
build:
name: ${{ matrix.os }} ${{ matrix.compiler }} ${{ matrix.build_type }} ${{ matrix.cache }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-22.04]
compiler: [g++-13, clang++-17, clang++-18]
build_type: [Release, Debug]
cache: ['', Redis]
include:
- os: macos-13
compiler: clang++
build_type: Release
- os: macos-13
compiler: clang++
build_type: Debug
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install dependencies (Linux)
if: runner.os == 'Linux'
run: |
wget -O- https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
if [[ ${{ matrix.compiler }} == "clang++-17" ]]; then
sudo add-apt-repository "deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-17 main"
fi
if [[ ${{ matrix.compiler }} == "clang++-18" ]]; then
sudo add-apt-repository "deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy main"
fi
sudo apt-get update
sudo apt-get install z3 re2c ninja-build
if [[ ${{ matrix.compiler }} == "clang++-17" ]]; then
sudo apt-get install clang++-17
fi
if [[ ${{ matrix.compiler }} == "clang++-18" ]]; then
sudo apt-get install clang++-18
fi
if [[ "${{ matrix.cache }}" == "Redis" ]]; then
sudo apt-get install libhiredis-dev
fi
- name: Install dependencies (MacOS)
if: runner.os == 'macOS'
run: |
brew install z3 re2c ninja
- name: Compile
run: ./.github/scripts/build.sh
- name: Run Tests
run: ninja check
working-directory: build
env:
CMAKE_BUILD_TYPE: ${{ matrix.build_type }}
CMAKE_CXX_COMPILER: ${{ matrix.compiler }}
CMAKE_CXX_FLAGS: "-fsanitize=address,undefined"