Nightly with Manual #167
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
| name: Nightly with Manual | |
| on: | |
| push: | |
| tags: | |
| - "nightly-testing-*" | |
| workflow_dispatch: | |
| workflow_call: | |
| schedule: | |
| - cron: "0 14 * * *" # 2PM UTC | |
| - cron: "0 22 * * *" # 10PM UTC | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| if: github.repository == 'leanprover/reference-manual' | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 # Fetch all history and tags | |
| - name: Find most recent nightly-testing tag | |
| id: find_tag | |
| run: | | |
| # Fetch all tags | |
| git fetch --tags | |
| # Find all tags matching nightly-testing-YYYY-MM-DD pattern | |
| # Sort them in reverse order (most recent first) and get the first one | |
| LATEST_TAG=$(git tag -l 'nightly-testing-*' | sort -r | head -n 1) | |
| # Extract just the YYYY-MM-DD portion | |
| NIGHTLY=$(echo "$LATEST_TAG" | sed 's/^nightly-testing-//') | |
| echo "Latest nightly-testing tag: $LATEST_TAG" | |
| echo "Nightly date: $NIGHTLY" | |
| echo "nightly=$NIGHTLY" >> $GITHUB_OUTPUT | |
| # Next, we'll update the `nightly-with-manual` branch at Lean. | |
| - name: Cleanup workspace | |
| run: | | |
| sudo rm -rf -- * | |
| # Check out the Lean repository on 'nightly-with-manual' | |
| - name: Check out Lean repository | |
| uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0 | |
| with: | |
| repository: leanprover/lean4 | |
| token: ${{ secrets.LEAN_PR_TESTING }} | |
| ref: nightly-with-manual | |
| # Merge the relevant nightly. | |
| - name: | |
| Fetch tags from 'lean4-nightly', and merge relevant nightly into | |
| 'nightly-with-manual' | |
| env: | |
| NIGHTLY: ${{ steps.find_tag.outputs.nightly }} | |
| run: | | |
| git remote add nightly https://github.com/leanprover/lean4-nightly.git | |
| git fetch nightly --tags | |
| # Note: old jobs may run out of order, but it is safe to merge an older `nightly-YYYY-MM-DD`. | |
| git merge "nightly-${NIGHTLY}" --strategy-option ours --allow-unrelated-histories || true | |
| git push origin |