Lints the title of a pull request
.gitea/workflows | ||
docs | ||
internal/validation | ||
.gitignore | ||
.golangci.yml | ||
action.yml | ||
go.mod | ||
go.sum | ||
LICENSE | ||
main.go | ||
README.md | ||
release.config.cjs | ||
renovate.json |
pull-request-lint
A GitHub/Gitea Action that lints pull request titles to ensure they follow the Conventional Commits format.
Usage
Add the following to your GitHub/Gitea workflow:
name: Pull Request Lint
on:
pull_request:
types: [opened, edited, reopened, synchronize]
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install go
uses: actions/setup-go@v5
with:
go-version: 1.24.2
- uses: https://git.kjan.de/actions/pull-request-lint@release
Validation Rules
The action enforces the following Conventional Commits rules for PR titles:
- Format must be:
type(scope)!: description
(scope and breaking change marker!
are optional) - Type and scope must be lowercase
- Description must start with lowercase
- Breaking change indicator and footer are mutually exclusive
- Body must be separated from description by a blank line
- Footer tokens must use hyphens instead of spaces (except for "BREAKING CHANGE")
License
See LICENSE file for details.