From ef95174694d705e921ee0271d62badd45f00deaa Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Thu, 15 Dec 2022 20:40:30 +0100 Subject: 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". --- .github/scripts/remove-reviewers.js | 4 +++- .github/scripts/reviews.js | 15 ++++++--------- 2 files changed, 9 insertions(+), 10 deletions(-) (limited to '.github/scripts') 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 }); } -- cgit