validate-n8n-pull-request-title
GitHub Action to validate that PR titles in n8n-io/n8n
match n8n's version of the Conventional Commits spec.
Setup
Create .github/workflows/validate-pr-title.yml
containing:
name: Validate PR title
on:
pull_request:
types:
- opened
- edited
- synchronize
jobs:
validate_pr_title:
name: Validate PR title
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- name: Validate PR title
uses: ivov/validate-n8n-pull-request-title@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Output
On validation failure, this action will populate the validation_issues
output. You can use this output in subsequent steps, e.g. to send the validation issue as a comment on the pull request.
Output usage example
name: Validate PR title
on:
pull_request:
types:
- opened
- edited
- synchronize
jobs:
main:
name: Validate PR title and notify
runs-on: ubuntu-latest
steps:
- name: Validate PR title
uses: ivov/validate-n8n-pull-request-title@v1
id: validate_pr_title
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Post validation issue as comment
uses: marocchino/sticky-pull-request-comment@v2
if: always() # ensure workflow continues executing despite validation errors
with:
header: pr_title_failed_validation # for later deletion
message: |
Thank you for your contribution!
PR titles in this repo follow our version of the Conventional Commits spec.
This allows us to automatically generate the changelog for the next release.
Therefore, we ask you to adjust your PR title to solve the issue(s) below:
```
${{ steps.validate_pr_title.outputs.validation_issues }}
```
- name: Remove validation issue comment once resolved
if: ${{ steps.validate_pr_title.outputs.validation_issues == null }}
uses: marocchino/sticky-pull-request-comment@v2
with:
header: pr_title_failed_validation
delete: true
Release
git tag -m "Release v1.x.x" v1.x.x
git push --follow-tags
Author
© 2022 Iván Ovejero
License
Distributed under the MIT License.