aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordundargoc <33953936+dundargoc@users.noreply.github.com>2022-12-15 20:40:30 +0100
committerGitHub <noreply@github.com>2022-12-15 20:40:30 +0100
commitef95174694d705e921ee0271d62badd45f00deaa (patch)
tree57e745efa2e2fcf561f1e98ca6a006f19ecbe089
parent3091fa778a4f4fe6ff48527c6a29e3be874f46c7 (diff)
downloadrneovim-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.js4
-rw-r--r--.github/scripts/reviews.js15
-rw-r--r--.github/workflows/add-reviewers.yml1
-rw-r--r--.github/workflows/labeler.yml1
-rw-r--r--.github/workflows/remove-reviewers.yml1
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})