Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ping or close old PRs with no activity #47

Open
wilzbach opened this issue Feb 14, 2017 · 4 comments
Open

Ping or close old PRs with no activity #47

wilzbach opened this issue Feb 14, 2017 · 4 comments

Comments

@wilzbach
Copy link
Member

The idea is simple: old PRs require a lot of manual pinging and if the author is gone, it usually ends up being closed after a couple of pings.

The bot could do the following:

  • if a PR has had no activity with X days -> ping and warn for auto-close
  • do so a second after X days
  • after another X days automatically close the PR

For the commenting another GitHub account can be used, so that it doesn't conflict with the ones from the bot and is easier to identify in emails.
The ping could be done once a day (e. g. as a cron job that calls the Heroku URL to workaround the auto-sleep problem. For authentication to avoid incorrect use a simple token could be used that is stored as ENV and SSL URL)

@wilzbach
Copy link
Member Author

The bots now (since #52) labels old PRs as "stalled", e.g. https://github.com/dlang/phobos/pulls?q=is%3Aopen+is%3Apr+label%3Astalled

Instead of labelling the PR, we could easily send notifications or do other actions instead.

@MartinNowak
Copy link
Member

It's unclear whether we can automate such a decision. I think Walters analysis is to the point, there is much useful work that isn't in shape to be merged and cannot be acted upon.
The Phantom Zone - D Programming Language Discussion Forum
Moving such PRs to a hold zone where they don't clutter development could be an interesting experiment.

@MartinNowak
Copy link
Member

MartinNowak commented Feb 1, 2018

@JackStouffer suggested to ping code owners in #177, not sure that is actionable. I'm under the impression that people should better occasionally batch process all stalled PRs, instead of emitting distracting async notifications for each individual one. It's trivial to filter for stalled and awaiting review by you (e.g. https://github.com/dlang/phobos/pulls?q=is%3Aopen+is%3Apr+review-requested%3AMartinNowak+label%3Astalled).
Furthermore adding bot communication to notifications severly risks of clogging one of the few working communication channels.
Maybe you could subscribe to an rss feed of filtered PRs instead, e.g. http://pullfeed.co/feeds/dlang/phobos w/ modifications? (Just filed add support for PR filters · Issue #28 · edwardloveall/pullfeed)

@CyberShadow
Copy link
Member

Is this still relevant today, now that we have staff reviewing PRs?

Moving such PRs to a hold zone where they don't clutter development could be an interesting experiment.

I believe we already have that:
https://github.com/dlang/dmd/pulls?q=label%3A"Phantom+Zone"

The label is auxiliary to the main actionable element here - simply close the PR. This doesn't delete it or destroy any work. The label helps find closed PRs that contain valuable work vs. those which don't.

I'm under the impression that people should better occasionally batch process all stalled PRs, instead of emitting distracting async notifications for each individual one. It's trivial to filter for stalled and awaiting review by you (e.g. https://github.com/dlang/phobos/pulls?q=is%3Aopen+is%3Apr+review-requested%3AMartinNowak+label%3Astalled).

I'm not sure how true that is, for the simple reason that people still need to know to periodically check this list and have the will to regularly do so. When the bot emits one ping, there is no reason why the receiver couldn't use that initiative to also check other PRs that they can review, without waiting to be pinged on them.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants