WebKit needs public performance tests running on public bots
authorrniwa@webkit.org <rniwa@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 25 Jan 2012 06:08:41 +0000 (06:08 +0000)
committerrniwa@webkit.org <rniwa@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 25 Jan 2012 06:08:41 +0000 (06:08 +0000)
https://bugs.webkit.org/show_bug.cgi?id=10266

Reviewed by Adam Barth.

Completes the initial implementation of WebKit Perf bots. Add a build step for run-perf-test
and make google-mac-4 run it, and upload the results to webkit-perf.webkit.org.

* BuildSlaveSupport/build.webkit.org-config/config.json:
* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(RunAndUploadPerfTests):
(RunAndUploadPerfTests.start):
(UploadPerfTestResults):
(BuildAndPerfTestFactory):
(BuildAndPerfTestFactory.__init__):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@105848 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Tools/BuildSlaveSupport/build.webkit.org-config/config.json
Tools/BuildSlaveSupport/build.webkit.org-config/master.cfg
Tools/ChangeLog

index e3d0441a376dd28fadb5f2eb7844be16212e9ea2..7099b1284f5e77c23d1c5f08d9c9b8646091b6e8 100644 (file)
                     {
                       "name": "Chromium Mac Release (Tests)", "type": "NewBuildAndTest", "builddir": "chromium-mac-release-tests",
                       "platform": "chromium-mac", "configuration": "release", "architectures": ["i386"],
-                      "slavenames": ["google-mac-2", "google-mac-4"]
+                      "slavenames": ["google-mac-2"]
                     },
                     {
                       "name": "Chromium Linux Release", "type": "Build", "builddir": "chromium-linux-release",
                       "platform": "chromium-android", "configuration": "release", "architectures": ["i386"],
                       "slavenames": ["google-linux-android"]
                     },
+                    {
+                      "name": "Chromium Mac Release (Perf)", "type": "BuildAndPerfTest", "builddir": "chromium-mac-perf-tests",
+                      "platform": "chromium-mac", "configuration": "release", "architectures": ["i386"],
+                      "slavenames": ["google-mac-4"]
+                    },
                     {
                       "name": "WinCairo Release", "type": "BuildAndTest", "builddir": "win-cairo-release",
                       "platform": "wincairo", "configuration": "release", "architectures": ["i386"],
index b1db9f7c93e8dd4ec7c8b79874dec77be41aaf92..a4daa7aa86a876c8e5c6b2a2623025b18808715c 100644 (file)
@@ -614,6 +614,24 @@ class RunChromiumWebKitUnitTests(shell.Test):
                WithProperties("--%(configuration)s")]
 
 
+class RunAndUploadPerfTests(shell.Test):
+   name = "perf-test"
+   description = ["perf-tests running"]
+   descriptionDone = ["perf-tests"]
+   command = ["python", "./Tools/Scripts/run-perf-tests",
+              "--output-json-path", "perf-test-results.json",
+              "--source-json-path", "../../perf-test-config.json",
+              "--test-results-server", "webkit-perf.appspot.com",
+              "--builder-name", WithProperties("%(buildername)s"),
+              "--build-number", WithProperties("%(buildnumber)s"),
+              "--platform", WithProperties("%(fullPlatform)s"),
+              WithProperties("--%(configuration)s")]
+
+   def start(self):
+       self.setCommand(self.command)
+       return shell.Test.start(self)
+
+
 class ArchiveTestResults(shell.ShellCommand):
     command = ["python", "./Tools/BuildSlaveSupport/test-result-archive",
                WithProperties("--platform=%(platform)s"), WithProperties("--%(configuration)s"), "archive"]
@@ -749,6 +767,14 @@ class NewBuildAndTestFactory(BuildAndTestFactory):
 class TestWebKit2Factory(TestFactory):
     TestClass = RunWebKit2Tests
 
+class BuildAndPerfTestFactory(Factory):
+    def __init__(self, platform, configuration, architectures, **kwargs):
+        Factory.__init__(self, platform, configuration, architectures, False, **kwargs)
+        if platform.startswith("chromium"):
+            self.addStep(CleanupChromiumCrashLogs)
+        self.addStep(CompileWebKit)
+        self.addStep(RunAndUploadPerfTests)
+
 class PlatformSpecificScheduler(AnyBranchScheduler):
     def __init__(self, platform, branch, **kwargs):
         self.platform = platform
index c85bfeaff38c89a47150f432923a152d316b2778..3eb2320ac7e2a863e26d38956e63f472024d9a8d 100644 (file)
@@ -1,3 +1,21 @@
+2012-01-23  Ryosuke Niwa  <rniwa@webkit.org>
+
+        WebKit needs public performance tests running on public bots
+        https://bugs.webkit.org/show_bug.cgi?id=10266
+
+        Reviewed by Adam Barth.
+
+        Completes the initial implementation of WebKit Perf bots. Add a build step for run-perf-test
+        and make google-mac-4 run it, and upload the results to webkit-perf.webkit.org.
+
+        * BuildSlaveSupport/build.webkit.org-config/config.json:
+        * BuildSlaveSupport/build.webkit.org-config/master.cfg:
+        (RunAndUploadPerfTests):
+        (RunAndUploadPerfTests.start):
+        (UploadPerfTestResults):
+        (BuildAndPerfTestFactory):
+        (BuildAndPerfTestFactory.__init__):
+
 2012-01-24  Ojan Vafai  <ojan@chromium.org>
 
         Initializing the browser property of the Bugzilla class takes too long