7878
7979 # Checkout the master branch into a subdirectory
8080 - name : Checkout master branch
81- uses : actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5 .0.0
81+ uses : actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6 .0.1
8282 with :
8383 # Recall that on the `leanprover-community/mathlib4-nightly-testing` repository,
8484 # we don't maintain a `master` branch at all.
8888
8989 # Checkout the PR branch into a subdirectory
9090 - name : Checkout PR branch
91- uses : actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5 .0.0
91+ uses : actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6 .0.1
9292 with :
9393 ref : " ${{ PR_BRANCH_REF }}"
9494 path : pr-branch
@@ -365,7 +365,7 @@ jobs:
365365
366366 - name : upload artifact containing contents of pr-branch
367367 # temporary measure for debugging no-build failures
368- uses : actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 .0.0
368+ uses : actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6 .0.0
369369 with :
370370 name : mathlib4_artifact
371371 include-hidden-files : true
@@ -395,7 +395,7 @@ jobs:
395395 # do not try to upload files just downloaded
396396
397397 echo "Uploading cache to Azure..."
398- USE_FRO_CACHE =0 ../master-branch/.lake/build/bin/cache --repo=${{ github.event.pull_request.head.repo.full_name || github.repository }} put-unpacked
398+ MATHLIB_CACHE_USE_CLOUDFLARE =0 ../master-branch/.lake/build/bin/cache --repo=${{ github.event.pull_request.head.repo.full_name || github.repository }} put-unpacked
399399 env :
400400 MATHLIB_CACHE_SAS_RAW : ${{ secrets.MATHLIB_CACHE_SAS }}
401401
@@ -451,8 +451,8 @@ jobs:
451451 export MATHLIB_CACHE_SAS="${MATHLIB_CACHE_SAS_RAW%"${MATHLIB_CACHE_SAS_RAW##*[![:space:]]}"}"
452452
453453 echo "Uploading Archive and Counterexamples cache to Azure..."
454- USE_FRO_CACHE =0 ../master-branch/.lake/build/bin/cache --repo=${{ github.event.pull_request.head.repo.full_name || github.repository }} put-unpacked Archive.lean
455- USE_FRO_CACHE =0 ../master-branch/.lake/build/bin/cache --repo=${{ github.event.pull_request.head.repo.full_name || github.repository }} put-unpacked Counterexamples.lean
454+ MATHLIB_CACHE_USE_CLOUDFLARE =0 ../master-branch/.lake/build/bin/cache --repo=${{ github.event.pull_request.head.repo.full_name || github.repository }} put-unpacked Archive.lean
455+ MATHLIB_CACHE_USE_CLOUDFLARE =0 ../master-branch/.lake/build/bin/cache --repo=${{ github.event.pull_request.head.repo.full_name || github.repository }} put-unpacked Counterexamples.lean
456456 env :
457457 MATHLIB_CACHE_SAS_RAW : ${{ secrets.MATHLIB_CACHE_SAS }}
458458
@@ -501,7 +501,25 @@ jobs:
501501 id : lint
502502 run : |
503503 cd pr-branch
504- env LEAN_ABORT_ON_PANIC=1 ../master-branch/scripts/lake-build-wrapper.py .lake/build_summary_lint.json lake exe runLinter Mathlib
504+ # Try running with --trace; if it fails due to argument parsing, the PR needs to merge master
505+ # We use .lake/ for the output file because landrun restricts /tmp access
506+ if ! env LEAN_ABORT_ON_PANIC=1 stdbuf -oL lake exe runLinter --trace Mathlib 2>&1 | tee .lake/lint_output.txt; then
507+ if grep -q "cannot parse arguments" .lake/lint_output.txt; then
508+ echo ""
509+ echo "=============================================================================="
510+ echo "ERROR: Your branch uses an older version of runLinter that doesn't support"
511+ echo "the --trace flag. Please merge 'master' into your PR branch to get the"
512+ echo "updated linter, then push again."
513+ echo ""
514+ echo "You can do this with:"
515+ echo " git fetch upstream"
516+ echo " git merge upstream/master"
517+ echo " git push"
518+ echo "=============================================================================="
519+ echo ""
520+ fi
521+ exit 1
522+ fi
505523
506524 - name : end gh-problem-match-wrap for shake and lint steps
507525 uses : leanprover-community/gh-problem-matcher-wrap@20007cb926a46aa324653a387363b52f07709845 # 2025-04-23
@@ -552,7 +570,7 @@ jobs:
552570 runs-on : ubuntu-latest # Note these steps run on disposable GitHub runners, so no landrun sandboxing is needed.
553571 steps :
554572
555- - uses : actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5 .0.0
573+ - uses : actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6 .0.1
556574 with :
557575 ref : " ${{ PR_BRANCH_REF }}"
558576
@@ -600,7 +618,7 @@ jobs:
600618 lake exe graph
601619
602620 - name : upload the import graph
603- uses : actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 .0.0
621+ uses : actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6 .0.0
604622 with :
605623 name : import-graph
606624 path : import_graph.dot
@@ -688,15 +706,6 @@ jobs:
688706 echo "number=${{ steps.PR_from_push.outputs.number || github.event.pull_request.number }}" | tee -a "$GITHUB_OUTPUT"
689707 echo "pr_labels=${{ steps.PR_from_push.outputs.pr_labels || join(github.event.pull_request.labels.*.name, ',') }}" | tee -a "$GITHUB_OUTPUT"
690708
691- - if : contains(steps.PR.outputs.pr_labels, 'bench-after-CI')
692- name : If `bench-after-CI` is present, add a `!bench` comment.
693- uses : GrantBirki/comment@608e41b19bc973020ec0e189ebfdae935d7fe0cc # v2.1.1
694- with :
695- token : ${{ secrets.AUTO_MERGE_TOKEN }}
696- issue-number : ${{ steps.PR.outputs.number }}
697- body : |
698- !bench
699-
700709 - id : remove_labels
701710 name : Remove "awaiting-CI"
702711 # we use curl rather than octokit/request-action so that the job won't fail
@@ -713,7 +722,7 @@ jobs:
713722 # unfortunately we cannot query only for 'auto-merge-after-CI' events
714723 # so we have to process this with jq in the next step
715724 id : get-timeline
716- uses : octokit/graphql-action@8ad880e4d437783ea2ab17010324de1075228110 # v2.3 .2
725+ uses : octokit/graphql-action@ddde8ebb2493e79f390e6449c725c21663a67505 # v3.0 .2
717726 with :
718727 query : |
719728 query($owner: String!, $name: String!, $number: Int!) {
0 commit comments