Skip to content

fix: run Lake operations in target process #966

fix: run Lake operations in target process

fix: run Lake operations in target process #966

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@v6
- 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
lsp:
name: lsp (${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- macos-latest
steps:
- uses: actions/checkout@v6
- uses: ./.github/actions/lean-ci-setup
- name: Build
run: lake build
- name: Test
run: bash tests/test-lsp.sh
beam-fast:
name: beam-fast (${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- macos-latest
steps:
- uses: actions/checkout@v6
- uses: ./.github/actions/lean-ci-setup
- name: Beam Fast Test
run: bash tests/test-beam-fast.sh
mcp-conformance:
name: mcp-conformance (${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- macos-latest
steps:
- uses: actions/checkout@v6
- uses: ./.github/actions/lean-ci-setup
- uses: actions/setup-node@v6
with:
node-version: 22
- name: MCP Conformance Test
env:
MCP_CONFORMANCE_NPM_CACHE: ${{ runner.temp }}/npm-cache
run: bash tests/test-mcp-conformance.sh
mcp-modern:
name: mcp-modern (${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- macos-latest
steps:
- uses: actions/checkout@v6
- uses: ./.github/actions/lean-ci-setup
- uses: actions/setup-node@v6
with:
node-version: 22
- name: Modern MCP Official SDK Test
env:
MCP_SDK_NPM_CACHE: ${{ runner.temp }}/npm-cache
run: bash tests/test-mcp-modern-sdk.sh
- name: Modern MCP Conformance Alpha Test
env:
MCP_CONFORMANCE_NPM_CACHE: ${{ runner.temp }}/npm-cache
run: bash tests/test-mcp-modern-conformance.sh
beam-slow:
name: beam-slow (${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- macos-latest
steps:
- uses: actions/checkout@v6
- 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: Beam Slow Test
run: bash tests/test-beam-slow.sh
beam-install:
name: beam-install (${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- macos-latest
steps:
- uses: actions/checkout@v6
- uses: ./.github/actions/lean-ci-setup
- name: Beam Install Test
run: bash tests/test-beam-install.sh
beam-toolchain-compat:
name: beam-toolchain-compat (${{ matrix.os }}, ${{ matrix.toolchain }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- macos-latest
toolchain:
- leanprover/lean4:v4.34.0-rc1
- leanprover/lean4:v4.33.0
- leanprover/lean4:v4.32.0
- leanprover/lean4:v4.31.0
- leanprover/lean4:v4.30.0
- leanprover/lean4:v4.29.0
- leanprover/lean4:v4.28.0
steps:
- uses: actions/checkout@v6
- uses: ./.github/actions/lean-ci-setup
- name: Validate toolchain compatibility
run: bash tests/test-beam-toolchain-compat.sh '${{ matrix.toolchain }}'
beam-release-line-compat:
name: beam-release-line-compat (leanprover/lean4:v4.31.0-rc1)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: ./.github/actions/lean-ci-setup
- name: Validate release-line compatibility
run: bash tests/test-beam-toolchain-compat.sh leanprover/lean4:v4.31.0-rc1
beam-rocq:
name: beam-rocq (${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- macos-latest
steps:
- uses: actions/checkout@v6
- 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: Beam Rocq Test
run: bash tests/test-beam-rocq.sh