Skip to content

Commit b7888a4

Browse files
zeevdrclaude
andauthored
ci: add stale bot for inactive issues and PRs (#228)
Closes #162. Daily cron marks issues stale at 60d (close at 74d) and PRs stale at 30d (close at 37d). Exempt labels: `keep` for both; issues also exempt `good first issue` and `bug`. Issues close with reason `not_planned`. Self-contained per-repo workflow (decided over a reusable in opendecree/.github) so each project can tune independently. The `keep` label has been pre-created in all five repos. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 0d1c2b6 commit b7888a4

1 file changed

Lines changed: 47 additions & 0 deletions

File tree

.github/workflows/stale.yml

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
name: Stale issues and PRs
2+
3+
# Daily sweep: marks inactive issues/PRs as stale and eventually closes
4+
# them. The `keep` label opts an item out entirely; `good first issue`
5+
# and `bug` are also exempt for issues. Issues #162 (decree).
6+
#
7+
# Tuning happens here per-repo so each project can adjust independently
8+
# if traffic patterns diverge.
9+
10+
on:
11+
schedule:
12+
- cron: '30 1 * * *' # daily 01:30 UTC
13+
workflow_dispatch:
14+
15+
permissions:
16+
issues: write
17+
pull-requests: write
18+
19+
jobs:
20+
stale:
21+
runs-on: ubuntu-latest
22+
timeout-minutes: 10
23+
steps:
24+
- uses: actions/stale@v9
25+
with:
26+
stale-issue-message: >
27+
This issue has been inactive for 60 days and is being marked
28+
stale. It will be closed in 14 days unless there is new
29+
activity. Add the `keep` label to opt out of future sweeps.
30+
stale-pr-message: >
31+
This PR has been inactive for 30 days and is being marked
32+
stale. It will be closed in 7 days unless there is new
33+
activity. Add the `keep` label to opt out of future sweeps.
34+
close-issue-message: >
35+
Closing for inactivity. Reopen if this is still relevant.
36+
close-pr-message: >
37+
Closing for inactivity. Reopen if this is still relevant.
38+
stale-issue-label: stale
39+
stale-pr-label: stale
40+
days-before-issue-stale: 60
41+
days-before-issue-close: 14
42+
days-before-pr-stale: 30
43+
days-before-pr-close: 7
44+
exempt-issue-labels: 'keep,good first issue,bug'
45+
exempt-pr-labels: 'keep'
46+
close-issue-reason: not_planned
47+
operations-per-run: 100

0 commit comments

Comments
 (0)