Bug 37059

Summary: SheriffBot should force_build builders that are idle and have failed exactly once
Product: WebKit Reporter: Adam Barth <abarth>
Component: New BugsAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: eric
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Other   
OS: OS X 10.5   
Attachments:
Description Flags
Patch
none
Patch
none
Patch eric: review+

Description Adam Barth 2010-04-03 01:47:00 PDT
SheriffBot should force_build builders that are idle and have failed exactly once
Comment 1 Adam Barth 2010-04-03 01:49:04 PDT
Created attachment 52487 [details]
Patch
Comment 2 Adam Barth 2010-04-03 01:51:21 PDT
Created attachment 52488 [details]
Patch
Comment 3 Adam Barth 2010-04-03 01:53:49 PDT
Please review this change carefully.  This code is tricksy.

BTW, the BuildBot interface is really hard to use correctly because we have three presentations of a builder:
1) A Builder object
2) A dictionary of status information.
3) The builder's name.

It would be valuable to have the client always deal with builder objects (and to make the status information accessible via the Builder object).
Comment 4 Eric Seidel (no email) 2010-04-05 19:43:11 PDT
Comment on attachment 52488 [details]
Patch

Why the crazy caching?
 109     def provoke_flaky_builders(self, revisions_causing_failures=None):
 110         if revisions_causing_failures == None:
 111             revisions_causing_failures = self._tool.buildbot.revisions_causing_failures()

I give you {}.values()
116         failed_builder_names = \
 117             set([revisions_causing_failures[key].name()
 118                  for key in revisions_causing_failures.keys()])

the red_idle_builders code should be its own function.

Otherwise looks OK.
Comment 5 Adam Barth 2010-04-05 22:44:17 PDT
Created attachment 52606 [details]
Patch
Comment 6 Eric Seidel (no email) 2010-04-05 22:50:51 PDT
Comment on attachment 52606 [details]
Patch

OK.
Comment 7 Adam Barth 2010-04-05 22:53:23 PDT
Committed r57125: <http://trac.webkit.org/changeset/57125>