name: Sanitizers on: [pull_request, push] jobs: build: strategy: fail-fast: false matrix: include: #- name: asan # flags: "-DCMAKE_BUILD_TYPE=Asan" #- name: tsan # flags: "-DCMAKE_BUILD_TYPE=Tsan" - name: ubsan flags: "-DCMAKE_BUILD_TYPE=Ubsan" name: "${{ matrix.name }}" runs-on: ubuntu-latest container: wpilib/roborio-cross-ubuntu:2021-20.04 steps: - uses: actions/checkout@v2 - name: Install Dependencies run: | sudo add-apt-repository ppa:ubuntu-toolchain-r/test sudo apt install -y gcc-11 g++-11 sudo update-alternatives \ --install /usr/bin/gcc gcc /usr/bin/gcc-11 11 \ --slave /usr/bin/g++ g++ /usr/bin/g++-11 sudo update-alternatives --set gcc /usr/bin/gcc-11 - name: Set up Python 3.8 uses: actions/setup-python@v2 with: python-version: 3.8 - name: Install jinja run: python -m pip install jinja2 - name: configure run: mkdir build && cd build && cmake ${{ matrix.flags }} .. - name: build working-directory: build run: make -j3 - name: test working-directory: build run: ctest --output-on-failure