Lints the title of a pull request
				
			
		| 
		
			Some checks failed
		
		
	 Lint Pull Request / Lint PR Title (pull_request) Failing after 9s | ||
|---|---|---|
| .gitea/workflows | ||
| docs | ||
| internal/validation | ||
| .gitignore | ||
| action.yml | ||
| go.mod | ||
| go.sum | ||
| LICENSE | ||
| main.go | ||
| README.md | ||
| release.config.cjs | ||
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, synchronize]
jobs:
  lint:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: your-org/pull-request-lint@main
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.