Skip to content

Merge pull request #1129 from daniel-larraz/ic3ia-slice-flag #1634

Merge pull request #1129 from daniel-larraz/ic3ia-slice-flag

Merge pull request #1129 from daniel-larraz/ic3ia-slice-flag #1634

Workflow file for this run

name: Kind2 CI
on: [push, pull_request]
jobs:
kind2-build:
strategy:
matrix:
name: [ linux-x86_64, linux-arm64, macos-x86_64, macos-arm64 ]
include:
- name: linux-x86_64
os: ubuntu-latest
pkg_update: sudo apt-get update -y
ocaml-version: 4.09.1
- name: linux-arm64
os: ubuntu-24.04-arm
pkg_update: sudo apt-get update -y
ocaml-version: 4.09.1
- name: macos-x86_64
os: macos-13
pkg_update: brew update
ocaml-version: 4.09.1
- name: macos-arm64
os: macos-14
pkg_update: brew update
ocaml-version: 4.10.2 # Oldest version available
runs-on: ${{ matrix.os }}
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Make OCaml warnings fatal
run: |
head -n1 dune-project > dune-workspace
echo '(profile strict)' >> dune-workspace
- name: Update package information
run: ${{ matrix.pkg_update }}
- name: Build Kind 2
uses: ./.github/actions/build-kind2
with:
ocaml-version: ${{ matrix.ocaml-version }}
- name: Install Z3 (Ubuntu)
if: runner.os == 'Linux'
run: |
Z3_VERSION=4.13.4
ARCH=$(uname -m)
if [[ "$ARCH" == "x86_64" ]]; then
Z3_OS_VERSION=x64-glibc-2.35
else
Z3_OS_VERSION=arm64-glibc-2.34
fi
Z3_ZIP_NAME=z3-$Z3_VERSION-$Z3_OS_VERSION
wget -q https://github.com/Z3Prover/z3/releases/download/z3-$Z3_VERSION/$Z3_ZIP_NAME.zip
unzip -q $Z3_ZIP_NAME.zip
sudo cp $Z3_ZIP_NAME/bin/z3 /usr/bin/
- name: Install Z3 (macOS)
if: runner.os == 'macOS'
run: brew install z3
- name: Install unit test dependencies
run: opam install ounit2
- name: Run ounit and regression tests
run: opam exec make test
- name: Upload kind2 artifact
if: github.event_name == 'push' && github.ref == 'refs/heads/develop'
uses: actions/upload-artifact@v4
with:
name: kind2-${{ matrix.os }}
path: bin/kind2