ci-and-releases
A lightweight checklist for CI, toolchain bumps, and version/release hygiene for the ComputationalPaths Lean 4 project (Lake + lean-action CI).
When & Why to Use This Skill
This Claude skill provides a structured and repeatable framework for managing Continuous Integration (CI) and release cycles specifically for Lean 4 projects using Lake and lean-action CI. It optimizes repository health by providing standardized checklists for toolchain upgrades, versioning hygiene, and dependency management, ensuring a 'zero-warning' development environment.
Use Cases
- Automating Release Hygiene: Streamline the process of bumping library versions and verifying executable outputs to maintain consistent release records.
- Managing Toolchain Upgrades: Safely transition to new Lean 4 toolchain versions by following a step-by-step verification process that includes dependency re-pinning and CI configuration checks.
- Local CI Verification: Perform pre-flight checks using Lake build commands to ensure code changes are compatible with the environment before pushing to the remote repository.
- Dependency Synchronization: Efficiently update project manifests and resolve breaking changes in imports or lemmas after updating external dependencies.
| name | ci-and-releases |
|---|---|
| description | A lightweight checklist for CI, toolchain bumps, and version/release hygiene for the ComputationalPaths Lean 4 project (Lake + lean-action CI). |
CI & Releases
This skill provides a repeatable checklist for keeping the repo green on CI and preparing small “release-like” changes (toolchain bump, version bump, dependency updates).
CI mental model
CI is essentially “clean checkout + lake build”. Keep changes compatible with:
- current toolchain in
lean-toolchain - dependencies pinned by
lake-manifest.json - the project’s “zero-warning” expectations (treat warnings as failures to fix immediately)
Local verification (Windows)
From the Lean project root (computational_paths/):
.\lake.cmd build
.\lake.cmd exe computational_paths
If you suspect stale artifacts:
.\lake.cmd clean
.\lake.cmd build
Version bump checklist
This repo exposes a version string:
ComputationalPaths/Basic.leandefineslibraryVersionMain.leanprints it via the executable
When bumping version:
- Update
ComputationalPaths/Basic.lean(libraryVersion) - Run
.\lake.cmd build - Run
.\lake.cmd exe computational_pathsand confirm the output - If the bump is user-visible, update
README.md(or add a short changelog note)
Toolchain bump checklist
When updating lean-toolchain:
- Edit
lean-toolchain - Run
.\lake.cmd build - If dependencies need repinning, run
lake updateand re-build - Ensure CI config still matches expectations (
.github/workflows/*)
Dependency update checklist
If updating deps (manifest changes):
- Run
lake update - Build (
.\lake.cmd build) - Fix any breakage by updating imports/lemmas or pinning versions back as needed