diff --git a/.github/workflows/reviewchecklist.yml b/.github/workflows/reviewchecklist.yml new file mode 100644 index 000000000..ded3bab2a --- /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: + + - [ ] 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: + + - 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\` + + - [ ] \`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. + `, + })