From edc5e1fa04934067416158497e671cfe06391fab Mon Sep 17 00:00:00 2001 From: Rishit Modi Date: Sun, 7 Jun 2026 05:44:00 +0530 Subject: [PATCH] chore(ci): add stale issue and pr automation --- .github/workflows/stale.yml | 57 +++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 .github/workflows/stale.yml diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml new file mode 100644 index 000000000..39bba0c89 --- /dev/null +++ b/.github/workflows/stale.yml @@ -0,0 +1,57 @@ +name: "Stale Issue Triage" + +on: + schedule: + - cron: '0 9 * * 1' + workflow_dispatch: + inputs: + debug_only: + description: 'Dry-run mode (no writes)' + required: false + default: 'false' + type: choice + options: + - 'false' + - 'true' + pull_request: + paths: + - .github/workflows/stale.yml + types: + - opened + - synchronize + +permissions: + issues: write + pull-requests: write + +jobs: + stale: + runs-on: ubuntu-latest + steps: + - uses: actions/stale@eb5cf3af3ac0a1aa4c9c45633dd1ae542a27a899 # v10 + with: + days-before-issue-stale: 180 + days-before-issue-close: 30 + stale-issue-label: 'stale' + stale-issue-message: > + This issue has been inactive for 180 days and labeled **stale**, comment to keep it open. It will be closed in 30 days if there is no activity. + close-issue-message: > + Closed after 210 days of inactivity. Feel free to reopen if this is still relevant. + exempt-issue-labels: 'release,security,audit,do-not-close,good first issue' + exempt-all-issue-milestones: true + + days-before-pr-stale: 180 + days-before-pr-close: 30 + stale-pr-label: 'stale' + stale-pr-message: > + This pull request has had no activity for 180 days and has been labeled **stale**. If this work is still in progress or waiting on review, a comment or push will remove the label. PRs with no further activity for 30 days will be closed. + close-pr-message: > + Closed after 210 days of inactivity. Feel free to reopen if this is still relevant. + exempt-pr-labels: 'blocked,security,do-not-close' + exempt-all-pr-milestones: true + + remove-stale-when-updated: true + ascending: true + operations-per-run: 600 + debug-only: ${{ github.event_name == 'pull_request' || github.event.inputs.debug_only == 'true' }} + enable-statistics: true