Skip to content

fix: add macOS CI and platform-aware plugin paths #84

fix: add macOS CI and platform-aware plugin paths

fix: add macOS CI and platform-aware plugin paths #84

Workflow file for this run

# 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