@@ -16,12 +16,11 @@ concurrency:
1616
1717# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
1818permissions :
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
2625jobs :
2726 build_project :
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
0 commit comments