neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

commit ef95174694d705e921ee0271d62badd45f00deaa
parent 3091fa778a4f4fe6ff48527c6a29e3be874f46c7
Author: dundargoc <33953936+dundargoc@users.noreply.github.com>
Date:   Thu, 15 Dec 2022 20:40:30 +0100

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".
Diffstat:
M.github/scripts/remove-reviewers.js | 4+++-
M.github/scripts/reviews.js | 15++++++---------
M.github/workflows/add-reviewers.yml | 1+
M.github/workflows/labeler.yml | 1+
M.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 @@ -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 @@ -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 @@ -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 @@ -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 @@ -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})