[Lean Squad] feat(ci): Task 9 — fix elan SHA256, cache ordering, conditional lake update, proof summary#7924
Merged
Evangelink merged 2 commits intomainfrom Apr 29, 2026
Conversation
… lake update, proof summary Improvements to lean-proofs.yml: 1. Fix SHA256 verification bug: the previous workflow hardcoded the SHA256 hash from elan v3.1.0 but was downloading v4.2.1. The verification step would always fail once .lean files are committed. Now the SHA256 checksum file is downloaded from the same GitHub release and used for verification, so upgrading elan requires only a version bump. 2. Cache-before-install ordering: move the cache restore step to before the elan install step. Both elan install and lake update are now gated on cache-hit != 'true', so cold builds install/resolve while warm builds skip straight to lake build. 3. Conditional lake update: previously lake update ran unconditionally on every CI run, potentially drifting the pinned lake-manifest.json. Now it only runs on cache miss (i.e. the first run per toolchain/lakefile hash). 4. Proof summary step: after a successful build, post a markdown summary to the GitHub Actions step summary showing theorem/lemma count and the number of lines using sorry (stub markers). 🔬 Lean Squad — automated formal verification agent Run: https://github.com/microsoft/testfx/actions/runs/25043800787 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
Pull request overview
Updates the Lean proofs CI workflow to make elan installation/checksum verification more reliable, improve cache effectiveness, reduce unnecessary dependency resolution, and add a post-build proof metric summary.
Changes:
- Restore the elan/Lake cache earlier and gate elan install +
lake updateon cache misses. - Fix elan SHA256 verification by downloading the checksum file from the same GitHub release as the archive.
- Add a GitHub Actions step summary with theorem/lemma counts and
sorryusage counts.
Show a summary per file
| File | Description |
|---|---|
| .github/workflows/lean-proofs.yml | Reorders caching/installation, updates checksum verification, conditions lake update, and adds a proof summary step. |
Copilot's findings
- Files reviewed: 1/1 changed files
- Comments generated: 2
Member
Author
|
@copilot address review comments |
…t.json from cache key Agent-Logs-Url: https://github.com/microsoft/testfx/sessions/222d104a-b307-4ead-ad24-1f39a8a9a694 Co-authored-by: Evangelink <11340282+Evangelink@users.noreply.github.com>
Contributor
Addressed in b4a6ebb:
|
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Improvements to lean-proofs.yml:
Fix SHA256 verification bug: the previous workflow hardcoded the SHA256
hash from elan v3.1.0 but was downloading v4.2.1. The verification step
would always fail once .lean files are committed. Now the SHA256 checksum
file is downloaded from the same GitHub release and used for verification,
so upgrading elan requires only a version bump.
Cache-before-install ordering: move the cache restore step to before the
elan install step. Both elan install and lake update are now gated on
cache-hit != 'true', so cold builds install/resolve while warm builds skip
straight to lake build.
Conditional lake update: previously lake update ran unconditionally on
every CI run, potentially drifting the pinned lake-manifest.json. Now it
only runs on cache miss (i.e. the first run per toolchain/lakefile hash).
Proof summary step: after a successful build, post a markdown summary to
the GitHub Actions step summary showing theorem/lemma count and the number
of lines using sorry (stub markers).
🔬 Lean Squad — automated formal verification agent
Run: https://github.com/microsoft/testfx/actions/runs/25043800787
Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com
Fixes #7902