Skip to content

Commit

Permalink
ci: Implement a PR title linter (#275)
Browse files Browse the repository at this point in the history
  • Loading branch information
alessfg authored Jul 11, 2024
1 parent f57f939 commit 5584464
Show file tree
Hide file tree
Showing 2 changed files with 43 additions and 1 deletion.
3 changes: 2 additions & 1 deletion .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,11 @@ Describe the use case and detail of the change. If this PR addresses an issue on

### Checklist

Before creating a PR, run through this checklist and mark each as complete:
Before creating a pull request (PR), run through this checklist and mark each as complete:

- [ ] I have read the [contributing guidelines](/CONTRIBUTING.md).
- [ ] I have signed the [F5 Contributor License Agreement (CLA)](https://github.com/f5/.github/blob/main/CLA/cla-markdown.md).
- [ ] The PR title follows the [Conventional Commits specification](https://www.conventionalcommits.org/en/v1.0.0/).
- [ ] If applicable, I have added tests that prove my fix is effective or that my feature works.
- [ ] If applicable, I have checked that any relevant tests pass after adding my changes.
- [ ] I have updated any relevant documentation (e.g. [`README.md`](/README.md)).
41 changes: 41 additions & 0 deletions .github/workflows/lint-pr-title.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
---
name: Lint PR Title
on:
pull_request_target:
types: [opened, edited, synchronize]
permissions: read-all
jobs:
main:
name: Validate PR title
runs-on: ubuntu-24.04
permissions:
pull-requests: write
steps:
- name: Check PR title
id: lint_pr_title
uses: amannn/action-semantic-pull-request@0723387faaf9b38adef4775cd42cfd5155ed6017 # v5.5.3
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Comment on the PR if the title doesn't follow the Conventional Commits specification
if: always() && (steps.lint_pr_title.outputs.error_message != null)
uses: marocchino/sticky-pull-request-comment@331f8f5b4215f0445d3c07b4967662a32a2d3e31 # v2.9.0
with:
header: pr-title-lint-error
message: |
Thank you for opening this pull request! 👋🏼
In order to streamline our release process and maintain a consistent commit history, we require pull request (PR) titles to follow the [Conventional Commits specification](https://www.conventionalcommits.org/en/v1.0.0/).
Based on our linter, it looks like your proposed title needs to be adjusted. Here's the error message we received:
```
${{ steps.lint_pr_title.outputs.error_message }}
```
- name: Delete the previous comment once the PR title has been updated
if: ${{ steps.lint_pr_title.outputs.error_message == null }}
uses: marocchino/sticky-pull-request-comment@331f8f5b4215f0445d3c07b4967662a32a2d3e31 # v2.9.0
with:
header: pr-title-lint-error
delete: true

0 comments on commit 5584464

Please sign in to comment.