From ea5223e90c215b374ff569b11330718c2a12e53d Mon Sep 17 00:00:00 2001 From: Trask Stalnaker Date: Mon, 29 Sep 2025 17:14:39 -0700 Subject: [PATCH] Add stale workflow --- .../issue-management-feedback-label.yml | 29 ++++++++++ .../issue-management-stale-action.yml | 57 +++++++++++++++++++ 2 files changed, 86 insertions(+) create mode 100644 .github/workflows/issue-management-feedback-label.yml create mode 100644 .github/workflows/issue-management-stale-action.yml diff --git a/.github/workflows/issue-management-feedback-label.yml b/.github/workflows/issue-management-feedback-label.yml new file mode 100644 index 0000000..49db5ef --- /dev/null +++ b/.github/workflows/issue-management-feedback-label.yml @@ -0,0 +1,29 @@ +name: Issue management - remove labels as needed + +on: + issue_comment: + types: [created] + +permissions: + contents: read + +jobs: + issue_comment: + permissions: + contents: read + issues: write + pull-requests: write + if: > + contains(github.event.issue.labels.*.name, 'needs author feedback') && + github.event.comment.user.login == github.event.issue.user.login + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + + - name: Remove labels + env: + ISSUE_NUMBER: ${{ github.event.issue.number }} + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + gh issue edit --remove-label "needs author feedback" $ISSUE_NUMBER + gh issue edit --remove-label "stale" $ISSUE_NUMBER diff --git a/.github/workflows/issue-management-stale-action.yml b/.github/workflows/issue-management-stale-action.yml new file mode 100644 index 0000000..0727d6a --- /dev/null +++ b/.github/workflows/issue-management-stale-action.yml @@ -0,0 +1,57 @@ +name: Issue management - run stale action + +on: + schedule: + # hourly at minute 23 + - cron: "23 * * * *" + workflow_dispatch: + +permissions: + contents: read + +jobs: + stale: + permissions: + contents: read + issues: write # for actions/stale to close stale issues + pull-requests: write # for actions/stale to close stale PRs + runs-on: ubuntu-latest + steps: + - uses: actions/stale@3a9db7e6a41a89f618792c92c0e97cc736e1b13f # v10.0.0 + with: + days-before-stale: 7 + days-before-close: 7 + only-labels: "needs author feedback" + stale-issue-label: stale + stale-issue-message: > + This issue has been labeled as stale due to lack of activity and needing author feedback. + It will be automatically closed if there is no further activity over the next 7 days. + stale-pr-label: stale + stale-pr-message: > + This PR has been labeled as stale due to lack of activity and needing author feedback. + It will be automatically closed if there is no further activity over the next 7 days. + + - uses: actions/stale@3a9db7e6a41a89f618792c92c0e97cc736e1b13f # v10.0.0 + with: + days-before-stale: 365 + days-before-close: 0 + close-issue-label: stale + close-issue-message: > + Since there has been no activity on this enhancement for the past year we are closing it to help maintain our backlog. + Anyone who would like to work on it is still welcome to do so, and we can re-open it at that time. + days-before-pr-stale: -1 + days-before-pr-close: -1 + only-labels: "enhancement" + exempt-issue-labels: "stale" # so that it won't close issues labeled as stale by "needs author feedback" + + - uses: actions/stale@3a9db7e6a41a89f618792c92c0e97cc736e1b13f # v10.0.0 + with: + days-before-issue-stale: -1 + days-before-issue-close: -1 + days-before-pr-stale: 90 + days-before-pr-close: 14 + stale-pr-label: stale + stale-pr-message: > + This PR has been labeled as stale due to lack of activity. + It will be automatically closed if there is no further activity over the next 14 days. + exempt-draft-pr: false