fix: add macOS CI and platform-aware plugin paths #84
Workflow file for this run
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
| # Copyright (c) 2026 Lean FRO LLC. All rights reserved. | |
| # Released under Apache 2.0 license as described in the file LICENSE. | |
| # Author: Emilio J. Gallego Arias | |
| name: CI | |
| on: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| jobs: | |
| shell-lint: | |
| name: shell-lint (${{ matrix.os }}) | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: | |
| - ubuntu-latest | |
| - macos-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install shellcheck | |
| shell: bash | |
| run: | | |
| if [ "${{ runner.os }}" = "Linux" ]; then | |
| sudo apt-get update | |
| sudo apt-get install -y shellcheck | |
| else | |
| brew install shellcheck | |
| fi | |
| - name: Shell Lint | |
| run: bash scripts/lint-shell.sh | |
| build-and-test: | |
| name: build-and-test (${{ matrix.os }}) | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: | |
| - ubuntu-latest | |
| - macos-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: ./.github/actions/lean-ci-setup | |
| - name: Build | |
| run: lake build | |
| - name: Test | |
| run: bash tests/test.sh | |
| broker-fast: | |
| name: broker-fast (${{ matrix.os }}) | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: | |
| - ubuntu-latest | |
| - macos-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: ./.github/actions/lean-ci-setup | |
| - name: Broker Fast Test | |
| run: bash tests/test-broker-fast.sh | |
| broker-slow: | |
| name: broker-slow (${{ matrix.os }}) | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: | |
| - ubuntu-latest | |
| - macos-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: ./.github/actions/lean-ci-setup | |
| - name: Install shellcheck | |
| shell: bash | |
| run: | | |
| if command -v shellcheck >/dev/null 2>&1; then | |
| exit 0 | |
| fi | |
| if [ "${{ runner.os }}" = "Linux" ]; then | |
| sudo apt-get update | |
| sudo apt-get install -y shellcheck | |
| else | |
| brew install shellcheck | |
| fi | |
| - name: Broker Slow Test | |
| run: bash tests/test-broker-slow.sh | |
| install: | |
| name: install (${{ matrix.os }}) | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: | |
| - ubuntu-latest | |
| - macos-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: ./.github/actions/lean-ci-setup | |
| - name: Install Test | |
| run: bash tests/test-install.sh | |
| toolchain-compat: | |
| name: toolchain-compat (${{ matrix.os }}, ${{ matrix.toolchain }}) | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: | |
| - ubuntu-latest | |
| - macos-latest | |
| toolchain: | |
| - leanprover/lean4:v4.29.0-rc6 | |
| - leanprover/lean4:v4.29.0-rc5 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: ./.github/actions/lean-ci-setup | |
| - name: Validate toolchain compatibility | |
| run: bash tests/test-toolchain-compat.sh '${{ matrix.toolchain }}' | |
| broker-rocq: | |
| name: broker-rocq (${{ matrix.os }}) | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: | |
| - ubuntu-latest | |
| - macos-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: ./.github/actions/lean-ci-setup | |
| - name: Set up OCaml / opam | |
| uses: ocaml/setup-ocaml@v3 | |
| with: | |
| ocaml-compiler: 4.14.2 | |
| dune-cache: true | |
| opam-repositories: | | |
| default: git+https://github.com/ocaml/opam-repository.git | |
| coq-released: https://coq.inria.fr/opam/released | |
| opam-local-packages: tests/rocq-ci.opam | |
| - name: Install Rocq CI Dependencies | |
| run: opam install -y ./tests/rocq-ci.opam --deps-only | |
| - name: Broker Rocq Test | |
| run: bash tests/test-broker-rocq.sh |