dbt-core icon indicating copy to clipboard operation
dbt-core copied to clipboard

[CT-1202] Conditional issues staleness

Open jtcohen6 opened this issue 1 year ago • 3 comments

Proposal

Keep default staleness at 6 months (status quo)

Issues with awaiting_response label should go stale more quickly: 3 months. (Let's also make sure that StaleBot's comments do not trigger our AwaitingResponseBot!)

Issues with good_first_issue or help_wanted should remain open longer. 12 months? 18 months? These do go stale eventually, especially if the underlying code has changed since we left a comment outlying the resolution pathway.

❓ Should issues with the enhancement label also remain open longer (for 12 months)? As a general rule, enhancements take longer to scope, schedule, and implement than bug fixes. At the same time, we have been encouraging community members to open longer-term "Big Ideas" as GH Discussions, instead of issues, especially if we're not likely to write code for them in the short term. So the right move here might still be to convert about-to-stale enhancements into discussions, if there's really been no update / progress on them. And, of course, users can leave comments on enhancements they care about, to keep stalebot at bay.

How to implement

It looks like we'd need multiple stale workflows, rather than just the one. That might make it more annoying to propagate the same workflows to our other repos.

Context: internal Slack thread

Examples:

  • https://github.com/actions/stale/issues/625
  • https://sonia-corporation.github.io/stale/docs/examples/multiple-cron-example

jtcohen6 avatar Sep 19 '22 11:09 jtcohen6

we get notified for stale issues (when commented on, closed, etc.) and with that in mind I would recommend we ruthlessly convert enhancement issues with no clear path forward to discussions either when they're created or when we notice them going stale

then I'd suggest:

  • 6 months as default
  • 3 months for awaiting_response (there's also more_information_needed?)
  • 12 months for good_first_issue or help_wanted

lostmygithubaccount avatar Sep 19 '22 22:09 lostmygithubaccount

I like that timeline from @lostmygithubaccount

leahwicz avatar Sep 20 '22 13:09 leahwicz

We should be able to do this in a single action with multiple jobs to keep it centralized.

actions/stale has options like only-label and exempt-issues-stale. We would need to use the same filter inputs for PRs as needed too.

So we could do something like:

Job 1:
  call action for only-label=awaiting_response
Job 2:
  call action for only-label=good_first_issue, help_wanted
Job 2:
  call action for exempt-issues-stale=awaiting_response, good_first_issue, help_wanted

emmyoop avatar Sep 22 '22 14:09 emmyoop

I'd like to see issues with the label tech_debt last longer since the underlying problem rarely gets coded away within 6 months. Maybe 2 years to close instead.

nathaniel-may avatar Sep 23 '22 18:09 nathaniel-may