Add support for STP and Yices2 solvers #152
Workflow file for this run
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: Tests | |
on: [push, pull_request] | |
env: | |
CVC4_URL: "http://cvc4.cs.stanford.edu/downloads/builds/x86_64-linux-opt/cvc4-1.8-x86_64-linux-opt" | |
BOOLECTOR_URL: "https://github.com/Boolector/boolector/archive/3.2.1.tar.gz" | |
CVC5_URL: "https://github.com/cvc5/cvc5/releases/download/cvc5-1.0.7/cvc5-Linux" | |
BITWUZLA_URL: "https://github.com/bitwuzla/bitwuzla/archive/93a3d930f622b4cef0063215e63b7c3bd10bd663.tar.gz" | |
jobs: | |
test: | |
strategy: | |
matrix: | |
racket-version: ['8.1', 'current'] | |
racket-variant: ['CS'] | |
allow-failure: [false] | |
name: Racket ${{ matrix.racket-version }} (${{ matrix.racket-variant }}) | |
runs-on: ubuntu-latest | |
continue-on-error: ${{ matrix.allow-failure }} | |
steps: | |
- uses: actions/checkout@master | |
- name: Setup Racket | |
uses: Bogdanp/[email protected] | |
with: | |
architecture: x64 | |
version: ${{ matrix.racket-version }} | |
variant: ${{ matrix.racket-variant }} | |
- name: Install solvers | |
run: | | |
mkdir bin && | |
wget $CVC4_URL -nv -O bin/cvc4 && | |
chmod +x bin/cvc4 && | |
wget $BOOLECTOR_URL -nv -O boolector.tar.gz && | |
mkdir boolector && | |
tar xzf boolector.tar.gz -C boolector --strip-components=1 && | |
pushd boolector && | |
./contrib/setup-cadical.sh && | |
./contrib/setup-btor2tools.sh && | |
./configure.sh && | |
cd build && | |
make && | |
popd && | |
cp boolector/build/bin/boolector bin/ && | |
rm -rf boolector* && | |
wget $CVC5_URL -nv -O bin/cvc5 && | |
chmod +x bin/cvc5 && | |
sudo apt-get update && | |
sudo apt-get install -y ninja-build && | |
pip3 install meson && | |
wget $BITWUZLA_URL -nv -O bitwuzla.tar.gz && | |
mkdir bitwuzla && | |
tar xzf bitwuzla.tar.gz -C bitwuzla --strip-components=1 && | |
pushd bitwuzla && | |
./configure.py && | |
pushd build && | |
ninja && | |
popd && | |
popd && | |
cp bitwuzla/build/src/main/bitwuzla bin/ && | |
sudo apt-get install -y git cmake bison flex libboost-all-dev python2 perl && | |
git clone https://github.com/stp/stp && | |
pushd stp && | |
git submodule init && git submodule update && | |
./scripts/deps/setup-gtest.sh && | |
./scripts/deps/setup-outputcheck.sh && | |
./scripts/deps/setup-cms.sh && | |
./scripts/deps/setup-minisat.sh && | |
mkdir build && | |
pushd build && | |
cmake .. && | |
cmake --build . && | |
popd && | |
popd && | |
cp stp/build/stp bin/stp && | |
sudo add-apt-repository -y ppa:sri-csl/formal-methods && | |
sudo apt-get update && | |
sudo apt-get install -y yices2 | |
- name: Install Rosette | |
run: raco pkg install --auto --name rosette | |
- name: Compile Rosette tests | |
run: raco make test/all-rosette-tests.rkt | |
- name: Run Rosette tests | |
run: raco test test/all-rosette-tests.rkt | |
- name: Compile SDSL tests | |
run: raco make test/all-sdsl-tests.rkt | |
- name: Run SDSL tests | |
run: raco test test/all-sdsl-tests.rkt |