Skip to content

Conversation

@kim-em
Copy link
Collaborator

@kim-em kim-em commented Jan 6, 2026

This PR adds a new reusable workflow that enables parallel execution of CI checks on separate runners:

  • Build job runs first: elan setup, config, mathlib cache, lake build
  • Parallel jobs run after build: test, lint, lean4checker, reservoir
  • Each parallel job restores the .lake cache from the build job
                    ┌─────────────────┐
                    │     build       │
                    └────────┬────────┘
                             │
         ┌───────────┬───────┴───────┬───────────┐
         ▼           ▼               ▼           ▼
    ┌─────────┐ ┌─────────┐  ┌────────────┐ ┌───────────┐
    │  test   │ │  lint   │  │lean4checker│ │ reservoir │
    └─────────┘ └─────────┘  └────────────┘ └───────────┘

Usage

jobs:
  ci:
    uses: leanprover/lean-action/.github/workflows/ci.yml@v1
    with:
      test: "true"
      lint: "true"
      lean4checker: "true"

Backward Compatibility

The existing action.yml composite action is unchanged. Users can choose between:

  • Sequential (existing): uses: leanprover/lean-action@v1
  • Parallel (new): uses: leanprover/lean-action/.github/workflows/ci.yml@v1

🤖 Prepared with Claude Code

Add a new reusable workflow (.github/workflows/ci.yml) that runs
test, lint, lean4checker, and reservoir checks in parallel on
separate runners after the build job completes.

- Build job: elan setup, config, mathlib cache, lake build
- Parallel jobs: test, lint, lean4checker, reservoir
- Each parallel job restores the build cache
- Same inputs/outputs as the existing composite action
- Existing action.yml preserved for backward compatibility

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants