Title: [219235] trunk/Tools
Revision
219235
Author
lforsch...@apple.com
Date
2017-07-06 21:13:35 -0700 (Thu, 06 Jul 2017)

Log Message

Enabling uploading archives to S3.
https://bugs.webkit.org/show_bug.cgi?id=174198

Reviewed by Lucas Forschler.

* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(ArchiveMinifiedBuiltProduct): Create a minified archive from a full archive
(UploadMinifiedBuiltProduct): Upload minified archive to build master
(TransferToS3): Transfer full and minified archives to S3

Modified Paths

Diff

Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/master.cfg (219234 => 219235)


--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/master.cfg	2017-07-07 03:37:17 UTC (rev 219234)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/master.cfg	2017-07-07 04:13:35 UTC (rev 219235)
@@ -129,6 +129,7 @@
         source.SVN.__init__(self, **kwargs)
         self.addFactoryArguments(SVNMirror=SVNMirror)
 
+
 class WaitForSVNServer(shell.ShellCommand):
     name = "wait-for-svn-server"
     command = ["python", "./Tools/BuildSlaveSupport/wait-for-SVN-server.py", "-r", WithProperties("%(revision)s"), "-s", WithProperties("%(SVNMirror)s")]
@@ -141,11 +142,13 @@
             return WARNINGS
         return SUCCESS
 
+
 class InstallWin32Dependencies(shell.Compile):
     description = ["installing dependencies"]
     descriptionDone = ["installed dependencies"]
     command = ["perl", "./Tools/Scripts/update-webkit-auxiliary-libs"]
 
+
 class KillOldProcesses(shell.Compile):
     name = "kill old processes"
     description = ["killing old processes"]
@@ -152,6 +155,7 @@
     descriptionDone = ["killed old processes"]
     command = ["python", "./Tools/BuildSlaveSupport/kill-old-processes", "buildbot"]
 
+
 class CleanBuildIfScheduled(shell.Compile):
     name = "delete WebKitBuild directory"
     description = ["deleting WebKitBuild directory"]
@@ -164,6 +168,7 @@
             return SKIPPED
         return shell.Compile.start(self)
 
+
 class DeleteStaleBuildFiles(shell.Compile):
     name = "delete stale build files"
     description = ["deleting stale build files"]
@@ -176,6 +181,7 @@
             return SKIPPED
         return shell.Compile.start(self)
 
+
 class InstallGtkDependencies(shell.ShellCommand):
     name = "jhbuild"
     description = ["updating gtk dependencies"]
@@ -183,6 +189,7 @@
     command = ["perl", "./Tools/Scripts/update-webkitgtk-libs"]
     haltOnFailure = True
 
+
 class InstallWpeDependencies(shell.ShellCommand):
     name = "jhbuild"
     description = ["updating wpe dependencies"]
@@ -199,6 +206,7 @@
         platform = 'device'
     step.setCommand(step.command + ['--' + platform])
 
+
 class CompileWebKit(shell.Compile):
     command = ["perl", "./Tools/Scripts/build-webkit", WithProperties("--%(configuration)s")]
     env = {'MFLAGS':''}
@@ -248,12 +256,15 @@
 class CompileLLINTCLoop(CompileWebKit):
     command = ["perl", "./Tools/Scripts/build-jsc", "--cloop", WithProperties("--%(configuration)s")]
 
+
 class Compile32bitJSC(CompileWebKit):
     command = ["perl", "./Tools/Scripts/build-jsc", "--32-bit", WithProperties("--%(configuration)s")]
 
+
 class CompileJSCOnly(CompileWebKit):
     command = ["perl", "./Tools/Scripts/build-jsc", WithProperties("--%(configuration)s")]
 
+
 class ArchiveBuiltProduct(shell.ShellCommand):
     command = ["python", "./Tools/BuildSlaveSupport/built-product-archive",
                WithProperties("--platform=%(fullPlatform)s"), WithProperties("--%(configuration)s"), "archive"]
@@ -263,6 +274,11 @@
     haltOnFailure = True
 
 
+class ArchiveMinifiedBuiltProduct(ArchiveBuiltProduct):
+    command = ["python", "./Tools/BuildSlaveSupport/built-product-archive",
+               WithProperties("--platform=%(fullPlatform)s"), WithProperties("--%(configuration)s"), "archive", "--minify"]
+
+
 class ExtractBuiltProduct(shell.ShellCommand):
     command = ["python", "./Tools/BuildSlaveSupport/built-product-archive",
                WithProperties("--platform=%(fullPlatform)s"), WithProperties("--%(configuration)s"), "extract"]
@@ -285,6 +301,11 @@
         transfer.FileUpload.__init__(self, **kwargs)
 
 
+class UploadMinifiedBuiltProduct(UploadBuiltProduct):
+    slavesrc = WithProperties("WebKitBuild/minified-%(configuration)s.zip")
+    masterdest = WithProperties("archives/%(fullPlatform)s-%(architecture)s-%(configuration)s/minified-%(got_revision)s.zip")
+    
+
 class DownloadBuiltProduct(shell.ShellCommand):
     command = ["python", "./Tools/BuildSlaveSupport/download-built-product",
         WithProperties("--platform=%(platform)s"), WithProperties("--%(configuration)s"),
@@ -667,6 +688,7 @@
 
         return [self.name]
 
+
 class RunWebKit1Tests(RunWebKitTests):
     def start(self):
         self.setCommand(self.command + ["--dump-render-tree"])
@@ -673,6 +695,7 @@
 
         return RunWebKitTests.start(self)
 
+
 class RunWebKit1LeakTests(RunWebKit1Tests):
     want_stdout = False
     want_stderr = False
@@ -681,6 +704,7 @@
         self.setCommand(self.command + ["--leaks"])
         return RunWebKit1Tests.start(self)
 
+
 class RunAndUploadPerfTests(shell.Test):
     name = "perf-test"
     description = ["perf-tests running"]
@@ -726,6 +750,7 @@
 
         return [self.name]
 
+
 class RunBenchmarkTests(shell.Test):
     name = "benchmark-test"
     description = ["benchmark tests running"]
@@ -751,6 +776,7 @@
             return ["%d benchmark tests failed" % cmd.rc]
         return [self.name]
 
+
 class ArchiveTestResults(shell.ShellCommand):
     command = ["python", "./Tools/BuildSlaveSupport/test-result-archive",
                WithProperties("--platform=%(platform)s"), WithProperties("--%(configuration)s"), "archive"]
@@ -771,6 +797,28 @@
         transfer.FileUpload.__init__(self, **kwargs)
 
 
+class TransferToS3(master.MasterShellCommand):
+    name = "transfer-to-s3"
+    description = ["transferring to s3"]
+    descriptionDone = ["transferred to s3"]
+    archive = WithProperties("archives/%(fullPlatform)s-%(architecture)s-%(configuration)s/%(got_revision)s.zip")
+    minifiedArchive = WithProperties("archives/%(fullPlatform)s-%(architecture)s-%(configuration)s/minified-%(got_revision)s.zip")
+    identifier = WithProperties("%(fullPlatform)s-%(architecture)s-%(configuration)s")
+    revision = WithProperties("%(got_revision)s")
+    command = ["python", "./transfer-archive-to-s3", "--revision", revision, "--identifier", identifier, "--archive", archive]
+    haltOnFailure = True
+
+    def __init__(self, **kwargs):
+        kwargs['command'] = self.command 
+        master.MasterShellCommand.__init__(self, **kwargs)
+
+    def start(self):
+        return master.MasterShellCommand.start(self)
+
+    def finished(self, result):
+        return master.MasterShellCommand.finished(self, result)
+
+
 class ExtractTestResults(master.MasterShellCommand):
     zipFile = WithProperties("public_html/results/%(buildername)s/r%(got_revision)s (%(buildnumber)s).zip")
     resultDirectory = WithProperties("public_html/results/%(buildername)s/r%(got_revision)s (%(buildnumber)s)")
@@ -834,11 +882,16 @@
         if triggers:
             self.addStep(ArchiveBuiltProduct())
             self.addStep(UploadBuiltProduct())
+            if platform.startswith('mac'):
+                self.addStep(ArchiveMinifiedBuiltProduct())
+                self.addStep(UploadMinifiedBuiltProduct())
+                self.addStep(TransferToS3())
             self.addStep(trigger.Trigger(schedulerNames=triggers))
 
 def pickLatestBuild(builder, requests):
     return max(requests, key=operator.attrgetter("submittedAt"))
 
+
 class TestFactory(Factory):
     JSCTestClass = RunJavaScriptCoreTests
     LayoutTestClass = RunWebKitTests
@@ -869,6 +922,7 @@
         if platform == "gtk":
             self.addStep(RunGtkAPITests())
 
+
 class BuildAndTestFactory(TestFactory):
     def getProduct(self):
         self.addStep(CompileWebKit())
@@ -880,6 +934,7 @@
             self.addStep(UploadBuiltProduct())
             self.addStep(trigger.Trigger(schedulerNames=triggers))
 
+
 class BuildAndTestLLINTCLoopFactory(Factory):
     def __init__(self, platform, configuration, architectures, triggers=None, additionalArguments=None, SVNMirror=None, **kwargs):
         Factory.__init__(self, platform, configuration, architectures, False, additionalArguments, SVNMirror, **kwargs)
@@ -886,6 +941,7 @@
         self.addStep(CompileLLINTCLoop())
         self.addStep(RunLLINTCLoopTests())
 
+
 class BuildAndTest32bitJSCFactory(Factory):
     def __init__(self, platform, configuration, architectures, triggers=None, additionalArguments=None, SVNMirror=None, **kwargs):
         Factory.__init__(self, platform, configuration, architectures, False, additionalArguments, SVNMirror, **kwargs)
@@ -892,9 +948,11 @@
         self.addStep(Compile32bitJSC())
         self.addStep(Run32bitJSCTests())
 
+
 class BuildAndNonLayoutTestFactory(BuildAndTestFactory):
     LayoutTestClass = None
 
+
 class BuildAndRemoteJSCTestsFactory(Factory):
     def __init__(self, platform, configuration, architectures, triggers=None, additionalArguments=None, SVNMirror=None):
         Factory.__init__(self, platform, configuration, architectures, False, additionalArguments, SVNMirror)
@@ -901,6 +959,7 @@
         self.addStep(CompileJSCOnly())
         self.addStep(RunRemoteJavaScriptCoreTests())
 
+
 class TestWebKit1LeaksFactory(Factory):
     def __init__(self, platform, configuration, architectures, additionalArguments=None, SVNMirror=None):
         Factory.__init__(self, platform, configuration, architectures, False, additionalArguments, SVNMirror)
@@ -911,9 +970,11 @@
         self.addStep(UploadTestResults())
         self.addStep(ExtractTestResultsAndLeaks())
 
+
 class TestAllButJSCFactory(TestFactory):
     JSCTestClass = None
 
+
 class TestJSCFactory(Factory):
     def __init__(self, platform, configuration, architectures, additionalArguments=None, SVNMirror=None):
         Factory.__init__(self, platform, configuration, architectures, False, additionalArguments, SVNMirror)
@@ -921,6 +982,7 @@
         self.addStep(ExtractBuiltProduct())
         self.addStep(RunJavaScriptCoreTests())
 
+
 class Test262Factory(Factory):
     def __init__(self, platform, configuration, architectures, additionalArguments=None, SVNMirror=None):
         Factory.__init__(self, platform, configuration, architectures, False, additionalArguments, SVNMirror)
@@ -928,12 +990,15 @@
         self.addStep(ExtractBuiltProduct())
         self.addStep(RunTest262Tests())
 
+
 class TestWebKit1Factory(TestFactory):
     LayoutTestClass = RunWebKit1Tests
 
+
 class TestWebKit1AllButJSCFactory(TestWebKit1Factory):
     JSCTestClass = None
 
+
 class BuildAndPerfTestFactory(Factory):
     def __init__(self, platform, configuration, architectures, additionalArguments=None, SVNMirror=None, **kwargs):
         Factory.__init__(self, platform, configuration, architectures, False, additionalArguments, SVNMirror, **kwargs)
@@ -942,6 +1007,7 @@
         if platform == "gtk":
             self.addStep(RunBenchmarkTests())
 
+
 class DownloadAndPerfTestFactory(Factory):
     def __init__(self, platform, configuration, architectures, additionalArguments=None, SVNMirror=None, **kwargs):
         Factory.__init__(self, platform, configuration, architectures, False, additionalArguments, SVNMirror, **kwargs)
@@ -951,6 +1017,7 @@
         if platform == "gtk":
             self.addStep(RunBenchmarkTests())
 
+
 class PlatformSpecificScheduler(AnyBranchScheduler):
     def __init__(self, platform, branch, **kwargs):
         self.platform = platform

Modified: trunk/Tools/ChangeLog (219234 => 219235)


--- trunk/Tools/ChangeLog	2017-07-07 03:37:17 UTC (rev 219234)
+++ trunk/Tools/ChangeLog	2017-07-07 04:13:35 UTC (rev 219235)
@@ -1,3 +1,15 @@
+2017-07-06  Lucas Forschler  <lforsch...@apple.com>
+
+        Enabling uploading archives to S3.
+        https://bugs.webkit.org/show_bug.cgi?id=174198
+        
+        Reviewed by Lucas Forschler.
+
+        * BuildSlaveSupport/build.webkit.org-config/master.cfg:
+        (ArchiveMinifiedBuiltProduct): Create a minified archive from a full archive
+        (UploadMinifiedBuiltProduct): Upload minified archive to build master
+        (TransferToS3): Transfer full and minified archives to S3
+
 2017-07-06  Carlos Alberto Lopez Perez  <clo...@igalia.com>
 
         [GTK][WPE] kill-old-process should kill more webkit related process
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to