aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordundargoc <33953936+dundargoc@users.noreply.github.com>2022-12-23 12:54:30 +0100
committerGitHub <noreply@github.com>2022-12-23 12:54:30 +0100
commit788eb654941efe1f725143d7e1bc9b5236ecbb37 (patch)
treec707c771d5c85e369d09ae3821f5a400e8d54445
parent30f606fc602f835fbed869140d3d658e24129c22 (diff)
downloadrneovim-788eb654941efe1f725143d7e1bc9b5236ecbb37.tar.gz
rneovim-788eb654941efe1f725143d7e1bc9b5236ecbb37.tar.bz2
rneovim-788eb654941efe1f725143d7e1bc9b5236ecbb37.zip
ci: remove needs:response label if author responds (#21489)
ci: remove "needs:response" label if author responds The default behavior of the stale action is to indiscriminately remove the `needs:response` label for any activity whatsoever, from anyone. The other option is to turn it off completely, meaning the maintainers needs to manually remove the label themselves when the author responds for an issue to not close automatically. Neither of these behaviors are useful to us.
-rw-r--r--.github/scripts/unstale.js19
-rw-r--r--.github/workflows/stale.yml18
2 files changed, 36 insertions, 1 deletions
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",
+ });
+ }
+};
diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml
index 40f6616110..c1d3ee3ff3 100644
--- a/.github/workflows/stale.yml
+++ b/.github/workflows/stale.yml
@@ -3,9 +3,11 @@ on:
schedule:
- cron: '30 1 * * *' # Run every day at 01:30
workflow_dispatch:
+ issue_comment:
jobs:
- stale:
+ close:
+ if: github.event_name == 'schedule' || github.event_name == 'workflow_dispatch'
runs-on: ubuntu-latest
permissions:
issues: write
@@ -24,3 +26,17 @@ jobs:
close-pr-message: "This PR has been closed since a request for
changes has not been answered for 30 days. It can be reopened when
the requested changes are provided."
+
+ remove-label:
+ if: github.event_name == 'issue_comment'
+ runs-on: ubuntu-latest
+ permissions:
+ issues: write
+ pull-requests: write
+ steps:
+ - uses: actions/checkout@v3
+ - uses: actions/github-script@v6
+ with:
+ script: |
+ const script = require('./.github/scripts/unstale.js')
+ await script({github, context})