Skip to content

Commit

Permalink
chore: Add action to validate PR titles (#8614)
Browse files Browse the repository at this point in the history
  • Loading branch information
mister-ben authored Mar 4, 2024
1 parent d7757d8 commit 04d10ef
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 0 deletions.
13 changes: 13 additions & 0 deletions .github/actions/pr-titles.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
const core = require('@actions/core');
const github = require('@actions/github');

(async function run() {
const title = github.context.payload.pull_request?.title;
const titleRegex = /^(chore|ci|docs|feat|fix|refactor|revert|test)(\(.+\))?!?: (.+)/;

if (!!title.match(titleRegex)) {
core.info('Pull request title is OK');
} else {
core.setFailed('Please use conventional commit style for the PR title so the merged change appears in the changelog. See https://www.conventionalcommits.org/.');
}
})();
22 changes: 22 additions & 0 deletions .github/workflows/pr-titles.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: PR title check

on:
pull_request:
types: [opened, reopened, edited, synchronize]
branches: [main]

concurrency:
group: ${{ github.workflow }}-${{ github.event.number }}
cancel-in-progress: true

jobs:
pr-title-lint:
name: Should follow conventional commit spec
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '20'
- run: npm i @actions/core @actions/github
- run: node .github/actions/pr-titles.js

0 comments on commit 04d10ef

Please sign in to comment.