42 lines
1.9 KiB
YAML
42 lines
1.9 KiB
YAML
name: Update Dependencies
|
|
|
|
on:
|
|
# schedule: # Sets a schedule to trigger the workflow
|
|
# - cron: "0 8 * * *" # Every day at 08:00 AM UTC (see https://docs.github.com/en/actions/writing-workflows/choosing-when-your-workflow-runs/events-that-trigger-workflows#schedule)
|
|
workflow_dispatch: # Allows the workflow to be triggered manually via the GitHub interface
|
|
|
|
jobs:
|
|
check-for-updates: # Determines which updates to apply.
|
|
runs-on: ubuntu-latest
|
|
outputs:
|
|
is-update-available: ${{ steps.check-for-updates.outputs.is-update-available }}
|
|
new-tags: ${{ steps.check-for-updates.outputs.new-tags }}
|
|
steps:
|
|
- name: Run the action
|
|
id: check-for-updates
|
|
uses: leanprover-community/mathlib-update-action@v1
|
|
# START CONFIGURATION BLOCK 1
|
|
# END CONFIGURATION BLOCK 1
|
|
do-update: # Runs the upgrade, tests it, and makes a PR/issue/commit.
|
|
runs-on: ubuntu-latest
|
|
permissions:
|
|
contents: write # Grants permission to push changes to the repository
|
|
issues: write # Grants permission to create or update issues
|
|
pull-requests: write # Grants permission to create or update pull requests
|
|
needs: check-for-updates
|
|
if: ${{ needs.check-for-updates.outputs.is-update-available == 'true' }}
|
|
strategy: # Runs for each update discovered by the `check-for-updates` job.
|
|
max-parallel: 1 # Ensures that the PRs/issues are created in order.
|
|
matrix:
|
|
tag: ${{ fromJSON(needs.check-for-updates.outputs.new-tags) }}
|
|
steps:
|
|
- name: Run the action
|
|
id: update-the-repo
|
|
uses: leanprover-community/mathlib-update-action/do-update@v1
|
|
with:
|
|
tag: ${{ matrix.tag }}
|
|
# START CONFIGURATION BLOCK 2
|
|
on_update_succeeds: pr # Create a pull request if the update succeeds
|
|
on_update_fails: issue # Create an issue if the update fails
|
|
# END CONFIGURATION BLOCK 2
|