Add script for determining proportion of models #205
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: Build (Windows) | |
on: [ push, pull_request ] | |
jobs: | |
build: | |
runs-on: windows-latest | |
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository | |
defaults: | |
run: | |
shell: bash | |
steps: | |
- name: Checkout latest code | |
uses: actions/checkout@v2 | |
- name: Setup Java | |
uses: actions/setup-java@v2 | |
with: | |
distribution: zulu | |
java-version: 11 | |
- name: Setup build cache | |
uses: pat-s/always-upload-cache@v2 | |
with: | |
path: ~/.gradle/caches | |
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }} | |
restore-keys: | | |
${{ runner.os }}-gradle- | |
- name: Build project using Gradle | |
run: ./gradlew build -x test --stacktrace --scan | |
- name: Build MiniSat | |
working-directory: jni | |
run: | | |
git clone --depth=1 https://github.com/msoos/minisat solvers/minisat-src | |
cd solvers/minisat-src | |
cmake -B build -DCMAKE_BUILD_TYPE=Release -G "MinGW Makefiles" | |
cmake --build build | |
cmake --install build --prefix install | |
- name: Build Glucose | |
working-directory: jni | |
run: | | |
git clone --depth=1 https://github.com/wadoon/glucose solvers/glucose-src | |
cd solvers/glucose-src | |
git apply -v ../../patches/glucose-install.patch | |
git apply -v ../../patches/glucose-mingw-lib-prefix.patch | |
git apply -v ../../patches/glucose-mingw-sys-time.patch | |
cmake -B build -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -G "MinGW Makefiles" | |
cmake --build build --target glucose | |
cmake --install build --prefix install | |
- name: Build Cadical | |
working-directory: jni | |
run: | | |
git clone --depth=1 https://github.com/arminbiere/cadical solvers/cadical-src | |
cd solvers/cadical-src | |
git apply -v ../../patches/cadical-shared.patch | |
patch -p0 < ../../patches/cadical-stats.patch | |
./configure -fPIC | |
make -j8 dll 2>&1 | |
install src/cadical.hpp -Dt install/include/cadical | |
install build/cadical.dll -Dt install/lib | |
- name: Build CryptoMiniSat | |
working-directory: jni | |
run: | | |
git clone https://github.com/msoos/cryptominisat solvers/cms-src | |
cd solvers/cms-src | |
git checkout 02f53d1fc045fdba53671306964d3d094feb949e | |
cmake -B build -DENABLE_PYTHON_INTERFACE=OFF -DCMAKE_BUILD_TYPE=Release -G "MinGW Makefiles" | |
cmake --build build -- -j8 | |
cmake --install build --prefix install | |
- name: Copy solver libs to C:/Windows | |
working-directory: jni | |
run: | | |
cp solvers/minisat-src/install/bin/libminisat.dll C:/Windows/ | |
cp solvers/glucose-src/install/lib/glucose.dll C:/Windows/ | |
cp solvers/cadical-src/install/lib/cadical.dll C:/Windows/ | |
cp solvers/cms-src/install/bin/libcryptominisat5win.dll C:/Windows/ | |
- name: Build JNI libs | |
working-directory: jni | |
run: | | |
make libs \ | |
LIB_PREFIX= LIB_EXT=dll \ | |
JAVA_INCLUDE_SUBDIR=win32 \ | |
MINISAT_INSTALL_DIR=solvers/minisat-src/install \ | |
JMINISAT_CXXFLAGS="-D__STDC_LIMIT_MACROS -D__STDC_FORMAT_MACROS" \ | |
GLUCOSE_INSTALL_DIR=solvers/glucose-src/install \ | |
CADICAL_INSTALL_DIR=solvers/cadical-src/install \ | |
CMS_INSTALL_DIR=solvers/cms-src/install \ | |
JCMS_LDLIBS=-lcryptominisat5win | |
- name: Copy JNI libs to resources folder | |
working-directory: jni | |
run: | | |
make res LIB_PREFIX= LIB_EXT=dll RES_LIB_SUBDIR=win64 | |
- name: Add Cryptominisat to PATH | |
working-directory: jni | |
run: | | |
cp solvers/cms-src/install/bin/cryptominisat5_simple.exe solvers/cms-src/install/bin/cryptominisat5.exe | |
echo "$(realpath solvers/cms-src/install/bin)" >> $GITHUB_PATH | |
- name: Run tests | |
run: ./gradlew cleanTest test --no-build-cache --stacktrace | |
- name: Stop Gradle daemon | |
run: ./gradlew --stop | |
- name: Upload to GH Releases | |
uses: softprops/action-gh-release@v1 | |
if: startsWith(github.ref, 'refs/tags/') | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
files: | | |
jni/build/lib/jminisat.dll | |
jni/build/lib/jglucose.dll | |
jni/build/lib/jcadical.dll | |
jni/build/lib/jcms.dll | |
jni/solvers/minisat-src/install/bin/libminisat.dll | |
jni/solvers/glucose-src/install/lib/glucose.dll | |
jni/solvers/cadical-src/install/lib/cadical.dll | |
jni/solvers/cms-src/install/bin/libcryptominisat5win.dll |