WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
31442
Chromium Build Slaves
https://bugs.webkit.org/show_bug.cgi?id=31442
Summary
Chromium Build Slaves
Yaar Schnitman
Reported
2009-11-12 15:24:13 PST
Created
attachment 43106
[details]
Patch These 3 new build slaves obsolete the existing chromium slave, and build the webkit chromium port.
Attachments
Patch
(815 bytes, text/plain)
2009-11-12 15:24 PST
,
Yaar Schnitman
no flags
Details
buildbot configuration changes
(8.12 KB, patch)
2009-11-12 15:47 PST
,
Yaar Schnitman
no flags
Details
Formatted Diff
Diff
buildbot configuration changes
(8.12 KB, patch)
2009-11-12 16:40 PST
,
Yaar Schnitman
no flags
Details
Formatted Diff
Diff
buildbot configuration changes
(8.20 KB, patch)
2009-11-12 17:38 PST
,
Yaar Schnitman
no flags
Details
Formatted Diff
Diff
buildbot configuration changes
(8.21 KB, patch)
2009-11-12 18:20 PST
,
Yaar Schnitman
no flags
Details
Formatted Diff
Diff
buildbot configuration changes
(8.16 KB, patch)
2009-11-18 14:57 PST
,
Yaar Schnitman
no flags
Details
Formatted Diff
Diff
Show Obsolete
(5)
View All
Add attachment
proposed patch, testcase, etc.
Yaar Schnitman
Comment 1
2009-11-12 15:47:03 PST
Created
attachment 43109
[details]
buildbot configuration changes
Dimitri Glazkov (Google)
Comment 2
2009-11-12 16:04:17 PST
Comment on
attachment 43109
[details]
buildbot configuration changes
> > +class InstallChromiumDependencies(shell.ShellCommand): > + name = "gclient" > + description = ["updating chromium dependencies"] > + descriptionDone = ["updated chromium dependencies"] > + command = ["perl", "./WebKitTools/Scripts/update-webkit-chromium"]
this should be ["perl", "./WebKitTools/Scripts/update-webkit", "--chromium"] right?
Mark Rowe (bdash)
Comment 3
2009-11-12 16:12:05 PST
Comment on
attachment 43109
[details]
buildbot configuration changes
> diff --git a/WebKitTools/BuildSlaveSupport/build.webkit.org-config/config.json b/WebKitTools/BuildSlaveSupport/build.webkit.org-config/config.json > index 2b8faf6..04e7ad9 100644 > --- a/WebKitTools/BuildSlaveSupport/build.webkit.org-config/config.json > +++ b/WebKitTools/BuildSlaveSupport/build.webkit.org-config/config.json > @@ -25,7 +25,9 @@ > > { "name": "szeged-linux-1", "platform": "qt"}, > > - { "name": "google-slave-1", "platform": "chromium-win" } > + { "name": "chromium-win-slave-1", "platform": "chromium" }, > + { "name": "chromium-mac-slave-1", "platform": "chromium" }, > + { "name": "chromium-linux-slave-1", "platform": "chromium” }
Per my recent email these aren’t the slave names that will be used.
> ], > > "builders": [ { "name": "Tiger Intel Release", "type": "BuildAndTest", "builddir": "tiger-intel-release", > @@ -98,9 +100,22 @@ > "slavenames": ["szeged-linux-1"] > }, > { > - "name": "Chromium Win Release", "type": "ChromiumBuild", "builddir": "chromium-win-release", > - "platform": "chromium-win", "configuration": "release", "architectures": ["i386"], > - "slavenames": ["google-slave-1"] > + "name": "Chromium Win Release", "type": "Build", "builddir": "chromium-win-release", > + "platform": "chromium", "configuration": "release", "architectures": ["i386"], > + "triggers": ["chromium-win-release"], > + "slavenames": ["chromium-win-slave-1"] > + }, > + { > + "name": "Chromium Mac Release", "type": "Build", "builddir": "chromium-mac-release", > + "platform": "chromium", "configuration": "release", "architectures": ["i386"], > + "triggers": ["chromium-mac-release"], > + "slavenames": ["chromium-mac-slave-1"] > + }, > + { > + "name": "Chromium Linux Release", "type": "Build", "builddir": "chromium-linux-release", > + "platform": "chromium", "configuration": "release", "architectures": ["i386"], > + "triggers": ["chromium-linux-release"], > + "slavenames": ["chromium-linux-slave-1"] > } > ],
The “triggers” values here seem bogus given that they don’t attempt to trigger anything and there’s no corresponding triggerable configuration.
> +class InstallChromiumDependencies(shell.ShellCommand): > + name = "gclient" > + description = ["updating chromium dependencies"] > + descriptionDone = ["updated chromium dependencies"] > + command = ["perl", "./WebKitTools/Scripts/update-webkit-chromium"] > + haltOnFailure = True
This script doesn’t exist. Is that the right command to run?
> def appendCustomBuildFlags(step, platform): > if platform in ('gtk', 'wx', 'qt'): > step.setCommand(step.command + ['--' + platform]) > @@ -119,6 +78,8 @@ class CompileWebKit(shell.Compile): > def start(self): > platform = self.getProperty('platform') > buildOnly = self.getProperty('buildOnly') > + if platform == 'chromium': > + self.setCommand(self.command + ['--chromium']) > if platform == 'mac' and buildOnly: > self.setCommand(self.command + ['DEBUG_INFORMATION_FORMAT=dwarf-with-dsym’])
This should be handled in the same way it is for other platforms: in appendCustomBuildFlags.
Yaar Schnitman
Comment 4
2009-11-12 16:40:08 PST
Created
attachment 43115
[details]
buildbot configuration changes
Yaar Schnitman
Comment 5
2009-11-12 16:46:25 PST
Thanks for reviewing this. New patch is attached. See comments below:
> (From update of
attachment 43109
[details]
) > > diff --git a/WebKitTools/BuildSlaveSupport/build.webkit.org-config/config.json b/WebKitTools/BuildSlaveSupport/build.webkit.org-config/config.json > > index 2b8faf6..04e7ad9 100644 > > --- a/WebKitTools/BuildSlaveSupport/build.webkit.org-config/config.json > > +++ b/WebKitTools/BuildSlaveSupport/build.webkit.org-config/config.json > > @@ -25,7 +25,9 @@ > > > > { "name": "szeged-linux-1", "platform": "qt"}, > > > > - { "name": "google-slave-1", "platform": "chromium-win" } > > + { "name": "chromium-win-slave-1", "platform": "chromium" }, > > + { "name": "chromium-mac-slave-1", "platform": "chromium" }, > > + { "name": "chromium-linux-slave-1", "platform": "chromium” } > > Per my recent email these aren’t the slave names that will be used.
> Fixed.
> > > ], > > > > "builders": [ { "name": "Tiger Intel Release", "type": "BuildAndTest", "builddir": "tiger-intel-release", > > @@ -98,9 +100,22 @@ > > "slavenames": ["szeged-linux-1"] > > }, > > { > > - "name": "Chromium Win Release", "type": "ChromiumBuild", "builddir": "chromium-win-release", > > - "platform": "chromium-win", "configuration": "release", "architectures": ["i386"], > > - "slavenames": ["google-slave-1"] > > + "name": "Chromium Win Release", "type": "Build", "builddir": "chromium-win-release", > > + "platform": "chromium", "configuration": "release", "architectures": ["i386"], > > + "triggers": ["chromium-win-release"], > > + "slavenames": ["chromium-win-slave-1"] > > + }, > > + { > > + "name": "Chromium Mac Release", "type": "Build", "builddir": "chromium-mac-release", > > + "platform": "chromium", "configuration": "release", "architectures": ["i386"], > > + "triggers": ["chromium-mac-release"], > > + "slavenames": ["chromium-mac-slave-1"] > > + }, > > + { > > + "name": "Chromium Linux Release", "type": "Build", "builddir": "chromium-linux-release", > > + "platform": "chromium", "configuration": "release", "architectures": ["i386"], > > + "triggers": ["chromium-linux-release"], > > + "slavenames": ["chromium-linux-slave-1"] > > } > > ], > > The “triggers” values here seem bogus given that they don’t attempt to trigger > anything and there’s no corresponding triggerable configuration. >
I know, but BuildFactory require triggers, so I had to put something there. Once we also have testing harness, we will connect them to the triggers.
> > +class InstallChromiumDependencies(shell.ShellCommand): > > + name = "gclient" > > + description = ["updating chromium dependencies"] > > + descriptionDone = ["updated chromium dependencies"] > > + command = ["perl", "./WebKitTools/Scripts/update-webkit-chromium"] > > + haltOnFailure = True > > This script doesn’t exist. Is that the right command to run?
Actually, update-webkit-chromium does exist and is reused by "update-webkit --chromium" too.
> > > def appendCustomBuildFlags(step, platform): > > if platform in ('gtk', 'wx', 'qt'): > > step.setCommand(step.command + ['--' + platform]) > > @@ -119,6 +78,8 @@ class CompileWebKit(shell.Compile): > > def start(self): > > platform = self.getProperty('platform') > > buildOnly = self.getProperty('buildOnly') > > + if platform == 'chromium': > > + self.setCommand(self.command + ['--chromium']) > > if platform == 'mac' and buildOnly: > > self.setCommand(self.command + ['DEBUG_INFORMATION_FORMAT=dwarf-with-dsym’]) > > This should be handled in the same way it is for other platforms: in > appendCustomBuildFlags.
Done.
Mark Rowe (bdash)
Comment 6
2009-11-12 16:57:16 PST
(In reply to
comment #5
)
> Thanks for reviewing this. New patch is attached. See comments below: > > > The “triggers” values here seem bogus given that they don’t attempt to trigger > > anything and there’s no corresponding triggerable configuration. > > > I know, but BuildFactory require triggers, so I had to put something there. > Once we also have testing harness, we will connect them to the triggers.
A better fix would be to make the triggers optional. This would convert some Chromium-specific logic in master.cfg in to logic that is specific to whether or not BuildFactory has anything to trigger.
> > > > +class InstallChromiumDependencies(shell.ShellCommand): > > > + name = "gclient" > > > + description = ["updating chromium dependencies"] > > > + descriptionDone = ["updated chromium dependencies"] > > > + command = ["perl", "./WebKitTools/Scripts/update-webkit-chromium"] > > > + haltOnFailure = True > > > > This script doesn’t exist. Is that the right command to run? > > Actually, update-webkit-chromium does exist and is reused by "update-webkit > --chromium" too.
My mistake.
Mark Rowe (bdash)
Comment 7
2009-11-12 16:57:50 PST
And at least one of the slave names doesn’t match the ones from my email.
Mark Rowe (bdash)
Comment 8
2009-11-12 16:58:31 PST
Comment on
attachment 43115
[details]
buildbot configuration changes Marking as r- per last two comments. There’s no point marking this as commit-queue? since it needs to be manually landed anyway.
Yaar Schnitman
Comment 9
2009-11-12 17:38:52 PST
Created
attachment 43118
[details]
buildbot configuration changes
Yaar Schnitman
Comment 10
2009-11-12 18:20:10 PST
Created
attachment 43120
[details]
buildbot configuration changes
Yaar Schnitman
Comment 11
2009-11-12 18:22:13 PST
Comment on
attachment 43120
[details]
buildbot configuration changes Fixed the win slave names and made triggers optional.
Mark Rowe (bdash)
Comment 12
2009-11-18 14:21:29 PST
Comment on
attachment 43120
[details]
buildbot configuration changes
> class BuildFactory(Factory): > - def __init__(self, platform, configuration, architectures, triggers): > + def __init__(self, platform, configuration, architectures, triggers=None): > Factory.__init__(self, platform, configuration, architectures, True) > self.addStep(CompileWebKit) > + if platform == "chromium": > + # FIXME: Chromium should archive and trigger tests too. > + return > self.addStep(ArchiveBuiltProduct) > self.addStep(UploadBuiltProduct) > - self.addStep(trigger.Trigger, schedulerNames=triggers) > + if triggers: > + self.addStep(trigger.Trigger, schedulerNames=triggers)
Since there’s no point in archiving or uploading the built product unless you’re going to do something that uses it, this would make more sense if it were expressed as: self.addStep(CompileWebKit) if triggers: self.addStep(ArchiveBuiltProduct) self.addStep(UploadBuiltProduct) self.addStep(trigger.Trigger, schedulerNames=triggers) It also removes logic that special-cases Chromium. I’m going to say r=me but this should be fixed before it is landed.
Yaar Schnitman
Comment 13
2009-11-18 14:57:21 PST
Created
attachment 43464
[details]
buildbot configuration changes
Darin Adler
Comment 14
2009-11-18 16:47:13 PST
Comment on
attachment 43464
[details]
buildbot configuration changes r=me based on Mark's earlier review and comment
Yaar Schnitman
Comment 15
2009-11-18 16:56:28 PST
Thank you!
Eric Seidel (no email)
Comment 16
2009-11-18 17:55:08 PST
Comment on
attachment 43464
[details]
buildbot configuration changes Yaar is not a committer quite yet, so marking cq+. I beleive Mark Rowe will have to push the config to the master manually once this is in. You can work that out with him. :)
WebKit Commit Bot
Comment 17
2009-11-18 18:54:04 PST
Comment on
attachment 43464
[details]
buildbot configuration changes Clearing flags on attachment: 43464 Committed
r51167
: <
http://trac.webkit.org/changeset/51167
>
WebKit Commit Bot
Comment 18
2009-11-18 18:54:12 PST
All reviewed patches have been landed. Closing bug.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug