Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: Add GitHub actions to automate our issues workflow #2521

Merged
merged 12 commits into from
May 7, 2021
55 changes: 55 additions & 0 deletions .github/workflows/close-stale-issues.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: Close stale issues

# Controls when the action will run.
on:
schedule:
# Uses UTC so it runs at 10PM PDT
- cron: "0 6 * * *"
mgrandis marked this conversation as resolved.
Show resolved Hide resolved

jobs:
cleanup:
runs-on: ubuntu-latest
name: Stale issue job
steps:
- uses: aws-actions/stale-issue-cleanup@v3
with:
issue-types: issues

# Setting messages to an empty string will cause the automation to skip
# that category
ancient-issue-message: |
This issue has not received any attention in 1 year.
If you want to keep this issue open, please leave a comment below and auto-close will be canceled.
stale-issue-message: |
This issue has not received a response in 14 days.
If you want to keep this issue open, please leave a comment below and auto-close will be canceled.
stale-pr-message: |
This PR has not received a response in 14 days.
If you want to keep this issue open, please leave a comment below and auto-close will be canceled.

# These labels are required
stale-issue-label: blocked/close-if-inactive
exempt-issue-labels: no-autoclose, stage/need-attention
mgrandis marked this conversation as resolved.
Show resolved Hide resolved
stale-pr-label: blocked/close-if-inactive
exempt-pr-labels: no-autoclose, type/feature
response-requested-label: blocked/more-info-needed

# Don't set this to not apply a label when closing issues
closed-for-staleness-label: closed-for-inactive
mgrandis marked this conversation as resolved.
Show resolved Hide resolved

# Issue timing
days-before-stale: 14
days-before-close: 7
days-before-ancient: 365

# If you don't want to mark a issue as being ancient based on a
# threshold of "upvotes", you can set this here. An "upvote" is
# the total number of +1, heart, hooray, and rocket reactions
# on an issue.
minimum-upvotes-to-exempt: 10

# need a repo scope token here to make this action can trigger other github actions
repo-token: ${{ secrets.REPO_SCOPED_TOKEN }}
#loglevel: DEBUG
mgrandis marked this conversation as resolved.
Show resolved Hide resolved
# Set dry-run to true to not perform label or close actions.
#dry-run: true
18 changes: 18 additions & 0 deletions .github/workflows/closed-issue-message.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: Closed issue message

on:
issues:
types: [ closed ]
jobs:
auto_comment:
runs-on: ubuntu-latest
steps:
- uses: aws-actions/closed-issue-message@v1
with:
# These inputs are both required
repo-token: "${{ secrets.GITHUB_TOKEN }}"
message: |
### ⚠️COMMENT VISIBILITY WARNING⚠️
Comments on closed issues are hard for our team to see.
If you need more assistance, please either tag a team member or open a new issue that references this one.
If you wish to keep having a conversation with other community members under this issue feel free to do so.
22 changes: 22 additions & 0 deletions .github/workflows/need-attention-label.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: Add need attention label

on:
issue_comment:
types: [created, edited]

jobs:
apply-label:
runs-on: ubuntu-latest
steps:
- uses: actions/github-script@v3
#assume the login of our bot called 'SAMCLIBOT'
if: github.event.sender.login != 'SAMCLIBOT'
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Where is SAMCLIBOT defined?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need a repo scope token to run this github action and we need a user account to create this token. Here I assume the login for that account is 'SAMCLIBOT'.

with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
github.issues.addLabels({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
labels: ['stage/need-attention']
mgrandis marked this conversation as resolved.
Show resolved Hide resolved
})