Be less conservative with type ascription function generation (compar… #628
This file contains hidden or 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: 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.14.2 | |
| - name: linux-arm64 | |
| os: ubuntu-24.04-arm | |
| pkg_update: sudo apt-get update -y | |
| ocaml-version: 4.14.2 | |
| - name: macos-x86_64 | |
| os: macos-15-intel | |
| pkg_update: brew update | |
| ocaml-version: 4.14.2 | |
| - name: macos-arm64 | |
| os: macos-latest | |
| pkg_update: brew update | |
| ocaml-version: 4.14.2 | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v6 | |
| - 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.15.3 | |
| ARCH=$(uname -m) | |
| if [[ "$ARCH" == "x86_64" ]]; then | |
| Z3_OS_VERSION=x64-glibc-2.39 | |
| 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 uv | |
| uses: astral-sh/setup-uv@v7 | |
| - name: Install unit test dependencies | |
| run: opam install ounit2 | |
| - name: Run ounit and regression tests | |
| run: opam exec make test | |
| - name: Build user documentation | |
| if: runner.os == 'Linux' | |
| run: | | |
| sudo apt-get install -y latexmk texlive-xetex lmodern | |
| pip install sphinx==8.2.3 sphinx-press-theme==0.9.1 | |
| make doc | |
| - name: Upload kind2 artifact | |
| if: github.event_name == 'push' && github.ref == 'refs/heads/develop' | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: kind2-${{ matrix.os }} | |
| path: bin/kind2 |