From 3cd5c1f19aa84da2bd86b40da9f82e7df752131b Mon Sep 17 00:00:00 2001 From: Marc Jakobi Date: Mon, 11 Dec 2023 23:04:23 +0100 Subject: [PATCH] ci: replace PR template with review checklist action --- .github/PULL_REQUEST_TEMPLATE.md | 11 ------ .github/workflows/review-checklist.yml | 50 ++++++++++++++++++++++++++ 2 files changed, 50 insertions(+), 11 deletions(-) delete mode 100644 .github/PULL_REQUEST_TEMPLATE.md create mode 100644 .github/workflows/review-checklist.yml diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index 7b35fa5..0000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,11 +0,0 @@ - -###### Description of changes - -###### Things done - -- [ ] Tested, as applicable: - - [ ] Manually - - [ ] Added tests -- [ ] Updated [CHANGELOG.md](https://github.com/mrcjkb/haskell-snippets.nvim/blob/master/CHANGELOG.md) - (if applicable). -- [ ] Fits [CONTRIBUTING.md](https://github.com/mrcjkb/haskell-snippets.nvim/blob/master/CONTRIBUTING.md) diff --git a/.github/workflows/review-checklist.yml b/.github/workflows/review-checklist.yml new file mode 100644 index 0000000..609d7b2 --- /dev/null +++ b/.github/workflows/review-checklist.yml @@ -0,0 +1,50 @@ +--- +name: Review Checklist + +on: + pull_request_target: + types: [opened, review_requested] + +jobs: + review-checklist: + name: Review Checklist + runs-on: ubuntu-latest + steps: + - uses: actions/github-script@v7 + with: + script: | + const body = context.payload.pull_request.body + if (body && body.startsWith(":robot: I have created a release *beep* *boop*")) { return; } + + const { data: comments } = await github.rest.issues.listComments({ + issue_number: context.issue.number, + owner: context.repo.owner, + repo: context.repo.repo, + }); + + // if comment already exists, then just return + if (comments.find(comment => comment.body.includes("### Review Checklist"))) { return; } + + github.rest.issues.createComment({ + issue_number: context.issue.number, + owner: context.repo.owner, + repo: context.repo.repo, + body: `### Review Checklist + + Does this PR follow the [Contribution Guidelines](https://github.com/mrcjkb/haskell-snippets.nvim/blob/master/CONTRIBUTING.md)? Following is a _partial_ checklist: + + Proper [conventional commit](https://www.conventionalcommits.org/en/v1.0.0/) scoping: + + - For example, fix(lsp): some lsp-related bugfix + + - [ ] Pull request title has the appropriate conventional commit prefix. + + If applicable: + + - [ ] Tested + - [ ] Tests have been added. + - [ ] Tested manually (Steps to reproduce in PR description). + - [ ] Updated documentation. + - [ ] Updated [CHANGELOG.md](https://github.com/mrcjkb/haskell-snippets.nvim/blob/master/CHANGELOG.md) + `, + })