Skip to content

Commit a1f75fa

Browse files
RemyDegenneclaude
andcommitted
CI: the referee site by referee-site (LeanTrustBuilders), with the evidence store LML-evidence
Replaces LeanMachineLearning/exposition@v4.35.0-rc2, whose binary only reads Lean 4.35.0-rc2. The action takes the newest trust-extract release for the project's toolchain, publishes the dataset as the release dataset-<commit12>, keeps the provenance ledger on the branch trust-ledger, and shows the reviews of LeanMachineLearning/LML-evidence and of the stores it imports. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 parent 3720913 commit a1f75fa

2 files changed

Lines changed: 23 additions & 21 deletions

File tree

‎.github/workflows/build.yml‎

Lines changed: 23 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,11 @@ concurrency:
1616

1717
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
1818
permissions:
19-
contents: write # Push the provenance ledger to its own branch (the referee action does)
19+
contents: write # The dataset's release, and the provenance ledger's branch (the referee site step)
2020
pages: write # Write access to GitHub Pages
2121
id-token: write # Write access to ID tokens
2222
issues: write # Write access to issues
2323
pull-requests: write # Write access to pull requests
24-
actions: read # Read the previous run's artifact, for the referee revision diff
2524

2625
jobs:
2726
build_project:
@@ -42,10 +41,9 @@ jobs:
4241
- name: Checkout project
4342
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
4443
with:
45-
# Load-bearing for provenance, not just a convenience: the ledger's edit half is
46-
# `git blame`, and at the default `fetch-depth: 1` blame attributes the entire library to
47-
# the single fetched commit. The action would unshallow the checkout itself, but fetching
48-
# it here saves that second round trip.
44+
# Load-bearing for provenance, not just a convenience: the provenance ledger dates what
45+
# changed with git, and at the default `fetch-depth: 1` the whole library would date from
46+
# the single fetched commit.
4947
fetch-depth: 0 # Fetch all history for all branches and tags
5048

5149
- name: Build and lint project
@@ -56,31 +54,36 @@ jobs:
5654
lint: true
5755
mk_all-check: true
5856

59-
# The whole Referee pipeline: the binary and its toolchain check, semantic_hash, collect,
60-
# the provenance ledger's branch round trip, the revision-diff baseline, extract and
61-
# build-site. All of it used to be spelled out here, in 240 lines that were copy-pasted into
62-
# three repositories and then drifted apart. It now lives in the action, which is tested in
63-
# its own repository.
57+
# The referee site, by referee-site (LeanTrustBuilders). The action extracts the dataset with
58+
# the newest trust-extract release for this project's lean-toolchain (there is one for each
59+
# toolchain Mathlib moves to) and publishes it as the release `dataset-<commit12>`; records
60+
# the build in the provenance ledger, on the branch `trust-ledger`; and builds the site
61+
# against the previous build, with the reviews of the evidence store
62+
# LeanMachineLearning/LML-evidence and of the stores it imports.
6463
#
65-
# Pinned to a tag rather than left floating: the tag names the Lean toolchain the binary was
66-
# built for (`v4.34.0-rc2` here, matching this project's lean-toolchain), and the action
67-
# takes its binary from the release of the same tag by default.
64+
# Pinned to a tag: referee-site's releases pin the evidence-core and evidence-store releases
65+
# they were tested with, so this build changes only when the tag here does.
6866
- name: Build the referee site
6967
id: referee
7068
if: github.event_name == 'push'
71-
uses: LeanMachineLearning/exposition@v4.35.0-rc2
69+
uses: LeanTrustBuilders/referee-site@v0.12.0
7270
with:
7371
root: LeanMachineLearning
74-
exclude-lib: LMLTutorial
75-
site-url: https://leanmachinelearning.org/LML/exposition
7672
# An editorial claim, not a derived fact: it says whoever publishes this site vouches for
7773
# Mathlib and everything under it. Drop it and every upstream package counts as unaudited.
7874
trust: mathlib
75+
# The dataset follows dependencies into Mathlib and Lean core, so that the site shows
76+
# what LML rests on there, and the reviews of those declarations in imported stores.
77+
extract-args: --upstream-closure term
78+
# Lean's kernel checks that each declaration's dependency closure is all it needs, proofs
79+
# included (seconds on this library).
80+
check: meaning term
81+
evidence: LeanMachineLearning/LML-evidence
7982

8083
# Unconditional, unlike the referee step: on a pull request this is the check that the
81-
# tutorial still builds. Placed after the referee step, which folds the provenance ledger, so
82-
# that `home_page/` and `LMLTutorial/_out/` do not exist yet when the ledger records whether
83-
# the tree was clean.
84+
# tutorial still builds. Placed after the referee step, which extracts the dataset, so that
85+
# `home_page/` and `LMLTutorial/_out/` do not exist yet when the dataset records whether the
86+
# tree was clean.
8487
- name: Build Verso Documentation
8588
run: |
8689
./scripts/build_docs.sh

‎.gitignore‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@
3131

3232
## Website
3333
/home_page/
34-
/exposition/
3534

3635
## Tutorial and docs
3736
/LMLTutorial/_out/

0 commit comments

Comments
 (0)