Skip to content

Commit

Permalink
Add PR changelog check
Browse files Browse the repository at this point in the history
  • Loading branch information
carbolymer committed Jun 23, 2023
1 parent 204b2a0 commit 3db1927
Showing 1 changed file with 44 additions and 0 deletions.
44 changes: 44 additions & 0 deletions .github/workflows/check-pr-changelog.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: Check if PR changelog was filled
on:
merge_group:
pull_request:

jobs:
check-changelog:
runs-on: ubuntu-latest
steps:
- uses: actions/setup-node@v3
with:
node-version: 16
- run: npm install js-yaml@4.1.0
- name: Fail if PR changelog has not been filled
uses: actions/github-script@v6
id: check-changelog
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
const yaml = require('js-yaml');
const prDescription = await github.rest.pulls.get({
owner: context.repo.owner,
repo: context.repo.repo,
pull_number: context.issue.number
});
const changelogRegex = /# Changelog([\s\S]*?)(?=\n#[^#])/;
const changelogMatch = prDescription.data.body.match(changelogRegex);
const changelogContent = changelogMatch ? changelogMatch [1].trim() : '';
const yamlRegex = /```yaml([\s\S]*?)```/;
const yamlMatch = changelogContent.match(yamlRegex);
const yamlContent = yamlMatch ? yamlMatch[1].trim() : '';
console.log(yaml.load(yamlContent))
if (changelogDescription === '<insert-changelog-description-here>') {
throw 'PR changelog description has not been updated!'
}
if (changelogDescription === '') {
throw 'PR changelog description field is missing!'
}

0 comments on commit 3db1927

Please sign in to comment.