Prek Action
March 18, 2026 ยท View on GitHub
Run prek in your GitHub Actions workflows.
Usage
name: Prek checks
on: [push, pull_request]
jobs:
prek:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: j178/prek-action@v2
prek is always invoked as:
prek run --show-diff-on-failure --color=always <extra-args>
Version Tags
Major and minor tags are moving tags. For example, v2 and v2.0 are not fixed releases:
v2always points to the latestv2.x.yreleasev2.0always points to the latestv2.0.yrelease
For a stable reference, pin to a specific release tag such as v2.0.0, or pin to a commit SHA.
Inputs
| Input | Description | Required | Default |
|---|---|---|---|
extra-args | Additional arguments appended to prek run --show-diff-on-failure --color=always | No | --all-files |
extra_args | Deprecated alias for extra-args | No | |
prek-version | Version or semver range to install, for example 0.2.30, 0.3.x, <=1.0.0, or latest | No | latest |
install-only | Install prek but skip prek run | No | false |
working-directory | Directory where prek run is executed | No | . |
show-verbose-logs | Print the prek verbose log after prek run completes | No | true |
cache | Cache the prek environment between workflow runs | No | true |
token | Deprecated and unused; retained for backward compatibility | No | '' |
Outputs
| Output | Description |
|---|---|
prek-version | The resolved prek version, normalized to a v-prefixed tag |
cache-hit | Whether the restored prek cache exactly matched the computed primary cache key |
Examples
Install and run against all files:
steps:
- uses: actions/checkout@v6
- uses: j178/prek-action@v2
Pass extra arguments:
steps:
- uses: actions/checkout@v6
- uses: j178/prek-action@v2
with:
extra-args: '--all-files --directory packages/'
Pin a specific prek version:
steps:
- uses: actions/checkout@v6
- uses: j178/prek-action@v2
with:
prek-version: '0.2.30'
Resolve a semver range:
steps:
- uses: actions/checkout@v6
- uses: j178/prek-action@v2
with:
prek-version: '0.3.x'
Install only:
steps:
- uses: actions/checkout@v6
- uses: j178/prek-action@v2
with:
install-only: true
- run: prek run --show-diff-on-failure --color=always --all-files
Disable verbose log output after the run:
steps:
- uses: actions/checkout@v6
- uses: j178/prek-action@v2
with:
show-verbose-logs: false
Requirements
The target repository needs a prek or pre-commit configuration file:
prek.toml.pre-commit-config.yaml.pre-commit-config.yml
Contributing
For contributor setup, testing, bundling, and release steps, see CONTRIBUTING.md.