diff options
author | dundargoc <33953936+dundargoc@users.noreply.github.com> | 2022-12-15 20:40:30 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-12-15 20:40:30 +0100 |
commit | ef95174694d705e921ee0271d62badd45f00deaa (patch) | |
tree | 57e745efa2e2fcf561f1e98ca6a006f19ecbe089 | |
parent | 3091fa778a4f4fe6ff48527c6a29e3be874f46c7 (diff) | |
download | rneovim-ef95174694d705e921ee0271d62badd45f00deaa.tar.gz rneovim-ef95174694d705e921ee0271d62badd45f00deaa.tar.bz2 rneovim-ef95174694d705e921ee0271d62badd45f00deaa.zip |
ci: add team reviewers (#21434)
Using team reviewers when possible reduces the churn on the git history
as we'll be able to add or remove reviewers without needing to change
the workflow files.
This requires using Github fine-grained personal access tokens with Pull
Requests set to "Read and write" and Members to "Read-only".
-rw-r--r-- | .github/scripts/remove-reviewers.js | 4 | ||||
-rw-r--r-- | .github/scripts/reviews.js | 15 | ||||
-rw-r--r-- | .github/workflows/add-reviewers.yml | 1 | ||||
-rw-r--r-- | .github/workflows/labeler.yml | 1 | ||||
-rw-r--r-- | .github/workflows/remove-reviewers.yml | 1 |
5 files changed, 12 insertions, 10 deletions
diff --git a/.github/scripts/remove-reviewers.js b/.github/scripts/remove-reviewers.js index 631f08e57d..40a8eca423 100644 --- a/.github/scripts/remove-reviewers.js +++ b/.github/scripts/remove-reviewers.js @@ -6,11 +6,13 @@ module.exports = async ({github, context}) => { }); const reviewers = requestedReviewers.data.users.map(e => e.login) + const team_reviewers = requestedReviewers.data.teams.map(e => e.name); github.rest.pulls.removeRequestedReviewers({ owner: context.repo.owner, repo: context.repo.repo, pull_number: context.issue.number, - reviewers: reviewers + reviewers: reviewers, + team_reviewers: team_reviewers }); } diff --git a/.github/scripts/reviews.js b/.github/scripts/reviews.js index a31c94eebd..ab81a61047 100644 --- a/.github/scripts/reviews.js +++ b/.github/scripts/reviews.js @@ -7,6 +7,7 @@ module.exports = async ({github, context}) => { const labels = pr_data.data.labels.map(e => e.name) const reviewers = new Set() + const team_reviewers = new Array() if (labels.includes('api')) { reviewers.add("bfredl") reviewers.add("muniter") @@ -18,9 +19,7 @@ module.exports = async ({github, context}) => { } if (labels.includes('ci')) { - reviewers.add("dundargoc") - reviewers.add("jamessan") - reviewers.add("justinmk") + team_reviewers.push('ci'); } if (labels.includes('column')) { @@ -58,8 +57,7 @@ module.exports = async ({github, context}) => { } if (labels.includes('lsp')) { - reviewers.add("glepnir") - reviewers.add("mfussenegger") + team_reviewers.push('lsp'); } if (labels.includes('project-management')) { @@ -76,9 +74,7 @@ module.exports = async ({github, context}) => { } if (labels.includes('treesitter')) { - reviewers.add("bfredl") - reviewers.add("clason") - reviewers.add("vigoux") + team_reviewers.push('treesitter'); } if (labels.includes('typo')) { @@ -102,6 +98,7 @@ module.exports = async ({github, context}) => { owner: context.repo.owner, repo: context.repo.repo, pull_number: context.issue.number, - reviewers: Array.from(reviewers) + reviewers: Array.from(reviewers), + team_reviewers: team_reviewers }); } diff --git a/.github/workflows/add-reviewers.yml b/.github/workflows/add-reviewers.yml index 6c8c7ff8ed..f1abab5c53 100644 --- a/.github/workflows/add-reviewers.yml +++ b/.github/workflows/add-reviewers.yml @@ -13,6 +13,7 @@ jobs: - name: 'Request reviewers' uses: actions/github-script@v6 with: + github-token: ${{ secrets.TEAM_REVIEW }} script: | const script = require('./.github/scripts/reviews.js') await script({github, context}) diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml index f85f9d0cda..60689029a3 100644 --- a/.github/workflows/labeler.yml +++ b/.github/workflows/labeler.yml @@ -44,6 +44,7 @@ jobs: - name: 'Request reviewers' uses: actions/github-script@v6 with: + github-token: ${{ secrets.TEAM_REVIEW }} script: | const script = require('./.github/scripts/reviews.js') await script({github, context}) diff --git a/.github/workflows/remove-reviewers.yml b/.github/workflows/remove-reviewers.yml index f707f79737..7ab3ef568c 100644 --- a/.github/workflows/remove-reviewers.yml +++ b/.github/workflows/remove-reviewers.yml @@ -12,6 +12,7 @@ jobs: - name: 'Remove reviewers' uses: actions/github-script@v6 with: + github-token: ${{ secrets.TEAM_REVIEW }} script: | const script = require('./.github/scripts/remove-reviewers.js') await script({github, context}) |