Bug 28040 - commit-queue needs a master process
Summary: commit-queue needs a master process
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Tools / Tests (show other bugs)
Version: 528+ (Nightly build)
Hardware: All All
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-08-06 01:09 PDT by Adam Barth
Modified: 2009-08-28 18:51 PDT (History)
2 users (show)

See Also:


Attachments
Patch v1 (1.29 KB, patch)
2009-08-06 01:11 PDT, Adam Barth
no flags Details | Formatted Diff | Diff
First attempt, needs revision (5.52 KB, patch)
2009-08-21 17:09 PDT, Eric Seidel (no email)
no flags Details | Formatted Diff | Diff
Better, not perfect (6.14 KB, patch)
2009-08-25 16:09 PDT, Eric Seidel (no email)
no flags Details | Formatted Diff | Diff
Patch v1 (7.35 KB, patch)
2009-08-26 13:46 PDT, Eric Seidel (no email)
no flags Details | Formatted Diff | Diff
Updated to use __file__ (7.43 KB, patch)
2009-08-27 14:53 PDT, Eric Seidel (no email)
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
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.