Bug 100563

Summary: garden-o-matic should support gardening a single port and specifying how to deal with overwritten baselines
Product: WebKit Reporter: Dirk Pranke <dpranke>
Component: New BugsAssignee: Dirk Pranke <dpranke>
Status: RESOLVED FIXED    
Severity: Normal CC: abarth, dglazkov, kadam, ojan, ossy, webkit.review.bot
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on: 100562    
Bug Blocks:    
Attachments:
Description Flags
Patch
none
rebasing
none
Patch
none
update w/ review feedback ojan: review+

Dirk Pranke
Reported 2012-10-26 14:32:41 PDT
garden-o-matic should support gardening a single port and specifying how to deal with overwritten baselines
Attachments
Patch (20.06 KB, patch)
2012-10-26 14:36 PDT, Dirk Pranke
no flags
rebasing (22.08 KB, patch)
2012-10-30 15:31 PDT, Dirk Pranke
no flags
Patch (25.20 KB, patch)
2012-10-30 18:50 PDT, Dirk Pranke
no flags
update w/ review feedback (27.48 KB, patch)
2012-10-31 11:54 PDT, Dirk Pranke
ojan: review+
Dirk Pranke
Comment 1 2012-10-26 14:36:20 PDT
Dirk Pranke
Comment 2 2012-10-26 14:37:04 PDT
Comment on attachment 171014 [details] Patch patch isn't quite ready for review yet; the basic idea is implemented but I need to change the way I did things in the UI / JS code, and then update all of the unit tests.
Ojan Vafai
Comment 3 2012-10-26 14:49:40 PDT
Comment on attachment 171014 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=171014&action=review > Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js:172 > + // FIXME: If currentBuilder is set, we want to limit any place that iterates over > + // a list of builders to just use the currentBuilder. instead of the full list of > + // builders for the current platform. Maybe also add a FIXME to add UI to pick a builder?
Dirk Pranke
Comment 4 2012-10-29 13:01:55 PDT
(In reply to comment #3) > (From update of attachment 171014 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=171014&action=review > > > Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js:172 > > + // FIXME: If currentBuilder is set, we want to limit any place that iterates over > > + // a list of builders to just use the currentBuilder. instead of the full list of > > + // builders for the current platform. > > Maybe also add a FIXME to add UI to pick a builder? Yup, that was my intent.
Dirk Pranke
Comment 5 2012-10-30 15:31:58 PDT
Created attachment 171533 [details] rebasing
Dirk Pranke
Comment 6 2012-10-30 18:50:43 PDT
Ojan Vafai
Comment 7 2012-10-30 21:05:58 PDT
Comment on attachment 171564 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=171564&action=review > Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js:151 > + if (config.currentBuilder) > + return builderName == config.currentBuilder; > + Lets not have this logic in this function. Lets instead have a helper function that is the sole caller of builderApplies and make builderApplies private perhaps. > Tools/Scripts/webkitpy/tool/commands/gardenomatic.py:46 > + # FIXME: This assumes that the implementation is the first part of options.platform. I'm not sure what you mean by "implementation" here. > Tools/Scripts/webkitpy/tool/servers/gardeningserver.py:66 > + arg_string = '?' + '&'.join("%s=%s" % (key, urllib.quote(value)) for (key, value) in args.items()) Can you just use urllib.urlencode(args) or something like that here?
Dirk Pranke
Comment 8 2012-10-30 21:23:45 PDT
Comment on attachment 171564 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=171564&action=review >> Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js:151 >> + > > Lets not have this logic in this function. Lets instead have a helper function that is the sole caller of builderApplies and make builderApplies private perhaps. Sounds good. >> Tools/Scripts/webkitpy/tool/commands/gardenomatic.py:46 >> + # FIXME: This assumes that the implementation is the first part of options.platform. > > I'm not sure what you mean by "implementation" here. "implementation" is what I call the "chromium-" or "gtk-" part of the full port name, but it's not a widely used term (in fact, it may not actually show up anywhere in the code, I'm not sure). I'll rework the comment. >> Tools/Scripts/webkitpy/tool/servers/gardeningserver.py:66 >> + arg_string = '?' + '&'.join("%s=%s" % (key, urllib.quote(value)) for (key, value) in args.items()) > > Can you just use urllib.urlencode(args) or something like that here? Oh, yeah. I'll do that. I'm not that familiar w/ urllib and forgot about that.
Dirk Pranke
Comment 9 2012-10-31 11:54:35 PDT
Created attachment 171697 [details] update w/ review feedback
Dirk Pranke
Comment 10 2012-10-31 11:55:40 PDT
(In reply to comment #8) > >> Tools/Scripts/webkitpy/tool/servers/gardeningserver.py:66 > >> + arg_string = '?' + '&'.join("%s=%s" % (key, urllib.quote(value)) for (key, value) in args.items()) > > > > Can you just use urllib.urlencode(args) or something like that here? > > Oh, yeah. I'll do that. I'm not that familiar w/ urllib and forgot about that. Sigh. Turns out urllib.urlencode encodes spaces as plus signs, and the buildbots choke on that. I added a comment to note this.
Dirk Pranke
Comment 11 2012-10-31 12:12:33 PDT
Please take another look?
Dirk Pranke
Comment 12 2012-10-31 12:34:24 PDT
Note You need to log in before you can comment on or make changes to this bug.