Skip to content

gh: setup cbmc

gh: setup cbmc #801

Workflow file for this run

name: Minor C/C++ CI
on:
push:
branches-ignore:
- 'ignore*'
- 'temp*'
- smoke
- master
paths-ignore:
- 'docs/*'
pull_request:
paths-ignore:
- 'docs/*'
branches-ignore:
- smoke
- master
jobs:
linux:
runs-on: ubuntu-latest
timeout-minutes: 30
strategy:
fail-fast: false
matrix:
MAKE:
- make -j4 SANITIZE=1 O0=1
- make -j4 CC='gcc -std=c99'
- make -j4 CC='gcc -std=c11'
- make -j4 CXX='clang++-11 -std=c++2a -stdlib=libc++'
- make examples SANITIZE=1
- make perf
steps:
- if: ${{ contains(matrix.MAKE, 'SANITIZE=1 O0=1') }}
name: setup cbmc
run: sudo apt install -y --no-install-recommends cbmc
# needed for libc++ since the Ubuntu 20.04.2 update (image version 20210315.1)
# https://askubuntu.com/questions/1211743/clang-doesnt-find-c-stdlib-on-my-ubuntu-18-04-but-it-does-on-a-brand-new-ins
# variant 1: downgrade clang++ to matching g++ (= 11)
- if: ${{ contains(matrix.MAKE, 'libc++') }}
run: |
sudo apt-get install clang++-11 libc++-11-dev libc++abi-11-dev
clang++ --version
sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-11 100
clang++ --version
g++ --version
- uses: actions/checkout@v2
- run: ${{ matrix.MAKE }}
- if: ${{ contains(matrix.MAKE, 'SANITIZE=1 O0=1') }}
name: make verify
run: ${{ matrix.MAKE }} verify
windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- uses: ilammy/msvc-dev-cmd@v1
- run: nmake -f Makefile.win all
macOS:
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- run: make CXX='c++ -std=c++17'