Skip to content

Workflow: Close Stale Issues#37429

Closed
sebastianertz wants to merge 3 commits into
go-gitea:mainfrom
sebastianertz:workflow_stale
Closed

Workflow: Close Stale Issues#37429
sebastianertz wants to merge 3 commits into
go-gitea:mainfrom
sebastianertz:workflow_stale

Conversation

@sebastianertz

Copy link
Copy Markdown
Contributor

Why manage stale issues?

  • Reduce Signal Noise (Signal vs. Noise)
    In an active project, hundreds of issues accumulate. Many of these are "one-hit wonders": Someone reports a bug but then never responds to follow-up questions. Without automation, these dead issues remain open indefinitely. Stale filters these out so you and your collaborators can focus on what's relevant now.
  • Expectation Management
    Nothing is more frustrating for users than an issue remaining open for two years without any response. The Action communicates transparently: "Hey, nothing's happened here in a while. If this is still important, let us know, otherwise we'll clean this up soon." This comes across as more professional than dead silence.
  • Focus for Maintainers
    As a maintainer, you have limited energy. A list of ~2500 open issues is mentally taxing (risk of burnout). When the Action automatically marks or closes the "junk," the list shrinks to the actual issues. This gives you the feeling of regaining control of the project.
  • Community Reactivation
    Sometimes people simply forget they still have an open pull request. The "stale" warning serves as a gentle nudge. Users often write, "Oh sorry, totally forgot, I'll fix it tomorrow!" – and just like that, an old problem is solved.
  • Cleanliness without being the "bad guy"
    It's unpleasant for a human to manually close hundreds of issues and tell people, "We're no longer interested in this." When a bot does this according to established rules, it's less personal and more readily accepted by the community as a necessary rule.

How does the process work?

  1. Tagging: After 120 days of inactivity, a bot adds the label issue/stale and comments on the issue.
  2. Warning: The bot often prompts you to refresh the issue to keep it open.
  3. Closing: If there is no activity after another 14 days, the issue is automatically closed.
  4. Activity: If a response is received, the issue/stale status is removed.

There are currently ~2500 open issues:

Filter Open Issues
is:issue state:open updated:<@today-8y 5
is:issue state:open updated:<@today-7y 38
is:issue state:open updated:<@today-6y 122
is:issue state:open updated:<@today-5y 246
is:issue state:open updated:<@today-4y 396
is:issue state:open updated:<@today-3y 676
is:issue state:open updated:<@today-2y 1177
is:issue state:open updated:<@today-1y 1621
is:issue state:open updated:<@today-180d 1923
is:issue state:open updated:<@today-120d 2017
is:issue state:open updated:<@today-90d 2055
is:issue state:open updated:<@today-60d 2200
is:issue state:open updated:<@today-30d 2302

Note:

If the PR is accepted, the line debug-only: true should be deleted after the first successful dry run.

@GiteaBot GiteaBot added the lgtm/need 2 This PR needs two approvals by maintainers to be considered for merging. label Apr 26, 2026
@wxiaoguang

wxiaoguang commented Apr 26, 2026

Copy link
Copy Markdown
Contributor
  1. Would appreciate that you would have spend some time on maintaining the issues first before starting using "bot" to handle them
  2. There are already "confirm" and "needs-feedback" labels, and Gitea bot
  3. Recently, a large amount of "stale" issues were closed, but considerable percentage (maybe 20% or 40%?) of them were reopened due to the "problem" is still there.

@wxiaoguang wxiaoguang marked this pull request as draft April 26, 2026 10:45
@TheFox0x7

Copy link
Copy Markdown
Contributor

I'd say nack and it's a bad idea in general, see: https://nostalebots.xyz/

For PRs (though more on that below) I would say it's fine but not for issues.
Stalebot was, an is a plague which closes issues that are valid but no one had time to look at. Issue having no reply doesn't mean it's not planned or completed. Furthermore as it wxiaoguang mentions there's already a light form of stalebot which closes issues that require a reply from the submitter - there's an improvement there so the label automatically is removed on submitter comment but this is not doing this.

For the last point about being the "bad guy", nothing changes. It's just bot getting downvoted for closing a valid issues and making maintainers reopen them over an over again or having the same issue opened again and again instead of just keeping the old one open.

What would be needed is a better triage, which this just isn't.


Also the description feels LLM made and not being read prior to posting. For instance:

Sometimes people simply forget they still have an open pull request.

Correct me if I'm wrong but this doesn't even touch pull requests?

Action automatically marks or closes the "junk," the list shrinks to the actual issues.

It's a straight up lie, as it closes ANY issue without validating if it's valid, junk or relevant. What it does is it shrinks the list down to the issues which someone bothers to post "not stale" on over and over again.

Someone reports a bug but then never responds to follow-up questions

Which needs-feedback label already solves.

@silverwind

silverwind commented Apr 26, 2026

Copy link
Copy Markdown
Member

Recently, a large amount of "stale" issues were closed, but considerable percentage (maybe 20% or 40%?) of them were reopened due to the "problem" is still there.

I recently closed about 100 issues with AI assistance, and the false-positive rate was about 25%, but these mostly came from the AI not fully reading the linked PRs or only partially reading the issues. It's an exhaustive job, even for an AI.

@silverwind

Copy link
Copy Markdown
Member

On topic: Blanket-closing all stale issues seems too crude of a measure. What I could see it filter the activity on the needs-feedback label and close issues that have that label after a period of inactivity. These are most likely issues that can not be fixed with more feedback.

@bircni

bircni commented Apr 26, 2026

Copy link
Copy Markdown
Member

On topic: Blanket-closing all stale issues seems too crude of a measure. What I could see it filter the activity on the needs-feedback label and close issues that have that label after a period of inactivity. These are most likely issues that can not be fixed with more feedback.

+1

@a1012112796

Copy link
Copy Markdown
Member

related old discussion: #27447

looks less people like this mechanism. you can filter isssue which you interesting by options like lables althougth many issue exists.

@silverwind

silverwind commented Apr 28, 2026

Copy link
Copy Markdown
Member

@sebastianertz can you check to limit this closing to only issues with label issue/needs-feedback? The bot should post a comment like 14 days before closure and if no comment is received until then or the label cleared, close it.

@wxiaoguang

Copy link
Copy Markdown
Contributor

can you check to limit this closing to only issues with label issue/needs-feedback?

They are already handled by GiteaBot #37429 (comment)

@silverwind

Copy link
Copy Markdown
Member

I think we'll reject this for now. It was tried previously but did not work out and will not work out now. We prefer a accurate list of issues, this is important when searching for open issues about topics. I estimate that > ~80% of issues currently open are valid.

@silverwind silverwind closed this May 6, 2026
@sebastianertz sebastianertz deleted the workflow_stale branch May 6, 2026 04:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

lgtm/need 2 This PR needs two approvals by maintainers to be considered for merging.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants