Skip to content
This repository has been archived by the owner on Apr 17, 2019. It is now read-only.

More PR automation #869

Closed
bgrant0607 opened this issue Apr 29, 2016 · 21 comments
Closed

More PR automation #869

bgrant0607 opened this issue Apr 29, 2016 · 21 comments
Labels
area/mungegithub kind/velocity-improvement lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed.

Comments

@bgrant0607
Copy link
Contributor

  • Explicitly notify the PR author if the PR is stuck: tests failed, needs rebase, needs release note, etc. The notifications that don't mention anyone won't rise above github notification noise.
  • Explicitly notify the PR assignee if the PR needs them to do something: ok to test, ok-to-merge, e2e--not-required, reapply lgtm label after rebase, release note label, etc.
  • Ping the PR due to lack of inactivity, notifying either the PR author or the assignee, depending on who last touched the PR (keep track of whose court it's in)
  • Create a way to postpone the next ping for a fixed amount of time (day, week, month, next release cycle)
  • Reassign PRs whose assignees never responded
  • Reassign PRs that need approval from someone other than the current assignee (part of OWNERS proposal)

@fejta @philips @eparis

@philips
Copy link
Contributor

philips commented May 2, 2016

@bgrant0607 for someone wanting to start working on this is it expected to be an extension of the existing k8s-bot? And if so where does that code live?

cc @mike-saparov

@bgrant0607
Copy link
Contributor Author

@philips Yes, I'd extend the existing bot.

Existing code is here:
https://github.com/kubernetes/contrib/tree/master/mungegithub

For example, the existing auto-assigner:
https://github.com/kubernetes/contrib/blob/master/mungegithub/mungers/blunderbuss.go

@bgrant0607
Copy link
Contributor Author

Other ideas:

  • Dashboard with numbers of PRs stuck in each state: needs rebase, needs review, comments to address, waiting in queue, etc.
  • Dashboard with histograms of number of rebases per PR, PR latency (by PR size)

cc @apelisse @goltermann

@bgrant0607
Copy link
Contributor Author

If a commenter didn't notify the other party, we should explicitly notify them, without waiting for the full inactivity threshold.

If the author performed some action that doesn't generate a notification (e.g., pushed changes), we should generate the notification.

Tests passing should notify the reviewer.

@bgrant0607
Copy link
Contributor Author

See also #481

@bgrant0607
Copy link
Contributor Author

We should check out https://github.com/facebook/mention-bot (#1250).

@bgrant0607
Copy link
Contributor Author

Looks like I also filed this here: kubernetes/kubernetes#24844

@bgrant0607
Copy link
Contributor Author

@apelisse This is the task I was referring to.

cc @matchstick

@bgrant0607
Copy link
Contributor Author

Example: kubernetes/kubernetes#28936

@bgrant0607
Copy link
Contributor Author

The Google CLA bot doesn't explicitly notify the author. Example:
kubernetes/kubernetes#29452

Our bot will likely take over notification and labeling when we switch to the CNCF CLA (kubernetes/kubernetes#27796).

@bgrant0607
Copy link
Contributor Author

We need notifications for:

  • PR assignment
  • Commit push
  • Build / unit test failure

@bgrant0607
Copy link
Contributor Author

@bgrant0607
Copy link
Contributor Author

Github added more signals to notification emails. I'll adjust my filters to take advantage of these and will report whether it helped. We should add a link to this in our PR workflow documentation:
https://help.github.com/articles/about-notification-emails/#the-cc-address

@bgrant0607
Copy link
Contributor Author

We could autodetect messages like "this should be closed".
Example: kubernetes/kubernetes#28817

@apelisse
Copy link
Contributor

apelisse commented Aug 3, 2016

Somewhat related but @fejta and I agreed that it would be nice to have a close-stale-flake-issues munger.

@bgrant0607
Copy link
Contributor Author

"ok to test" messages don't notify anyone.
Example: kubernetes/kubernetes#30208

@bgrant0607
Copy link
Contributor Author

As discussed, we should change all bot instructions to clear commands, like:

/TEST
/RETEST
/LGTM
/APPROVE
/PTAL

Plain english can be misinterpreted ("lgtm if you do X"), long phrases ("@k8s-bot test this issue: #IGNORE") are hard to remember, and sometimes requiring bot notification and sometimes not is confusing.

@janetkuo
Copy link
Contributor

Now if you LGTM in reviewable it prints this:

:lgtm:

Can bot also respond to this?

@bgrant0607
Copy link
Contributor Author

I'm finding that many reviewers are not aware of /lgtm. I think that when the bot assigns a reviewer, it should post tips for reviewing, including common commands, info about Reviewable, link to more info, etc.

@fejta-bot
Copy link

Issues go stale after 30d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

Prevent issues from auto-closing with an /lifecycle frozen comment.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or @fejta.
/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Dec 18, 2017
@fejta-bot
Copy link

Stale issues rot after 30d of inactivity.
Mark the issue as fresh with /remove-lifecycle rotten.
Rotten issues close after an additional 30d of inactivity.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or @fejta.
/lifecycle rotten
/remove-lifecycle stale

@k8s-ci-robot k8s-ci-robot added lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. labels Jan 17, 2018
@cblecker cblecker removed this from Backlog in Contributor Experience Apr 20, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area/mungegithub kind/velocity-improvement lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed.
Projects
None yet
Development

No branches or pull requests

7 participants