diff options
Diffstat (limited to '.github/scripts')
| -rwxr-xr-x | .github/scripts/install_deps_ubuntu.sh | 19 | ||||
| -rw-r--r-- | .github/scripts/remove-reviewers.js | 4 | ||||
| -rw-r--r-- | .github/scripts/reviews.js | 40 | ||||
| -rw-r--r-- | .github/scripts/unstale.js | 19 |
4 files changed, 69 insertions, 13 deletions
diff --git a/.github/scripts/install_deps_ubuntu.sh b/.github/scripts/install_deps_ubuntu.sh new file mode 100755 index 0000000000..012409ba4a --- /dev/null +++ b/.github/scripts/install_deps_ubuntu.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +PACKAGES=( + autoconf + automake + build-essential + cmake + cpanminus + curl + gettext + libtool-bin + locales-all + ninja-build + pkg-config + unzip +) + +sudo apt-get update +sudo apt-get install -y "${PACKAGES[@]}" 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 c76f25b7da..cc6aaa1e8b 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,14 +19,17 @@ module.exports = async ({github, context}) => { } if (labels.includes('ci')) { - reviewers.add("dundargoc") - reviewers.add("jamessan") + team_reviewers.push('ci'); } if (labels.includes('column')) { reviewers.add("lewis6991") } + if (labels.includes('dependencies')) { + reviewers.add("jamessan") + } + if (labels.includes('diagnostic')) { reviewers.add("gpanders") } @@ -34,10 +38,6 @@ module.exports = async ({github, context}) => { reviewers.add("lewis6991") } - if (labels.includes('dependencies')) { - reviewers.add("jamessan") - } - if (labels.includes('distribution')) { reviewers.add("jamessan") } @@ -53,17 +53,32 @@ module.exports = async ({github, context}) => { if (labels.includes('filetype')) { reviewers.add("clason") reviewers.add("gpanders") + reviewers.add("smjonas") } if (labels.includes('lsp')) { - reviewers.add("mfussenegger") - reviewers.add("glepnir") + team_reviewers.push('lsp'); } - if (labels.includes('treesitter')) { + if (labels.includes('platform:nix')) { + reviewers.add("teto") + } + + if (labels.includes('project-management')) { reviewers.add("bfredl") - reviewers.add("clason") - reviewers.add("vigoux") + reviewers.add("justinmk") + } + + if (labels.includes('refactor')) { + reviewers.add("bfredl") + } + + if (labels.includes('test')) { + reviewers.add("justinmk") + } + + if (labels.includes('treesitter')) { + team_reviewers.push('treesitter'); } if (labels.includes('typo')) { @@ -87,6 +102,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/scripts/unstale.js b/.github/scripts/unstale.js new file mode 100644 index 0000000000..f645fca5cb --- /dev/null +++ b/.github/scripts/unstale.js @@ -0,0 +1,19 @@ +module.exports = async ({ github, context }) => { + const commenter = context.actor; + const issue = await github.rest.issues.get({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: context.issue.number, + }); + const author = issue.data.user.login; + const labels = issue.data.labels.map((e) => e.name); + + if (author === commenter && labels.includes("needs:response")) { + github.rest.issues.removeLabel({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: context.issue.number, + name: "needs:response", + }); + } +}; |