A GitHub Action that runs pre-commit hooks using prek in your CI/CD pipeline.
Despite the name, pre-commit
hooks can be run at any time, not just before commits.
prek is a fast hooks runner that provides an alternative to the widely-used pre-commit framework. It offers better performance and caching capabilities for running code quality checks.
name: Prek checks
on: [push, pull_request]
jobs:
prek:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: j178/prek-action@v1
steps:
- uses: actions/checkout@v5
- uses: j178/prek-action@v1
with:
extra-args: '--all-files --directory packages/'
steps:
- uses: actions/checkout@v5
- uses: j178/prek-action@v1
with:
extra-args: '--all-files mypy flake8 ruff'
steps:
- uses: actions/checkout@v5
- uses: j178/prek-action@v1
with:
prek-version: '0.2.1'
extra-args: '--all-files'
steps:
- uses: actions/checkout@v5
- uses: j178/prek-action@v1
with:
install-only: true
When install-only
is set to true
, the action will only install prek and skip running it. The extra-args
input has no effect in this mode.
Input | Description | Required | Default |
---|---|---|---|
extra-args |
Additional arguments to pass to prek run |
No | --all-files |
install-only |
Only install prek, do not run it | No | false |
prek-version |
Version of prek to install (e.g., '0.2.1', 'latest') | No | latest |
working-directory |
The working directory to run prek in | No | . |
token |
GitHub token to avoid API rate limiting | No | ${{ github.token }} |
Output | Description |
---|---|
prek-version |
The resolved version of prek that was installed |
Your repository must have a .pre-commit-config.yaml
file configured for use with pre-commit hooks.
This action is licensed under the MIT License. See LICENSE for details.