Skip to content

Pre-Commit

Runs pre-commit checks. By default installs black, isort, and flake8 before running pre-commit.

Usage

Create a .github/workflows/test.yaml file:

.github/workflows/test.yaml
name: Lint and Test

on:
  pull_request:
    branches:
      - main

permissions: {} # (1)

jobs:
  pre-commit:
    permissions:
      contents: read # (2)
    uses: radiorabe/actions/.github/workflows/test-pre-commit.yaml@v0.0.0
  1. Deny all permissions at the workflow level as a secure baseline.
  2. Grant only the minimum permissions this workflow requires.

Additional Python Packages

If you need more tools, install them with the requirements input:

.github/workflows/test.yaml
jobs:
  pre-commit:
    permissions:
      contents: read # (1)
    uses: radiorabe/actions/.github/workflows/test-pre-commit.yaml@v0.0.0
    with:
      requirements: black isort # (2)
  1. Grant only the minimum permissions this workflow requires.
  2. Space-separated list of additional Python packages to install before running pre-commit.

Inputs

Input Description Required Default
requirements Space-separated list of Python packages to install with pip No black isort flake8