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:

  • v2 always points to the latest v2.x.y release
  • v2.0 always points to the latest v2.0.y release

For a stable reference, pin to a specific release tag such as v2.0.0, or pin to a commit SHA.

Inputs

InputDescriptionRequiredDefault
extra-argsAdditional arguments appended to prek run --show-diff-on-failure --color=alwaysNo--all-files
extra_argsDeprecated alias for extra-argsNo
prek-versionVersion or semver range to install, for example 0.2.30, 0.3.x, <=1.0.0, or latestNolatest
install-onlyInstall prek but skip prek runNofalse
working-directoryDirectory where prek run is executedNo.
show-verbose-logsPrint the prek verbose log after prek run completesNotrue
cacheCache the prek environment between workflow runsNotrue
tokenDeprecated and unused; retained for backward compatibilityNo''

Outputs

OutputDescription
prek-versionThe resolved prek version, normalized to a v-prefixed tag
cache-hitWhether 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.