name: Run pre-commit on: workflow_call: inputs: commands: required: false type: string default: "" description: run additional commands for preparing the environment concurrency: group: pre-commit-${{ github.ref }} cancel-in-progress: true jobs: pre-commit: runs-on: ubuntu-latest permissions: contents: read steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 id: python-setup with: python-version: '3.x' - name: Run commands if: inputs.commands run: ${{ inputs.commands }} - name: Cache pre-commit environments uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 with: path: '~/.cache/pre-commit' key: pre-commit-${{ steps.python-setup.outputs.python-version }}-${{ hashFiles('.pre-commit-config.yaml') }} - run: pipx run pre-commit run --show-diff-on-failure --color=always --all-files