@jacobtomlinson and I met earlier today to talk through some general ideas around how to make better use of labels to prevent issues and PRs getting lost in the shuffle.
There is probot/stale-bot which is a github app run by (surprise) probot. There is also a newer github action that provides (it seems) all of the same functionality.
Since the dask org already makes broad use of github actions, we think that's the way to go:
https://github.com/actions/stale
I just read through the stale action config again and the github action will only apply labels to stale issues if it also comments in the issue, which was discussed during a weekly meeting as something we don't want.
So, probot stale-bot it is, or we can write our own action. Either way:
I propose that we have two "sweeps" of stale checks: short-term and medium-term.
Short-term: The "quick-ish response" pass.
All new issues currently get a "Needs triage" label, this should be extended to new PRs, too.
Any issue or PR that has a needs triage label and hasn't been touched for N days gets a "stale" label, where N is on the order of days. I think 4 days is a reasonable starting point.
For anyone on czar duty, issues/PRs that have a "Needs triage" and a "stale" label are of highest priority to respond to, if only to ping relevant parties or ask for a MRE, etc.
Medium-term: The "gone quiet" pass
Any issue or PR that hasn't been touched in 2(?) weeks gets a stale label added to it.
Exceptions and filtering:
We don't want this to apply to all issues and PRs -- for example, Feature Requests that haven't yet been picked up don't need to be marked as stale. Similarly, issues marked as "good first issue" and "good second issue" have been deliberately left to the wider community, so marking them as stale doesn't make much sense.
The stale-bot seems to only have options for excluding labels (creating an exemption list vs. an inclusion list).
I propose that we exempt issues and PRs with the following labels:
Good first issue
- good-intro-to-dask
- Good second issue
- Draft or work-in-progress (stale bot doesn't know if a PR is a draft or not)
- Feature request
I'm sure there are more labels that we can/should create and also add to the exemptions.
Finally, doing this will lead very quickly to a bunch of old issues being marked stale.
I think we have a few choices there.
- We can let that happen, and then gradually triage older "stale" issues, adding labels that will exempt them from future sweeps if we think they should still remain open.
- We can declare chapter 7 issue bankruptcy for all issues > 2 years old and just close them out
- We can declare chapter 11 issue bankruptcy for all issues > 2 years old and add a custom label to them to exempt them from stale-bot scans
Thoughts? I'll note that doing this will require more regular label setting from all maintainers, which is a small but consistent extra bit of stuff to have to do.
@jacobtomlinson and I met earlier today to talk through some general ideas around how to make better use of labels to prevent issues and PRs getting lost in the shuffle.
There is
probot/stale-botwhich is a github app run by (surprise) probot. There is also a newer github action that provides (it seems) all of the same functionality.Since the dask org already makes broad use of github actions, we think that's the way to go:https://github.com/actions/stale
I just read through the stale action config again and the github action will only apply labels to stale issues if it also comments in the issue, which was discussed during a weekly meeting as something we don't want.
So, probot stale-bot it is, or we can write our own action. Either way:
I propose that we have two "sweeps" of stale checks: short-term and medium-term.
Short-term: The "quick-ish response" pass.
All new issues currently get a "Needs triage" label, this should be extended to new PRs, too.
Any issue or PR that has a needs triage label and hasn't been touched for N days gets a "stale" label, where N is on the order of days. I think 4 days is a reasonable starting point.
For anyone on czar duty, issues/PRs that have a "Needs triage" and a "stale" label are of highest priority to respond to, if only to ping relevant parties or ask for a MRE, etc.
Medium-term: The "gone quiet" pass
Any issue or PR that hasn't been touched in 2(?) weeks gets a stale label added to it.
Exceptions and filtering:
We don't want this to apply to all issues and PRs -- for example, Feature Requests that haven't yet been picked up don't need to be marked as stale. Similarly, issues marked as "good first issue" and "good second issue" have been deliberately left to the wider community, so marking them as stale doesn't make much sense.
The stale-bot seems to only have options for excluding labels (creating an exemption list vs. an inclusion list).
I propose that we exempt issues and PRs with the following labels:
Good first issueI'm sure there are more labels that we can/should create and also add to the exemptions.
Finally, doing this will lead very quickly to a bunch of old issues being marked
stale.I think we have a few choices there.
Thoughts? I'll note that doing this will require more regular label setting from all maintainers, which is a small but consistent extra bit of stuff to have to do.