CI #1293
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
push: | |
branches: master | |
pull_request: | |
branches: master | |
schedule: | |
- cron: 0 0 * * * # run every day at UTC 00:00 | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: # explicitly adding logic for yices | |
verify_flag: ["", "--vac", "--horn-bmc-logic=QF_ABV --horn-bmc-solver=smt-y2", "--cex", "--horn-bmc-logic=QF_ABV --cex --horn-bmc-solver=smt-y2"] | |
# includes a new variable blacklist for every | |
# verify_flag element | |
include: | |
- verify_flag: "" | |
blacklist: "df-coi" | |
- verify_flag: "--vac" | |
blacklist: "vac" | |
- verify_flag: "--horn-bmc-logic=QF_ABV --horn-bmc-solver=smt-y2" | |
blacklist: "y2" | |
- verify_flag: "--cex" | |
blacklist: "cex" | |
- verify_flag: "--horn-bmc-logic=QF_ABV --cex --horn-bmc-solver=smt-y2" | |
blacklist: "cex-y2" | |
steps: | |
- name: Checkout | |
uses: actions/checkout@master | |
- name: Get type | |
id: type | |
run: echo ::set-output name=type::${{ matrix.blacklist }} | |
- name: Get exclude test | |
id: exclude_files | |
run: (test -f ".github/workflows/blacklist.${{steps.type.outputs.type}}.txt" && echo ::set-output name=exclude_files::"($(cut -f 1 ".github/workflows/blacklist.${{steps.type.outputs.type}}.txt" | head -c -1 | tr '\n' '|'))" ) || (echo ::set-output name=exclude_files::" ") | |
- name: Docker | |
run: docker build -t verify-c-common . --file docker/verify-c-common.Dockerfile | |
- name: Get number of Cores | |
id: cores | |
run: echo "::set-output name=num_cores::$(nproc --all)" | |
- name: Run Tests | |
run: docker run -t verify-c-common /bin/bash -c "cd build && mkdir -p /tmp/verify-c-common && env VERIFY_FLAGS=\"${{ matrix.verify_flag }}\" ctest -j ${{steps.cores.outputs.num_cores}} --output-on-failure --timeout 2000 -E \"${{ steps.exclude_files.outputs.exclude_files }}\"" |