name: Maintenance on: schedule: # Weekly, at 02:30 UTC on Friday (somewhat randomly chosen). # Keep in sync with the Dependabot job in dependabot.yml! - cron: '30 02 * * 5' workflow_dispatch: permissions: {} jobs: maintenance: runs-on: ubuntu-latest name: Maintenance steps: - name: Checkout uses: actions/checkout@v7 with: # Needed for `git push` below. persist-credentials: true # I think that by default, pushes don't trigger other workflows, and # you need a separate token for that: # https://docs.github.com/en/actions/how-tos/write-workflows/choose-when-workflows-run/trigger-a-workflow#triggering-a-workflow-from-a-workflow token: ${{ secrets.GH_TOKEN }} - name: Set up Python uses: actions/setup-python@v7 with: python-version-file: .python-version - name: Configure git run: | # See https://github.com/actions/checkout#push-a-commit-using-the-built-in-token git config user.name "github-actions[bot]" git config user.email "41898282+github-actions[bot]@users.noreply.github.com" - name: Run maintenance run: make maintenance