Skip to content

Commit fbf7333

Browse files
authored
Add a github workflow to comment on stale provider bugs (#1633)
We've discussed this a few times, but never quite pulled the trigger. This picks up the last PR: [[DO NOT MERGE] Create stale_issues.yaml · pulumi-aws/5366](pulumi/pulumi-aws#5366) which tested this workflow against AWS. For this PR, I've kept the logic identical to that test, just moving it to ci-mgmt and running it on a cron: The action is configured to look for kind/bug issues that have not been updated in the last and have fewer than 2 upvotes. It would comment on these issues with the text: > Unfortunately, it looks like this issue hasn't seen any updates in a while. If you're still experiencing this issue, could you leave a quick comment to let us know so we can prioritize it? and add the awaiting-feedback label. If a non-pulumi user replies, the issue will be bumped back into the triage queue using the usual automation. If no one replies, these issues will eventually show up in our "stale awaiting feedback" query on the team dashboards so we can take one last look at them and decide if we should close them. The workflow defaults to just doing a dry run and I've added a new config flag to turn off dryRun and comment/label the issues for real. (So we can roll this out gradually to provider repos or disable it for a single repo if needed.)
1 parent f280f66 commit fbf7333

File tree

13 files changed

+520
-0
lines changed

13 files changed

+520
-0
lines changed
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
name: "Comment on stale issues"
2+
3+
on:
4+
schedule:
5+
- cron: "46 4 * * *" # run once per day
6+
7+
jobs:
8+
cleanup:
9+
runs-on: ubuntu-latest
10+
name: Stale issue job
11+
steps:
12+
- uses: aws-actions/stale-issue-cleanup@5650b49bcd757a078f6ca06c373d7807b773f9bc #v7.1.0
13+
with:
14+
issue-types: issues # only look at issues (ignore pull-requests)
15+
16+
# Setting messages to an empty string causes the automation to skip that category
17+
ancient-issue-message: "Unfortunately, it looks like this issue hasn't seen any updates in a while. If you're still experiencing this issue, could you leave a quick comment to let us know so we can prioritize it?"
18+
ancient-pr-message: ""
19+
stale-issue-message: ""
20+
stale-pr-message: ""
21+
22+
# These labels are required
23+
stale-issue-label: awaiting-feedback # somewhat confusingly, this is also used for when labeling "ancient" issues
24+
exempt-issue-labels: kind/enhancement,kind/task,kind/epic,kind/engineering, awaiting-upstream # only run on kind/bug for now, ignore awaiting-upstream too.
25+
stale-pr-label: no-pr-activity # unused because we aren't processing PRs
26+
exempt-pr-labels: awaiting-approval # unused because we aren't processing PRs
27+
response-requested-label: response-requested # unused because we don't set a "stale-issue-message" above
28+
29+
# Issue timing
30+
days-before-close: 10000 # this action lacks the option not to close, so just set this indefinitly far in the future
31+
days-before-ancient: 180 # 6 months
32+
33+
# If you don't want to mark a issue as being ancient based on a
34+
# threshold of "upvotes", you can set this here. An "upvote" is
35+
# the total number of +1, heart, hooray, and rocket reactions
36+
# on an issue.
37+
minimum-upvotes-to-exempt: 2
38+
39+
repo-token: ${{ secrets.GITHUB_TOKEN }}
40+
loglevel: DEBUG
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
name: "Comment on stale issues"
2+
3+
on:
4+
schedule:
5+
- cron: "46 4 * * *" # run once per day
6+
7+
jobs:
8+
cleanup:
9+
runs-on: ubuntu-latest
10+
name: Stale issue job
11+
steps:
12+
- uses: aws-actions/stale-issue-cleanup@5650b49bcd757a078f6ca06c373d7807b773f9bc #v7.1.0
13+
with:
14+
issue-types: issues # only look at issues (ignore pull-requests)
15+
16+
# Setting messages to an empty string causes the automation to skip that category
17+
ancient-issue-message: "Unfortunately, it looks like this issue hasn't seen any updates in a while. If you're still experiencing this issue, could you leave a quick comment to let us know so we can prioritize it?"
18+
ancient-pr-message: ""
19+
stale-issue-message: ""
20+
stale-pr-message: ""
21+
22+
# These labels are required
23+
stale-issue-label: awaiting-feedback # somewhat confusingly, this is also used for when labeling "ancient" issues
24+
exempt-issue-labels: kind/enhancement,kind/task,kind/epic,kind/engineering, awaiting-upstream # only run on kind/bug for now, ignore awaiting-upstream too.
25+
stale-pr-label: no-pr-activity # unused because we aren't processing PRs
26+
exempt-pr-labels: awaiting-approval # unused because we aren't processing PRs
27+
response-requested-label: response-requested # unused because we don't set a "stale-issue-message" above
28+
29+
# Issue timing
30+
days-before-close: 10000 # this action lacks the option not to close, so just set this indefinitly far in the future
31+
days-before-ancient: 180 # 6 months
32+
33+
# If you don't want to mark a issue as being ancient based on a
34+
# threshold of "upvotes", you can set this here. An "upvote" is
35+
# the total number of +1, heart, hooray, and rocket reactions
36+
# on an issue.
37+
minimum-upvotes-to-exempt: 2
38+
39+
repo-token: ${{ secrets.GITHUB_TOKEN }}
40+
loglevel: DEBUG
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
name: "Comment on stale issues"
2+
3+
on:
4+
schedule:
5+
- cron: "46 4 * * *" # run once per day
6+
7+
jobs:
8+
cleanup:
9+
runs-on: ubuntu-latest
10+
name: Stale issue job
11+
steps:
12+
- uses: aws-actions/stale-issue-cleanup@5650b49bcd757a078f6ca06c373d7807b773f9bc #v7.1.0
13+
with:
14+
issue-types: issues # only look at issues (ignore pull-requests)
15+
16+
# Setting messages to an empty string causes the automation to skip that category
17+
ancient-issue-message: "Unfortunately, it looks like this issue hasn't seen any updates in a while. If you're still experiencing this issue, could you leave a quick comment to let us know so we can prioritize it?"
18+
ancient-pr-message: ""
19+
stale-issue-message: ""
20+
stale-pr-message: ""
21+
22+
# These labels are required
23+
stale-issue-label: awaiting-feedback # somewhat confusingly, this is also used for when labeling "ancient" issues
24+
exempt-issue-labels: kind/enhancement,kind/task,kind/epic,kind/engineering, awaiting-upstream # only run on kind/bug for now, ignore awaiting-upstream too.
25+
stale-pr-label: no-pr-activity # unused because we aren't processing PRs
26+
exempt-pr-labels: awaiting-approval # unused because we aren't processing PRs
27+
response-requested-label: response-requested # unused because we don't set a "stale-issue-message" above
28+
29+
# Issue timing
30+
days-before-close: 10000 # this action lacks the option not to close, so just set this indefinitly far in the future
31+
days-before-ancient: 180 # 6 months
32+
33+
# If you don't want to mark a issue as being ancient based on a
34+
# threshold of "upvotes", you can set this here. An "upvote" is
35+
# the total number of +1, heart, hooray, and rocket reactions
36+
# on an issue.
37+
minimum-upvotes-to-exempt: 2
38+
39+
repo-token: ${{ secrets.GITHUB_TOKEN }}
40+
loglevel: DEBUG
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
name: "Comment on stale issues"
2+
3+
on:
4+
schedule:
5+
- cron: "46 4 * * *" # run once per day
6+
7+
jobs:
8+
cleanup:
9+
runs-on: ubuntu-latest
10+
name: Stale issue job
11+
steps:
12+
- uses: aws-actions/stale-issue-cleanup@5650b49bcd757a078f6ca06c373d7807b773f9bc #v7.1.0
13+
with:
14+
issue-types: issues # only look at issues (ignore pull-requests)
15+
16+
# Setting messages to an empty string causes the automation to skip that category
17+
ancient-issue-message: "Unfortunately, it looks like this issue hasn't seen any updates in a while. If you're still experiencing this issue, could you leave a quick comment to let us know so we can prioritize it?"
18+
ancient-pr-message: ""
19+
stale-issue-message: ""
20+
stale-pr-message: ""
21+
22+
# These labels are required
23+
stale-issue-label: awaiting-feedback # somewhat confusingly, this is also used for when labeling "ancient" issues
24+
exempt-issue-labels: kind/enhancement,kind/task,kind/epic,kind/engineering, awaiting-upstream # only run on kind/bug for now, ignore awaiting-upstream too.
25+
stale-pr-label: no-pr-activity # unused because we aren't processing PRs
26+
exempt-pr-labels: awaiting-approval # unused because we aren't processing PRs
27+
response-requested-label: response-requested # unused because we don't set a "stale-issue-message" above
28+
29+
# Issue timing
30+
days-before-close: 10000 # this action lacks the option not to close, so just set this indefinitly far in the future
31+
days-before-ancient: 180 # 6 months
32+
33+
# If you don't want to mark a issue as being ancient based on a
34+
# threshold of "upvotes", you can set this here. An "upvote" is
35+
# the total number of +1, heart, hooray, and rocket reactions
36+
# on an issue.
37+
minimum-upvotes-to-exempt: 2
38+
39+
repo-token: ${{ secrets.GITHUB_TOKEN }}
40+
loglevel: DEBUG
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
name: "Comment on stale issues"
2+
3+
on:
4+
schedule:
5+
- cron: "46 4 * * *" # run once per day
6+
7+
jobs:
8+
cleanup:
9+
runs-on: ubuntu-latest
10+
name: Stale issue job
11+
steps:
12+
- uses: aws-actions/stale-issue-cleanup@5650b49bcd757a078f6ca06c373d7807b773f9bc #v7.1.0
13+
with:
14+
issue-types: issues # only look at issues (ignore pull-requests)
15+
16+
# Setting messages to an empty string causes the automation to skip that category
17+
ancient-issue-message: "Unfortunately, it looks like this issue hasn't seen any updates in a while. If you're still experiencing this issue, could you leave a quick comment to let us know so we can prioritize it?"
18+
ancient-pr-message: ""
19+
stale-issue-message: ""
20+
stale-pr-message: ""
21+
22+
# These labels are required
23+
stale-issue-label: awaiting-feedback # somewhat confusingly, this is also used for when labeling "ancient" issues
24+
exempt-issue-labels: kind/enhancement,kind/task,kind/epic,kind/engineering, awaiting-upstream # only run on kind/bug for now, ignore awaiting-upstream too.
25+
stale-pr-label: no-pr-activity # unused because we aren't processing PRs
26+
exempt-pr-labels: awaiting-approval # unused because we aren't processing PRs
27+
response-requested-label: response-requested # unused because we don't set a "stale-issue-message" above
28+
29+
# Issue timing
30+
days-before-close: 10000 # this action lacks the option not to close, so just set this indefinitly far in the future
31+
days-before-ancient: 180 # 6 months
32+
33+
# If you don't want to mark a issue as being ancient based on a
34+
# threshold of "upvotes", you can set this here. An "upvote" is
35+
# the total number of +1, heart, hooray, and rocket reactions
36+
# on an issue.
37+
minimum-upvotes-to-exempt: 2
38+
39+
repo-token: ${{ secrets.GITHUB_TOKEN }}
40+
loglevel: DEBUG
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
name: "Comment on stale issues"
2+
3+
on:
4+
schedule:
5+
- cron: "46 4 * * *" # run once per day
6+
7+
jobs:
8+
cleanup:
9+
runs-on: ubuntu-latest
10+
name: Stale issue job
11+
steps:
12+
- uses: aws-actions/stale-issue-cleanup@5650b49bcd757a078f6ca06c373d7807b773f9bc #v7.1.0
13+
with:
14+
issue-types: issues # only look at issues (ignore pull-requests)
15+
16+
# Setting messages to an empty string causes the automation to skip that category
17+
ancient-issue-message: "Unfortunately, it looks like this issue hasn't seen any updates in a while. If you're still experiencing this issue, could you leave a quick comment to let us know so we can prioritize it?"
18+
ancient-pr-message: ""
19+
stale-issue-message: ""
20+
stale-pr-message: ""
21+
22+
# These labels are required
23+
stale-issue-label: awaiting-feedback # somewhat confusingly, this is also used for when labeling "ancient" issues
24+
exempt-issue-labels: kind/enhancement,kind/task,kind/epic,kind/engineering, awaiting-upstream # only run on kind/bug for now, ignore awaiting-upstream too.
25+
stale-pr-label: no-pr-activity # unused because we aren't processing PRs
26+
exempt-pr-labels: awaiting-approval # unused because we aren't processing PRs
27+
response-requested-label: response-requested # unused because we don't set a "stale-issue-message" above
28+
29+
# Issue timing
30+
days-before-close: 10000 # this action lacks the option not to close, so just set this indefinitly far in the future
31+
days-before-ancient: 180 # 6 months
32+
33+
# If you don't want to mark a issue as being ancient based on a
34+
# threshold of "upvotes", you can set this here. An "upvote" is
35+
# the total number of +1, heart, hooray, and rocket reactions
36+
# on an issue.
37+
minimum-upvotes-to-exempt: 2
38+
39+
repo-token: ${{ secrets.GITHUB_TOKEN }}
40+
loglevel: DEBUG
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
name: "Comment on stale issues"
2+
3+
on:
4+
schedule:
5+
- cron: "46 4 * * *" # run once per day
6+
7+
jobs:
8+
cleanup:
9+
runs-on: ubuntu-latest
10+
name: Stale issue job
11+
steps:
12+
- uses: aws-actions/stale-issue-cleanup@5650b49bcd757a078f6ca06c373d7807b773f9bc #v7.1.0
13+
with:
14+
issue-types: issues # only look at issues (ignore pull-requests)
15+
16+
# Setting messages to an empty string causes the automation to skip that category
17+
ancient-issue-message: "Unfortunately, it looks like this issue hasn't seen any updates in a while. If you're still experiencing this issue, could you leave a quick comment to let us know so we can prioritize it?"
18+
ancient-pr-message: ""
19+
stale-issue-message: ""
20+
stale-pr-message: ""
21+
22+
# These labels are required
23+
stale-issue-label: awaiting-feedback # somewhat confusingly, this is also used for when labeling "ancient" issues
24+
exempt-issue-labels: kind/enhancement,kind/task,kind/epic,kind/engineering, awaiting-upstream # only run on kind/bug for now, ignore awaiting-upstream too.
25+
stale-pr-label: no-pr-activity # unused because we aren't processing PRs
26+
exempt-pr-labels: awaiting-approval # unused because we aren't processing PRs
27+
response-requested-label: response-requested # unused because we don't set a "stale-issue-message" above
28+
29+
# Issue timing
30+
days-before-close: 10000 # this action lacks the option not to close, so just set this indefinitly far in the future
31+
days-before-ancient: 180 # 6 months
32+
33+
# If you don't want to mark a issue as being ancient based on a
34+
# threshold of "upvotes", you can set this here. An "upvote" is
35+
# the total number of +1, heart, hooray, and rocket reactions
36+
# on an issue.
37+
minimum-upvotes-to-exempt: 2
38+
39+
repo-token: ${{ secrets.GITHUB_TOKEN }}
40+
loglevel: DEBUG
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
name: "Comment on stale issues"
2+
3+
on:
4+
schedule:
5+
- cron: "46 4 * * *" # run once per day
6+
7+
jobs:
8+
cleanup:
9+
runs-on: ubuntu-latest
10+
name: Stale issue job
11+
steps:
12+
- uses: aws-actions/stale-issue-cleanup@5650b49bcd757a078f6ca06c373d7807b773f9bc #v7.1.0
13+
with:
14+
issue-types: issues # only look at issues (ignore pull-requests)
15+
16+
# Setting messages to an empty string causes the automation to skip that category
17+
ancient-issue-message: "Unfortunately, it looks like this issue hasn't seen any updates in a while. If you're still experiencing this issue, could you leave a quick comment to let us know so we can prioritize it?"
18+
ancient-pr-message: ""
19+
stale-issue-message: ""
20+
stale-pr-message: ""
21+
22+
# These labels are required
23+
stale-issue-label: awaiting-feedback # somewhat confusingly, this is also used for when labeling "ancient" issues
24+
exempt-issue-labels: kind/enhancement,kind/task,kind/epic,kind/engineering, awaiting-upstream # only run on kind/bug for now, ignore awaiting-upstream too.
25+
stale-pr-label: no-pr-activity # unused because we aren't processing PRs
26+
exempt-pr-labels: awaiting-approval # unused because we aren't processing PRs
27+
response-requested-label: response-requested # unused because we don't set a "stale-issue-message" above
28+
29+
# Issue timing
30+
days-before-close: 10000 # this action lacks the option not to close, so just set this indefinitly far in the future
31+
days-before-ancient: 180 # 6 months
32+
33+
# If you don't want to mark a issue as being ancient based on a
34+
# threshold of "upvotes", you can set this here. An "upvote" is
35+
# the total number of +1, heart, hooray, and rocket reactions
36+
# on an issue.
37+
minimum-upvotes-to-exempt: 2
38+
39+
repo-token: ${{ secrets.GITHUB_TOKEN }}
40+
loglevel: DEBUG
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
name: "Comment on stale issues"
2+
3+
on:
4+
schedule:
5+
- cron: "46 4 * * *" # run once per day
6+
7+
jobs:
8+
cleanup:
9+
runs-on: ubuntu-latest
10+
name: Stale issue job
11+
steps:
12+
- uses: aws-actions/stale-issue-cleanup@5650b49bcd757a078f6ca06c373d7807b773f9bc #v7.1.0
13+
with:
14+
issue-types: issues # only look at issues (ignore pull-requests)
15+
16+
# Setting messages to an empty string causes the automation to skip that category
17+
ancient-issue-message: "Unfortunately, it looks like this issue hasn't seen any updates in a while. If you're still experiencing this issue, could you leave a quick comment to let us know so we can prioritize it?"
18+
ancient-pr-message: ""
19+
stale-issue-message: ""
20+
stale-pr-message: ""
21+
22+
# These labels are required
23+
stale-issue-label: awaiting-feedback # somewhat confusingly, this is also used for when labeling "ancient" issues
24+
exempt-issue-labels: kind/enhancement,kind/task,kind/epic,kind/engineering, awaiting-upstream # only run on kind/bug for now, ignore awaiting-upstream too.
25+
stale-pr-label: no-pr-activity # unused because we aren't processing PRs
26+
exempt-pr-labels: awaiting-approval # unused because we aren't processing PRs
27+
response-requested-label: response-requested # unused because we don't set a "stale-issue-message" above
28+
29+
# Issue timing
30+
days-before-close: 10000 # this action lacks the option not to close, so just set this indefinitly far in the future
31+
days-before-ancient: 180 # 6 months
32+
33+
# If you don't want to mark a issue as being ancient based on a
34+
# threshold of "upvotes", you can set this here. An "upvote" is
35+
# the total number of +1, heart, hooray, and rocket reactions
36+
# on an issue.
37+
minimum-upvotes-to-exempt: 2
38+
39+
repo-token: ${{ secrets.GITHUB_TOKEN }}
40+
loglevel: DEBUG

0 commit comments

Comments
 (0)