From 9a1e3037b055df9d542f501ffe65f56c43ab7631 Mon Sep 17 00:00:00 2001 From: Copilot <198982749+Copilot@users.noreply.github.com> Date: Wed, 11 Feb 2026 16:03:17 -0600 Subject: [PATCH] Add stale workflow for 180-day inactive issues and PRs (#1594) * Initial plan * Add stale issues and PRs workflow Co-authored-by: mnriem <15701806+mnriem@users.noreply.github.com> * Add 7-day grace period before closing stale items Co-authored-by: mnriem <15701806+mnriem@users.noreply.github.com> * Update stale timing: mark at 150 days, close at 180 days Co-authored-by: mnriem <15701806+mnriem@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: mnriem <15701806+mnriem@users.noreply.github.com> --- .github/workflows/stale.yml | 42 +++++++++++++++++++++++++++++++++++++ 1 file changed, 42 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 00000000..fd8102ce --- /dev/null +++ b/.github/workflows/stale.yml @@ -0,0 +1,42 @@ +name: 'Close stale issues and PRs' + +on: + schedule: + - cron: '0 0 * * *' # Run daily at midnight UTC + workflow_dispatch: # Allow manual triggering + +permissions: + issues: write + pull-requests: write + +jobs: + stale: + runs-on: ubuntu-latest + steps: + - uses: actions/stale@v9 + with: + # Days of inactivity before an issue or PR becomes stale + days-before-stale: 150 + # Days of inactivity before a stale issue or PR is closed (after being marked stale) + days-before-close: 30 + + # Stale issue settings + stale-issue-message: 'This issue has been automatically marked as stale because it has not had any activity for 150 days. It will be closed in 30 days if no further activity occurs.' + close-issue-message: 'This issue has been automatically closed due to inactivity (180 days total). If you believe this issue is still relevant, please reopen it or create a new issue.' + stale-issue-label: 'stale' + + # Stale PR settings + stale-pr-message: 'This pull request has been automatically marked as stale because it has not had any activity for 150 days. It will be closed in 30 days if no further activity occurs.' + close-pr-message: 'This pull request has been automatically closed due to inactivity (180 days total). If you believe this PR is still relevant, please reopen it or create a new PR.' + stale-pr-label: 'stale' + + # Exempt issues and PRs with these labels from being marked as stale + exempt-issue-labels: 'pinned,security' + exempt-pr-labels: 'pinned,security' + + # Only issues or PRs with all of these labels are checked + # Leave empty to check all issues and PRs + any-of-labels: '' + + # Operations per run (helps avoid rate limits) + operations-per-run: 100