Bug 28040

Summary: commit-queue needs a master process
Product: WebKit Reporter: Adam Barth <abarth>
Component: Tools / TestsAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: ddkilzer, eric
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Attachments:
Description Flags
Patch v1
none
First attempt, needs revision
none
Better, not perfect
none
Patch v1
none
Updated to use __file__ none

Description Adam Barth 2009-08-06 01:09:57 PDT
To make the commit queue more robust, I'm using a master process that call bugzilla-tool.  We should add the master process to the repository so other folks can use it too.
Comment 1 Adam Barth 2009-08-06 01:11:32 PDT
Created attachment 34204 [details]
Patch v1
Comment 2 Jeremy Orlow 2009-08-06 01:17:36 PDT
I know this is really simple at the moment, but can we please make this Python from the start?  I've seen plenty of scripts start out this size and then balloon over time.  The second we try to do something like integrate with the waterfall, other try bots, etc, we'll be happy we did.
Comment 3 Adam Barth 2009-08-06 01:21:08 PDT
Comment on attachment 34204 [details]
Patch v1

Ok.  It's good for me to learn more python anyway.
Comment 4 Eric Seidel (no email) 2009-08-06 08:22:46 PDT
If you're going to make it python, you might find it easier to make it a Command in bugzilla-tool.  such a command could of course just call bugzilla-tool again.  directly, or via the shell, depending on what you wanted to do.
Comment 5 Eric Seidel (no email) 2009-08-21 17:09:25 PDT
Created attachment 38416 [details]
First attempt, needs revision
Comment 6 Eric Seidel (no email) 2009-08-21 17:10:28 PDT
I could definitely make the logging code simpler.
Comment 7 Eric Seidel (no email) 2009-08-25 16:09:04 PDT
Created attachment 38573 [details]
Better, not perfect


---
 3 files changed, 98 insertions(+), 3 deletions(-)
Comment 8 Eric Seidel (no email) 2009-08-26 13:46:34 PDT
Created attachment 38637 [details]
Patch v1
Comment 9 Adam Barth 2009-08-26 19:38:41 PDT
Comment on attachment 38637 [details]
Patch v1

+            self._run_command(['bugzilla-tool', 'land-patches', '--force-clean', '--commit-queue', '--quiet', bug_id])

This seems to require bugzilla-tool to be in your path.  We should use our get webkit script path routine here.

+            bug_id = bug_ids[0]

I'm worried we could get stuck in a loop processing bug zero.  Can't we restructure this loop so we go through all the bugs in the queue?  Also, we should put everything in the try-catch to avoid dieing on exceptions.
Comment 10 Eric Seidel (no email) 2009-08-27 14:52:45 PDT
(In reply to comment #9)
> (From update of attachment 38637 [details])
> +            self._run_command(['bugzilla-tool', 'land-patches',
> '--force-clean', '--commit-queue', '--quiet', bug_id])
> 
> This seems to require bugzilla-tool to be in your path.  We should use our get
> webkit script path routine here.

Nah, fixed using __FILE__.  We want to execute the exact same script as we're currently executing, no matter where it may be.

> +            bug_id = bug_ids[0]
> 
> I'm worried we could get stuck in a loop processing bug zero.  Can't we
> restructure this loop so we go through all the bugs in the queue?  Also, we
> should put everything in the try-catch to avoid dieing on exceptions.

Yup, we could get stuck.  I don't think we should try and handle that case.  The commit-queue is a remotely stored queue.  We shouldn't be trying to work around possible bugs in updating that queue.  If it gets stuck, someone will fix the bug which caused it to get stuck. ;)
Comment 11 Eric Seidel (no email) 2009-08-27 14:53:34 PDT
Created attachment 38690 [details]
Updated to use __file__


---
 4 files changed, 123 insertions(+), 3 deletions(-)
Comment 12 Adam Barth 2009-08-27 21:56:27 PDT
Comment on attachment 38690 [details]
Updated to use __file__

No unit tests.  :)

This probably isn't perfect, but it's a good start.  By the way, it annoys me that we use single and double quoted strings indiscriminately.  Can't we pick one and call it a day?
Comment 13 Eric Seidel (no email) 2009-08-27 22:35:54 PDT
Comment on attachment 38690 [details]
Updated to use __file__

Rejecting patch 38690 from commit-queue.  This patch will require manual commit.

['WebKitTools/Scripts/run-webkit-tests', '--no-launch-safari', '--quiet', '--exit-after-n-failures=1'] failed with exit code 1
Comment 14 Adam Barth 2009-08-27 23:18:18 PDT
Comment on attachment 38690 [details]
Updated to use __file__

Try again.
Comment 15 Eric Seidel (no email) 2009-08-27 23:30:44 PDT
Comment on attachment 38690 [details]
Updated to use __file__

Rejecting patch 38690 from commit-queue.  This patch will require manual commit.

['WebKitTools/Scripts/run-webkit-tests', '--no-launch-safari', '--quiet', '--exit-after-n-failures=1'] failed with exit code 1
Comment 16 Eric Seidel (no email) 2009-08-28 00:27:28 PDT
Comment on attachment 38690 [details]
Updated to use __file__

Two unrelated test failures, must be flakey tests.
Comment 17 Eric Seidel (no email) 2009-08-28 02:22:36 PDT
Comment on attachment 38690 [details]
Updated to use __file__

Rejecting patch 38690 from commit-queue.  This patch will require manual commit.

['WebKitTools/Scripts/run-webkit-tests', '--no-launch-safari', '--quiet', '--exit-after-n-failures=1'] failed with exit code 1
Comment 18 Eric Seidel (no email) 2009-08-28 18:37:45 PDT
Comment on attachment 38690 [details]
Updated to use __file__

Unrelated test timed out. :(  Our tests are really flakey it seems!
Comment 19 Eric Seidel (no email) 2009-08-28 18:51:51 PDT
Comment on attachment 38690 [details]
Updated to use __file__

Clearing flags on attachment: 38690

Committed r47881: <http://trac.webkit.org/changeset/47881>
Comment 20 Eric Seidel (no email) 2009-08-28 18:51:56 PDT
All reviewed patches have been landed.  Closing bug.