Skip to content

Needs synthesis branch #167

Needs synthesis branch

Needs synthesis branch #167

Workflow file for this run

name: build
on:
push:
branches: [ "*" ]
pull_request:
branches: [ "*" ]
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
# Set fail-fast to false to ensure that feedback is delivered for all matrix combinations. Consider changing this to true when your workflow is stable.
fail-fast: false
matrix:
os: [ubuntu-latest]
build_type: [Release]
staticcompile: [ON, OFF]
c_compiler: [gcc, clang, cl]
include:
- os: ubuntu-latest
c_compiler: gcc
cpp_compiler: g++
- os: ubuntu-latest
c_compiler: clang
cpp_compiler: clang++
exclude:
- os: windows-latest
c_compiler: gcc
- os: windows-latest
c_compiler: clang
- os: ubuntu-latest
c_compiler: cl
steps:
# install dependencies
- name: Install boost & help2man for Linux
if: matrix.os == 'ubuntu-latest'
run: sudo apt-get update && sudo apt-get install -yq libboost-dev libboost-serialization-dev libboost-program-options-dev help2man libgmp-dev
- name: Install gmp for Mac
if: matrix.os == 'macos-13'
run: |
HOMEBREW_NO_AUTO_UPDATE=1 brew install cmake
HOMEBREW_NO_AUTO_UPDATE=1 brew install zlib
wget https://ftp.gnu.org/gnu/gmp/gmp-6.3.0.tar.xz
tar xf gmp-6.3.0.tar.xz
cd gmp-6.3.0
./configure --enable-static -enable-cxx --enable-shared
make -j8
sudo make install
cd ..
- name: Installing Numpy
run: |
pip install pip --upgrade
pip install numpy lit
- name: Checkout Cadical
uses: actions/checkout@v2
with:
repository: meelgroup/cadical
ref: mate-only-libraries-1.8.0
path: cadical
- name: Build Cadical
run: |
cd cadical
CXX=c++ ./configure
make -j8
cd ..
- name: Checkout Cadiback
uses: actions/checkout@v2
with:
repository: meelgroup/cadiback
ref: synthesis
path: cadiback
- name: Build Cadiback
run: |
cd cadiback
CXX=c++ ./configure
make -j8
cd ..
- name: checkout
uses: actions/[email protected]
with:
path: cryptominisat
- name: Add git submodules for Linux only (not needed for non-testing)
working-directory: cryptominisat
if: matrix.os == 'ubuntu-latest'
run: git submodule update --init
- name: Configure & build for linux
if: matrix.os == 'ubuntu-latest'
run: |
pwd
echo "end pwd"
cd cryptominisat
pwd
echo "end pwd"
ls
echo "end list"
ls ../
echo "end list"
cmake -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DENABLE_TESTING=OFF -DSTATICCOMPILE=${{ matrix.staticcompile }}
cmake --build . --config ${{ matrix.build_type }}
- name: Configure & buidl for non-linux
if: matrix.os != 'ubuntu-latest'
run: |
pwd
echo "end pwd"
cd cryptominisat
pwd
echo "end pwd"
ls
echo "end list"
ls ../
echo "end list"
cmake -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DENABLE_TESTING=OFF -DSTATICCOMPILE=${{ matrix.staticcompile }}
cmake --build . --config ${{ matrix.build_type }}
ctest -C ${{ matrix.build_type }}
- name: Upload Artifact - Linux
if: matrix.os == 'ubuntu-latest' && matrix.staticcompile == 'ON'
uses: actions/upload-artifact@v4
with:
name: cryptominisat5-linux-amd64
path: cryptominisat/cryptominisat5
- name: Upload Artifact - Mac
if: matrix.os == 'macos-13' && matrix.staticcompile == 'ON'
uses: actions/upload-artifact@v4
with:
name: cryptominisat5-mac-amd64
path: cryptominisat/cryptominisat5
- name: Upload Artifact - Windows
if: matrix.os == 'windows-2022' && matrix.staticcompile == 'ON'
uses: actions/upload-artifact@v4
with:
name: cryptominisat5-win64.exe
path: cryptominisat\Release\cryptominisat5.exe