Hi all,

I want to say that in my experience, I always felt better as a contributor
when a person told me something than when a bot did. That being said, I'm
not against bots, and I think they might be a great solution once we have a
manageable number of open PRs.

Another great question that adding a bot poses is types of staleness
detection. How do we distinguish between staleness from the author's side
or from the lack of reviewers/maintainers' side? That's why I started with
a human approach to be able to distinguish between these 2 cases. Both
situations should have different messages and actually different intended
receivers. In case of staleness because of author inactivity, the message
should encourage the author to update the PR with the requested changes or
resolve the conflicts. But In many cases, PRs are stale because of lack of
reviewers. This would need a different message, targeting maintainers.

Ideally (with bot or not) I believe the process should be as follows:
- Check PRs that are stale.
- See if they have labels, if not add proper labels (connect, core,
clients...)
-  PR has merge conflicts
-- Merge conflicts exist and target files that still exist, ping the author
asking for conflict resolution and add some additional label like `stale`.
-- Merge conflicts exist and target files that do not exist anymore, let
the author know that this PR is obsolete, label the PR as 'obsolete' and
close the PR.
- PR is mergeable, check whose action is needed (author or reviewers)
-- Author: let the author know that there are pending comments to address.
Add some additional label, maybe `stale` again
-- Reviewer: ping some reviewers that have experience or lately touched
this piece of the codebase, add a label `reviewer needed` or something
similar
- PRs that have `stale` label after X days, will be closed.

Regarding the comments about only committers and collaborators being able
to label PRs, this is true, not everyone can do this. However, this could
be a great opportunity for the newly appointed contributors to exercise
their new permissions :)

Let me know if it makes sense to you all.

Best,

Reply via email to