Skip to content

Commit 74b60ab

Browse files
committed
Merge branch 'master' into fae_PR_surjLMap_iff_ballRange
2 parents 9d80b88 + 7a4fd53 commit 74b60ab

1,107 files changed

Lines changed: 17692 additions & 9502 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,26 @@ In particular, note that most reviewers will only notice your PR
1111
if it passes the continuous integration checks.
1212
Please ask for help on https://leanprover.zulipchat.com if needed.
1313
14-
To indicate co-authors, include at least one commit authored by each
15-
co-author among the commits in the pull request. If necessary, you may
16-
create empty commits to indicate co-authorship, using commands like so:
14+
When merging, all the commits will be squashed into a single commit
15+
listing all co-authors.
16+
17+
Co-authors in the squash commit are gathered from two sources:
18+
19+
First, all authors of commits to this PR branch are included. Thus,
20+
one way to add co-authors is to include at least one commit authored by
21+
each co-author among the commits in the pull request. If necessary, you
22+
may create empty commits to indicate co-authorship, using commands like so:
1723
1824
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
1925
20-
When merging, all the commits will be squashed into a single commit listing all co-authors.
26+
Second, co-authors can also be listed in lines at the very bottom of
27+
the commit message (that is, directly before the `---`) using the following format:
28+
29+
Co-authored-by: Author Name <author@email.com>
2130
22-
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
23-
(that is, before the `---`) using the following format:
31+
If you are moving or deleting declarations, please include these lines
32+
at the bottom of the commit message (before the `---`, and also before
33+
any "Co-authored-by" lines) using the following format:
2434
2535
Moves:
2636
- Vector.* -> List.Vector.*

.github/build.in.yml

Lines changed: 24 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ env:
1515
concurrency:
1616
# label each workflow run; only the latest with each label will run
1717
# workflows on master get more expressive labels
18-
group: ${{ github.workflow }}-${{ github.ref }}-${{ (contains(fromJSON('["refs/heads/master", "refs/heads/staging"]'), github.ref) && github.run_id) || '' }}
18+
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}-${{ (github.event_name == 'push' && contains(fromJSON('["refs/heads/master", "refs/heads/staging"]'), github.ref) && github.run_id) || '' }}
1919
# cancel any running workflow with the same label
2020
cancel-in-progress: true
2121

@@ -44,6 +44,17 @@ jobs:
4444
run:
4545
shell: landrun --rox /usr --ro /etc/timezone --rw /dev --rox /home/lean/.elan --rox /home/lean/actions-runner/_work --rox /home/lean/.cache/mathlib/ --rw pr-branch/.lake/ --env PATH --env HOME --env GITHUB_OUTPUT --env CI -- bash -euxo pipefail {0}
4646
steps:
47+
- name: job info
48+
env:
49+
WORKFLOW: ${{ github.workflow }}
50+
PR_NUMBER: ${{ github.event.pull_request.number }}
51+
REF: ${{ github.ref }}
52+
EVENT_NAME: ${{ github.event_name }}
53+
RUN_ID: ${{ github.run_id }}
54+
CONCURRENCY_GROUP: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}-${{ (github.event_name == 'push' && contains(fromJSON('["refs/heads/master", "refs/heads/staging"]'), github.ref) && github.run_id) || '' }}
55+
run: |
56+
# We can view these values in the logs under the step environment variables
57+
# landrun doesn't see env variables anyways
4758
- name: cleanup
4859
shell: bash # This *just* deletes old files, so is safe to run outside landrun.
4960
run: |
@@ -63,11 +74,11 @@ jobs:
6374
6475
# The Hoskinson runners may not have jq installed, so do that now.
6576
- name: 'Setup jq'
66-
uses: dcarbone/install-jq-action@f0e10f46ff84f4d32178b4b76e1ef180b16f82c3 # v3.1.1
77+
uses: dcarbone/install-jq-action@b7ef57d46ece78760b4019dbc4080a1ba2a40b45 # v3.2.0
6778

6879
# Checkout the master branch into a subdirectory
6980
- name: Checkout master branch
70-
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
81+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
7182
with:
7283
# Recall that on the `leanprover-community/mathlib4-nightly-testing` repository,
7384
# we don't maintain a `master` branch at all.
@@ -77,7 +88,7 @@ jobs:
7788

7889
# Checkout the PR branch into a subdirectory
7990
- name: Checkout PR branch
80-
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
91+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
8192
with:
8293
ref: "${{ PR_BRANCH_REF }}"
8394
path: pr-branch
@@ -295,6 +306,7 @@ jobs:
295306
echo "::endgroup::"
296307
297308
../master-branch/scripts/lake-build-with-retry.sh Mathlib
309+
# results of build at pr-branch/.lake/build_summary_Mathlib.json
298310
- name: end gh-problem-match-wrap for build step
299311
uses: leanprover-community/gh-problem-matcher-wrap@20007cb926a46aa324653a387363b52f07709845 # 2025-04-23
300312
with:
@@ -308,7 +320,7 @@ jobs:
308320
309321
- name: upload artifact containing contents of pr-branch
310322
# temporary measure for debugging no-build failures
311-
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
323+
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
312324
with:
313325
name: mathlib4_artifact
314326
include-hidden-files: true
@@ -363,13 +375,15 @@ jobs:
363375
run: |
364376
cd pr-branch
365377
../master-branch/scripts/lake-build-with-retry.sh Archive
378+
# results of build at pr-branch/.lake/build_summary_Archive.json
366379
367380
- name: build counterexamples
368381
id: counterexamples
369382
continue-on-error: true
370383
run: |
371384
cd pr-branch
372385
../master-branch/scripts/lake-build-with-retry.sh Counterexamples
386+
# results of build at pr-branch/.lake/build_summary_Counterexamples.json
373387
374388
- name: Check if building Archive or Counterexamples failed
375389
if: steps.archive.outcome == 'failure' || steps.counterexamples.outcome == 'failure'
@@ -416,7 +430,7 @@ jobs:
416430
id: test
417431
run: |
418432
cd pr-branch
419-
lake --iofail test
433+
../master-branch/scripts/lake-build-wrapper.py .lake/build_summary_MathlibTest.json lake --iofail test
420434
- name: end gh-problem-match-wrap for test step
421435
uses: leanprover-community/gh-problem-matcher-wrap@20007cb926a46aa324653a387363b52f07709845 # 2025-04-23
422436
with:
@@ -440,7 +454,7 @@ jobs:
440454
id: lint
441455
run: |
442456
cd pr-branch
443-
env LEAN_ABORT_ON_PANIC=1 lake exe runLinter Mathlib
457+
env LEAN_ABORT_ON_PANIC=1 ../master-branch/scripts/lake-build-wrapper.py .lake/build_summary_lint.json lake exe runLinter Mathlib
444458
445459
- name: end gh-problem-match-wrap for shake and lint steps
446460
uses: leanprover-community/gh-problem-matcher-wrap@20007cb926a46aa324653a387363b52f07709845 # 2025-04-23
@@ -491,12 +505,12 @@ jobs:
491505
runs-on: ubuntu-latest # Note these steps run on disposable GitHub runners, so no landrun sandboxing is needed.
492506
steps:
493507

494-
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
508+
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
495509
with:
496510
ref: "${{ PR_BRANCH_REF }}"
497511

498512
- name: Configure Lean
499-
uses: leanprover/lean-action@f807b338d95de7813c5c50d018f1c23c9b93b4ec # 2025-04-24
513+
uses: leanprover/lean-action@434f25c2f80ded67bba02502ad3a86f25db50709 # v1.3.0
500514
with:
501515
auto-config: false # Don't run `lake build`, `lake test`, or `lake lint` automatically.
502516
use-github-cache: false
@@ -539,7 +553,7 @@ jobs:
539553
lake exe graph
540554
541555
- name: upload the import graph
542-
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
556+
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
543557
with:
544558
name: import-graph
545559
path: import_graph.dot

.github/workflows/PR_summary.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,15 @@ jobs:
1717

1818
steps:
1919
- name: Checkout code
20-
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
20+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
2121
with:
2222
ref: ${{ github.event.pull_request.head.sha }}
2323
fetch-depth: 0
2424
path: pr-branch
2525

2626
# Checkout the master branch into a subdirectory
2727
- name: Checkout master branch
28-
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
28+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
2929
with:
3030
# When testing the scripts, comment out the "ref: master"
3131
ref: master
@@ -60,7 +60,7 @@ jobs:
6060
fi
6161
6262
- name: Set up Python
63-
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
63+
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
6464
with:
6565
python-version: 3.12
6666

.github/workflows/actionlint.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@ jobs:
1010
runs-on: ubuntu-latest
1111
steps:
1212
- name: Checkout
13-
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
13+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
1414

1515
- name: suggester / actionlint
16-
uses: reviewdog/action-actionlint@a5524e1c19e62881d79c1f1b9b6f09f16356e281 # v1.65.2
16+
uses: reviewdog/action-actionlint@f00ad0691526c10be4021a91b2510f0a769b14d0 # v1.68.0
1717
with:
1818
tool_name: actionlint
1919
fail_level: error
@@ -22,15 +22,15 @@ jobs:
2222
name: check workflows generated by build.in.yml
2323
runs-on: ubuntu-latest
2424
steps:
25-
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
25+
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
2626

2727
- name: update workflows
2828
run: |
2929
cd .github/workflows/
3030
./mk_build_yml.sh
3131
3232
- name: suggester / build.in.yml
33-
uses: reviewdog/action-suggester@4747dbc9f9e37adba0943e681cc20db466642158 # v1.21.0
33+
uses: reviewdog/action-suggester@aa38384ceb608d00f84b4690cacc83a5aba307ff # v1.24.0
3434
with:
3535
tool_name: mk_build_yml.sh
3636
fail_level: error

.github/workflows/add_label_from_diff.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,12 @@ jobs:
2222
if: github.repository == 'leanprover-community/mathlib4'
2323
steps:
2424
- name: Checkout code
25-
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
25+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
2626
with:
2727
ref: ${{ github.event.pull_request.head.sha }}
2828
fetch-depth: 0
2929
- name: Configure Lean
30-
uses: leanprover/lean-action@f807b338d95de7813c5c50d018f1c23c9b93b4ec # 2025-04-24
30+
uses: leanprover/lean-action@434f25c2f80ded67bba02502ad3a86f25db50709 # v1.3.0
3131
with:
3232
auto-config: false
3333
use-github-cache: false

.github/workflows/auto_assign_reviewers.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,14 @@ jobs:
1111
name: assign automatically proposed reviewers
1212
runs-on: ubuntu-latest
1313
steps:
14-
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
14+
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
1515
with:
1616
ref: master
1717
sparse-checkout: |
1818
scripts/assign_reviewers.py
1919
2020
- name: Set up Python
21-
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
21+
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
2222
with:
2323
python-version: '3.x'
2424

.github/workflows/bench_summary_comment.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,14 @@ jobs:
1010
if: github.event.issue.pull_request && (startsWith(github.event.comment.body, 'Here are the [benchmark results]'))
1111
runs-on: ubuntu-latest
1212
steps:
13-
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
13+
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
1414
with:
1515
ref: master
1616
sparse-checkout: |
1717
scripts/bench_summary.lean
1818
1919
- name: Configure Lean
20-
uses: leanprover/lean-action@f807b338d95de7813c5c50d018f1c23c9b93b4ec # 2025-04-24
20+
uses: leanprover/lean-action@434f25c2f80ded67bba02502ad3a86f25db50709 # v1.3.0
2121
with:
2222
auto-config: false
2323
use-github-cache: false

.github/workflows/bors.yml

Lines changed: 24 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ env:
2525
concurrency:
2626
# label each workflow run; only the latest with each label will run
2727
# workflows on master get more expressive labels
28-
group: ${{ github.workflow }}-${{ github.ref }}-${{ (contains(fromJSON('["refs/heads/master", "refs/heads/staging"]'), github.ref) && github.run_id) || '' }}
28+
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}-${{ (github.event_name == 'push' && contains(fromJSON('["refs/heads/master", "refs/heads/staging"]'), github.ref) && github.run_id) || '' }}
2929
# cancel any running workflow with the same label
3030
cancel-in-progress: true
3131

@@ -54,6 +54,17 @@ jobs:
5454
run:
5555
shell: landrun --rox /usr --ro /etc/timezone --rw /dev --rox /home/lean/.elan --rox /home/lean/actions-runner/_work --rox /home/lean/.cache/mathlib/ --rw pr-branch/.lake/ --env PATH --env HOME --env GITHUB_OUTPUT --env CI -- bash -euxo pipefail {0}
5656
steps:
57+
- name: job info
58+
env:
59+
WORKFLOW: ${{ github.workflow }}
60+
PR_NUMBER: ${{ github.event.pull_request.number }}
61+
REF: ${{ github.ref }}
62+
EVENT_NAME: ${{ github.event_name }}
63+
RUN_ID: ${{ github.run_id }}
64+
CONCURRENCY_GROUP: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}-${{ (github.event_name == 'push' && contains(fromJSON('["refs/heads/master", "refs/heads/staging"]'), github.ref) && github.run_id) || '' }}
65+
run: |
66+
# We can view these values in the logs under the step environment variables
67+
# landrun doesn't see env variables anyways
5768
- name: cleanup
5869
shell: bash # This *just* deletes old files, so is safe to run outside landrun.
5970
run: |
@@ -73,11 +84,11 @@ jobs:
7384
7485
# The Hoskinson runners may not have jq installed, so do that now.
7586
- name: 'Setup jq'
76-
uses: dcarbone/install-jq-action@f0e10f46ff84f4d32178b4b76e1ef180b16f82c3 # v3.1.1
87+
uses: dcarbone/install-jq-action@b7ef57d46ece78760b4019dbc4080a1ba2a40b45 # v3.2.0
7788

7889
# Checkout the master branch into a subdirectory
7990
- name: Checkout master branch
80-
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
91+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
8192
with:
8293
# Recall that on the `leanprover-community/mathlib4-nightly-testing` repository,
8394
# we don't maintain a `master` branch at all.
@@ -87,7 +98,7 @@ jobs:
8798

8899
# Checkout the PR branch into a subdirectory
89100
- name: Checkout PR branch
90-
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
101+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
91102
with:
92103
ref: "${{ github.sha }}"
93104
path: pr-branch
@@ -305,6 +316,7 @@ jobs:
305316
echo "::endgroup::"
306317
307318
../master-branch/scripts/lake-build-with-retry.sh Mathlib
319+
# results of build at pr-branch/.lake/build_summary_Mathlib.json
308320
- name: end gh-problem-match-wrap for build step
309321
uses: leanprover-community/gh-problem-matcher-wrap@20007cb926a46aa324653a387363b52f07709845 # 2025-04-23
310322
with:
@@ -318,7 +330,7 @@ jobs:
318330
319331
- name: upload artifact containing contents of pr-branch
320332
# temporary measure for debugging no-build failures
321-
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
333+
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
322334
with:
323335
name: mathlib4_artifact
324336
include-hidden-files: true
@@ -373,13 +385,15 @@ jobs:
373385
run: |
374386
cd pr-branch
375387
../master-branch/scripts/lake-build-with-retry.sh Archive
388+
# results of build at pr-branch/.lake/build_summary_Archive.json
376389
377390
- name: build counterexamples
378391
id: counterexamples
379392
continue-on-error: true
380393
run: |
381394
cd pr-branch
382395
../master-branch/scripts/lake-build-with-retry.sh Counterexamples
396+
# results of build at pr-branch/.lake/build_summary_Counterexamples.json
383397
384398
- name: Check if building Archive or Counterexamples failed
385399
if: steps.archive.outcome == 'failure' || steps.counterexamples.outcome == 'failure'
@@ -426,7 +440,7 @@ jobs:
426440
id: test
427441
run: |
428442
cd pr-branch
429-
lake --iofail test
443+
../master-branch/scripts/lake-build-wrapper.py .lake/build_summary_MathlibTest.json lake --iofail test
430444
- name: end gh-problem-match-wrap for test step
431445
uses: leanprover-community/gh-problem-matcher-wrap@20007cb926a46aa324653a387363b52f07709845 # 2025-04-23
432446
with:
@@ -450,7 +464,7 @@ jobs:
450464
id: lint
451465
run: |
452466
cd pr-branch
453-
env LEAN_ABORT_ON_PANIC=1 lake exe runLinter Mathlib
467+
env LEAN_ABORT_ON_PANIC=1 ../master-branch/scripts/lake-build-wrapper.py .lake/build_summary_lint.json lake exe runLinter Mathlib
454468
455469
- name: end gh-problem-match-wrap for shake and lint steps
456470
uses: leanprover-community/gh-problem-matcher-wrap@20007cb926a46aa324653a387363b52f07709845 # 2025-04-23
@@ -501,12 +515,12 @@ jobs:
501515
runs-on: ubuntu-latest # Note these steps run on disposable GitHub runners, so no landrun sandboxing is needed.
502516
steps:
503517

504-
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
518+
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
505519
with:
506520
ref: "${{ github.sha }}"
507521

508522
- name: Configure Lean
509-
uses: leanprover/lean-action@f807b338d95de7813c5c50d018f1c23c9b93b4ec # 2025-04-24
523+
uses: leanprover/lean-action@434f25c2f80ded67bba02502ad3a86f25db50709 # v1.3.0
510524
with:
511525
auto-config: false # Don't run `lake build`, `lake test`, or `lake lint` automatically.
512526
use-github-cache: false
@@ -549,7 +563,7 @@ jobs:
549563
lake exe graph
550564
551565
- name: upload the import graph
552-
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
566+
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
553567
with:
554568
name: import-graph
555569
path: import_graph.dot

0 commit comments

Comments
 (0)