Add support for STP and Yices2 #163
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" | |
STP_URL: "https://github.com/stp/stp/archive/0510509a85b6823278211891cbb274022340fa5c.tar.gz" | |
YICES2_URL: "https://github.com/SRI-CSL/yices2/archive/e27cf308cffb0ecc6cc7165c10e81ca65bc303b3.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/setup-racket@v1.11 | |
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 && | |
wget $STP_URL -nv -O stp.tar.gz && | |
mkdir stp && | |
tar xzf stp.tar.gz -C stp --strip-components=1 && | |
pushd stp && | |
./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 apt-get install -y gperf && | |
wget $YICES2_URL -nv -O yices2.tar.gz && | |
mkdir yices2 && | |
tar xvf yices2.tar.gz -C yices2 --strip-components=1 && | |
pushd yices2 && | |
autoconf && | |
./configure --prefix=$PWD/out/ && | |
make && | |
make install && | |
popd && | |
cp yices2/out/bin/yices-smt2 bin/yices-smt2 | |
- 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 |