Bump Gradle to 8.6 #25
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: CI | |
on: push | |
jobs: | |
build-linux: | |
name: Build on Linux | |
runs-on: ubuntu-latest | |
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository | |
steps: | |
- name: Checkout latest code | |
uses: actions/checkout@v4 | |
- name: Setup Java | |
uses: actions/setup-java@v3 | |
with: | |
distribution: zulu | |
java-version: 11 | |
- name: Install meson | |
run: pip install meson ninja | |
- name: Set up Gradle | |
uses: gradle/gradle-build-action@v2 | |
- name: Build project using Gradle | |
run: ./gradlew build -x test --stacktrace --scan | |
- name: Build MiniSat | |
working-directory: kotlin-satlib-jni | |
env: | |
CC: gcc | |
run: | | |
git clone --depth=1 https://github.com/Lipen/minisat solvers/minisat-src | |
cd solvers/minisat-src | |
meson setup builddir --buildtype release --strip --libdir=lib --prefix=$(realpath install) | |
meson compile -C builddir | |
meson install -C builddir | |
- name: Build Glucose | |
working-directory: kotlin-satlib-jni | |
run: | | |
git clone --depth=1 https://github.com/Lipen/glucose solvers/glucose-src | |
cd solvers/glucose-src | |
meson setup builddir --buildtype release --strip --libdir=lib --prefix=$(realpath install) | |
meson compile -C builddir | |
meson install -C builddir | |
- name: Build Cadical | |
working-directory: kotlin-satlib-jni | |
run: | | |
git clone --depth=1 https://github.com/Lipen/cadical solvers/cadical-src | |
cd solvers/cadical-src | |
meson setup builddir --buildtype release --strip --libdir=lib --prefix=$(realpath install) | |
meson compile -C builddir | |
meson install -C builddir | |
- name: Build CryptoMiniSat | |
working-directory: kotlin-satlib-jni | |
run: | | |
git clone --depth=1 https://github.com/msoos/cryptominisat solvers/cms-src | |
cd solvers/cms-src | |
cmake -B build -DENABLE_PYTHON_INTERFACE=OFF -DCMAKE_BUILD_TYPE=Release | |
cmake --build build -- -j8 | |
cmake --install build --prefix install | |
strip -s install/lib/libcryptominisat5.so | |
- name: Fixup libs | |
working-directory: kotlin-satlib-jni | |
run: | | |
ls -al --group-directories-first solvers/*-src/install/lib | |
cp --remove-destination $(readlink -f solvers/cms-src/install/lib/libcryptominisat5.so) solvers/cms-src/install/lib/libcryptominisat5.so | |
- name: Set up ld cache | |
working-directory: kotlin-satlib-jni | |
run: sudo ldconfig $(realpath solvers/*-src/install/lib) | |
- name: Build JNI libs | |
working-directory: kotlin-satlib-jni | |
run: make libs \ | |
MINISAT_INSTALL_DIR=solvers/minisat-src/install \ | |
GLUCOSE_INSTALL_DIR=solvers/glucose-src/install \ | |
CADICAL_INSTALL_DIR=solvers/cadical-src/install \ | |
CMS_INSTALL_DIR=solvers/cms-src/install | |
- name: Copy JNI libs to resources folder | |
working-directory: kotlin-satlib-jni | |
run: make res | |
- name: Add Cryptominisat to PATH | |
working-directory: kotlin-satlib-jni | |
run: | | |
echo "$(realpath solvers/cms-src/install/bin)" >> $GITHUB_PATH | |
- name: Run tests | |
run: ./gradlew cleanTest test --no-build-cache --stacktrace | |
- 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: | | |
kotlin-satlib-jni/build/lib/libjminisat.so | |
kotlin-satlib-jni/build/lib/libjglucose.so | |
kotlin-satlib-jni/build/lib/libjcadical.so | |
kotlin-satlib-jni/build/lib/libjcms.so | |
kotlin-satlib-jni/solvers/minisat-src/install/lib/libminisat.so | |
kotlin-satlib-jni/solvers/glucose-src/install/lib/libglucose.so | |
kotlin-satlib-jni/solvers/cadical-src/install/lib/libcadical.so | |
kotlin-satlib-jni/solvers/cms-src/install/lib/libcryptominisat5.so | |
build-windows: | |
name: Build on Windows | |
runs-on: windows-2019 | |
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@v4 | |
- name: Setup Java | |
uses: actions/setup-java@v3 | |
with: | |
distribution: zulu | |
java-version: 11 | |
- name: Install meson | |
run: pip install meson ninja | |
- name: Set up Gradle | |
uses: gradle/gradle-build-action@v2 | |
- name: Build project using Gradle | |
run: ./gradlew build -x test --stacktrace --scan | |
- name: Build MiniSat | |
working-directory: kotlin-satlib-jni | |
run: | | |
git clone --depth=1 https://github.com/Lipen/minisat solvers/minisat-src | |
cd solvers/minisat-src | |
meson setup builddir --buildtype release --strip --prefix=$(realpath install) | |
meson compile -C builddir | |
meson install -C builddir | |
- name: Build Glucose | |
working-directory: kotlin-satlib-jni | |
run: | | |
git clone --depth=1 https://github.com/Lipen/glucose solvers/glucose-src | |
cd solvers/glucose-src | |
meson setup builddir --buildtype release --strip --prefix=$(realpath install) | |
meson compile -C builddir | |
meson install -C builddir | |
- name: Build Cadical | |
working-directory: kotlin-satlib-jni | |
run: | | |
git clone --depth=1 https://github.com/Lipen/cadical solvers/cadical-src | |
cd solvers/cadical-src | |
meson setup builddir --buildtype release --strip --prefix=$(realpath install) | |
meson compile -C builddir | |
meson install -C builddir | |
- name: Build CryptoMiniSat | |
working-directory: kotlin-satlib-jni | |
run: | | |
git clone --depth=1 https://github.com/msoos/cryptominisat solvers/cms-src | |
cd solvers/cms-src | |
cmake -B build -DENABLE_PYTHON_INTERFACE=OFF -DCMAKE_BUILD_TYPE=Release -G "MinGW Makefiles" | |
cmake --build build -- -j8 | |
cmake --install build --prefix install | |
- name: Show libs | |
working-directory: kotlin-satlib-jni | |
run: | | |
ls -al --group-directories-first solvers/*-src/install/lib | |
- name: Copy solver libs to C:/Windows | |
working-directory: kotlin-satlib-jni | |
run: | | |
cp solvers/minisat-src/install/bin/libminisat.dll C:/Windows/ | |
cp solvers/glucose-src/install/bin/libglucose.dll C:/Windows/ | |
cp solvers/cadical-src/install/bin/libcadical.dll C:/Windows/ | |
cp solvers/cms-src/install/bin/libcryptominisat5win.dll C:/Windows/ | |
- name: Build JNI libs | |
working-directory: kotlin-satlib-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: kotlin-satlib-jni | |
run: | | |
make res LIB_PREFIX= LIB_EXT=dll RES_LIB_SUBDIR=win64 | |
- name: Add Cryptominisat to PATH | |
working-directory: kotlin-satlib-jni | |
run: | | |
echo "$(realpath solvers/cms-src/install/bin)" >> $GITHUB_PATH | |
- name: Run tests | |
run: ./gradlew cleanTest test --no-build-cache --stacktrace | |
- 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: | | |
kotlin-satlib-jni/build/lib/jminisat.dll | |
kotlin-satlib-jni/build/lib/jglucose.dll | |
kotlin-satlib-jni/build/lib/jcadical.dll | |
kotlin-satlib-jni/build/lib/jcms.dll | |
kotlin-satlib-jni/solvers/minisat-src/install/bin/libminisat.dll | |
kotlin-satlib-jni/solvers/glucose-src/install/bin/libglucose.dll | |
kotlin-satlib-jni/solvers/cadical-src/install/bin/libcadical.dll | |
kotlin-satlib-jni/solvers/cms-src/install/bin/libcryptominisat5win.dll |