# Copyright (c) 2023 Sebastian Pipping # Licensed under the MIT license name: Detect outdated pre-commit hooks on: schedule: - cron: '0 16 * * 5' # Every Friday 4pm # NOTE: This will drop all permissions from GITHUB_TOKEN except metadata read, # and then (re)add the ones listed below: permissions: contents: write pull-requests: write jobs: pre_commit_detect_outdated: name: Detect outdated pre-commit hooks runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v5 - name: Set up Python 3.12 uses: actions/setup-python@v6 with: python-version: 3.12 - name: Install pre-commit run: |- pip install \ --disable-pip-version-check \ --no-warn-script-location \ --user \ pre-commit echo "PATH=${HOME}/.local/bin:${PATH}" >> "${GITHUB_ENV}" - name: Check for outdated hooks run: |- pre-commit autoupdate git diff -- .pre-commit-config.yaml - name: Create pull request from changes (if any) id: create-pull-request uses: peter-evans/create-pull-request@v7 with: author: 'pre-commit ' base: master body: |- For your consideration. :warning: Please **CLOSE AND RE-OPEN** this pull request so that [further workflow runs get triggered](https://github.com/peter-evans/create-pull-request/blob/main/docs/concepts-guidelines.md#triggering-further-workflow-runs) for this pull request. branch: precommit-autoupdate commit-message: "pre-commit: Autoupdate" delete-branch: true draft: true labels: enhancement title: "pre-commit: Autoupdate" - name: Log pull request URL if: "${{ steps.create-pull-request.outputs.pull-request-url }}" run: | echo "Pull request URL is: ${{ steps.create-pull-request.outputs.pull-request-url }}"