aboutsummaryrefslogtreecommitdiff
path: root/.github/scripts
diff options
context:
space:
mode:
Diffstat (limited to '.github/scripts')
-rwxr-xr-x.github/scripts/install_deps_ubuntu.sh19
-rw-r--r--.github/scripts/remove-reviewers.js4
-rw-r--r--.github/scripts/reviews.js42
-rw-r--r--.github/scripts/unstale.js19
4 files changed, 69 insertions, 15 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 6e9a829353..cc6aaa1e8b 100644
--- a/.github/scripts/reviews.js
+++ b/.github/scripts/reviews.js
@@ -7,24 +7,29 @@ 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("gpanders")
reviewers.add("muniter")
}
if (labels.includes('build')) {
reviewers.add("jamessan")
+ reviewers.add("justinmk")
}
if (labels.includes('ci')) {
- 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")
}
@@ -33,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")
}
@@ -52,20 +53,32 @@ module.exports = async ({github, context}) => {
if (labels.includes('filetype')) {
reviewers.add("clason")
reviewers.add("gpanders")
+ reviewers.add("smjonas")
}
- if (labels.includes('gui')) {
- reviewers.add("glacambre")
- reviewers.add("smolck")
+ if (labels.includes('lsp')) {
+ team_reviewers.push('lsp');
}
- if (labels.includes('lsp')) {
- reviewers.add("mfussenegger")
+ if (labels.includes('platform:nix')) {
+ reviewers.add("teto")
}
- if (labels.includes('treesitter')) {
+ if (labels.includes('project-management')) {
+ reviewers.add("bfredl")
+ reviewers.add("justinmk")
+ }
+
+ if (labels.includes('refactor')) {
reviewers.add("bfredl")
- reviewers.add("vigoux")
+ }
+
+ if (labels.includes('test')) {
+ reviewers.add("justinmk")
+ }
+
+ if (labels.includes('treesitter')) {
+ team_reviewers.push('treesitter');
}
if (labels.includes('typo')) {
@@ -89,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",
+ });
+ }
+};