fix: run Lake operations in target process #966
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@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 |