From 6cc65b56b91724f1bb1a2756710a16004b9b7cfc Mon Sep 17 00:00:00 2001 From: Micah Halter Date: Fri, 30 Jun 2023 13:16:44 -0400 Subject: [PATCH] ci: add review checklist --- .github/workflows/reviewchecklist.yml | 41 +++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 .github/workflows/reviewchecklist.yml diff --git a/.github/workflows/reviewchecklist.yml b/.github/workflows/reviewchecklist.yml new file mode 100644 index 000000000..8e9853291 --- /dev/null +++ b/.github/workflows/reviewchecklist.yml @@ -0,0 +1,41 @@ +name: Review Checklist + +on: + pull_request_target: + types: [review_requested] + +jobs: + review-checklist: + name: Review Checklist + runs-on: ubuntu-latest + steps: + - uses: actions/github-script@v6 + with: + script: | + 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](development guidelines)? Following is a _partial_ checklist: + + Proper conventional commit scoping: + + - If you are adding a new plugin, the scope would be the name of the category it is being added into. ex. \`feat(utility): added noice.nvim plugin\` + - If you are modifying a pre-existing plugin or pack, the scope would be the name of the plugin folder. ex. \`fix(noice-nvim): fix LSP handler error\` + + - [ ] Pull request title has the appropriate conventional commit type and **scope** where the scope is the name of the _pre-existing_ directory in the project as described above + - [ ] \`README\` is properly formatted and uses fenced in links with \`\` unless they are inside a \`[title](url)\` + - [ ] Proper usage of \`opts\` table rather than setting things up with the \`config\` function. + `, + })