Title: [264196] trunk/Tools
Revision
264196
Author
aakash_j...@apple.com
Date
2020-07-09 14:23:48 -0700 (Thu, 09 Jul 2020)

Log Message

Add EWS queues for tvOS and watchOS builders
https://bugs.webkit.org/show_bug.cgi?id=214147

Reviewed by Stephanie Lewis.

* BuildSlaveSupport/ews-app/ews/views/statusbubble.py: Added status-bubbles for tvos and watchos queues.
* BuildSlaveSupport/ews-build/config.json: Added watchos and tvos builders.
* BuildSlaveSupport/ews-build/factories.py:
(watchOSBuildFactory):
(tvOSBuildFactory):
* BuildSlaveSupport/ews-build/factories_unittest.py: Added unit-tests.
* BuildSlaveSupport/ews-build/loadConfig.py:
* BuildSlaveSupport/ews-build/steps.py:
(appendCustomBuildFlags): Added support for tvos and watchos.
(CompileWebKit.start): Ditto.
(PrintConfiguration.run): Ditto.

Modified Paths

Diff

Modified: trunk/Tools/BuildSlaveSupport/ews-app/ews/views/statusbubble.py (264195 => 264196)


--- trunk/Tools/BuildSlaveSupport/ews-app/ews/views/statusbubble.py	2020-07-09 21:20:24 UTC (rev 264195)
+++ trunk/Tools/BuildSlaveSupport/ews-app/ews/views/statusbubble.py	2020-07-09 21:23:48 UTC (rev 264196)
@@ -43,7 +43,7 @@
     # These queue names are from shortname in https://trac.webkit.org/browser/webkit/trunk/Tools/BuildSlaveSupport/ews-build/config.json
     # FIXME: Auto-generate this list https://bugs.webkit.org/show_bug.cgi?id=195640
     # Note: This list is sorted in the order of which bubbles appear in bugzilla.
-    ALL_QUEUES = ['style', 'ios', 'ios-sim', 'mac', 'mac-debug', 'gtk', 'wpe', 'wincairo', 'win',
+    ALL_QUEUES = ['style', 'ios', 'ios-sim', 'mac', 'mac-debug', 'tv', 'tv-sim', 'watch', 'watch-sim', 'gtk', 'wpe', 'wincairo', 'win',
                   'ios-wk2', 'mac-wk1', 'mac-wk2', 'mac-debug-wk1', 'api-ios', 'api-mac', 'api-gtk',
                   'bindings', 'jsc', 'jsc-armv7', 'jsc-mips', 'jsc-i386', 'webkitperl', 'webkitpy', 'services']
     # FIXME: Auto-generate the queue's trigger relationship

Modified: trunk/Tools/BuildSlaveSupport/ews-build/config.json (264195 => 264196)


--- trunk/Tools/BuildSlaveSupport/ews-build/config.json	2020-07-09 21:20:24 UTC (rev 264195)
+++ trunk/Tools/BuildSlaveSupport/ews-build/config.json	2020-07-09 21:23:48 UTC (rev 264196)
@@ -436,6 +436,46 @@
       "workernames": ["ews112", "ews113", "ews115", "ews117"]
     },
     {
+      "name": "watchOS-6-Build-EWS",
+      "shortname": "watch",
+      "icon": "buildOnly",
+      "factory": "watchOSBuildFactory",
+      "platform": "watchos-6",
+      "configuration": "release",
+      "architectures": ["arm64_32"],
+      "workernames": ["ews163", "ews164", "ews165"]
+    },
+    {
+      "name": "watchOS-6-Simulator-Build-EWS",
+      "shortname": "watch-sim",
+      "icon": "buildOnly",
+      "factory": "watchOSBuildFactory",
+      "platform": "watchos-simulator-6",
+      "configuration": "release",
+      "architectures": ["i386"],
+      "workernames": ["ews164", "ews165", "ews166"]
+    },
+     {
+      "name": "tvOS-13-Build-EWS",
+      "shortname": "tv",
+      "icon": "buildOnly",
+      "factory": "tvOSBuildFactory",
+      "platform": "tvos-13",
+      "configuration": "release",
+      "architectures": ["arm64"],
+      "workernames": ["ews167", "ews168", "ews169"]
+    },
+    {
+      "name": "tvOS-13-Simulator-Build-EWS",
+      "shortname": "tv-sim",
+      "icon": "buildOnly",
+      "factory": "tvOSBuildFactory",
+      "platform": "tvos-simulator-13",
+      "configuration": "release",
+      "architectures": ["x86_64"],
+      "workernames": ["ews168", "ews169", "ews170"]
+    },
+    {
       "name": "Windows-EWS",
       "shortname": "win",
       "icon": "buildAndTest",
@@ -606,7 +646,9 @@
       "builderNames": ["Apply-WatchList-EWS", "Bindings-Tests-EWS", "GTK-Build-EWS", "iOS-13-Build-EWS", "iOS-13-Simulator-Build-EWS",
                        "JSC-ARMv7-32bits-Build-EWS", "JSC-ARMv7-32bits-EWS", "JSC-i386-32bits-EWS", "JSC-MIPSEL-32bits-Build-EWS",
                        "JSC-MIPSEL-32bits-EWS", "JSC-Tests-EWS", "macOS-Mojave-Debug-Build-EWS", "macOS-Mojave-Release-Build-EWS",
-                       "Services-EWS", "Style-EWS", "WPE-EWS", "WebKitPerl-Tests-EWS", "WebKitPy-Tests-EWS", "WinCairo-EWS", "Windows-EWS"]
+                       "Services-EWS", "Style-EWS",
+                       "tvOS-13-Build-EWS", "tvOS-13-Simulator-Build-EWS", "watchOS-6-Build-EWS", "watchOS-6-Simulator-Build-EWS",
+                       "WPE-EWS", "WebKitPerl-Tests-EWS", "WebKitPy-Tests-EWS", "WinCairo-EWS", "Windows-EWS"]
     },
     {
       "type": "Try_Userpass",

Modified: trunk/Tools/BuildSlaveSupport/ews-build/factories.py (264195 => 264196)


--- trunk/Tools/BuildSlaveSupport/ews-build/factories.py	2020-07-09 21:20:24 UTC (rev 264195)
+++ trunk/Tools/BuildSlaveSupport/ews-build/factories.py	2020-07-09 21:23:48 UTC (rev 264196)
@@ -163,6 +163,14 @@
     pass
 
 
+class watchOSBuildFactory(BuildFactory):
+    pass
+
+
+class tvOSBuildFactory(BuildFactory):
+    pass
+
+
 class macOSWK1Factory(TestFactory):
     LayoutTestClass = RunWebKit1Tests
     willTriggerCrashLogSubmission = True

Modified: trunk/Tools/BuildSlaveSupport/ews-build/factories_unittest.py (264195 => 264196)


--- trunk/Tools/BuildSlaveSupport/ews-build/factories_unittest.py	2020-07-09 21:20:24 UTC (rev 264195)
+++ trunk/Tools/BuildSlaveSupport/ews-build/factories_unittest.py	2020-07-09 21:23:48 UTC (rev 264196)
@@ -157,6 +157,58 @@
 
 
 class TestBuildFactory(TestCase):
+    def test_macos_build_factory(self):
+        factory = factories.macOSBuildFactory(platform='mac-mojave', configuration='release', architectures=["x86_64"])
+        self.assertBuildSteps(factory.steps, [
+            _BuildStepFactory(steps.ConfigureBuild, platform='mac-mojave', configuration='release', architectures=["x86_64"], buildOnly=False, triggers=None, remotes=None, additionalArguments=None),
+            _BuildStepFactory(steps.ValidatePatch),
+            _BuildStepFactory(steps.PrintConfiguration),
+            _BuildStepFactory(steps.CheckOutSource),
+            _BuildStepFactory(steps.CheckOutSpecificRevision),
+            _BuildStepFactory(steps.ApplyPatch),
+            _BuildStepFactory(steps.KillOldProcesses),
+            _BuildStepFactory(steps.CompileWebKit),
+        ])
+
+    def test_ios_build_factory(self):
+        factory = factories.iOSBuildFactory(platform='ios-13', configuration='release', architectures=["arm64"])
+        self.assertBuildSteps(factory.steps, [
+            _BuildStepFactory(steps.ConfigureBuild, platform='ios-13', configuration='release', architectures=["arm64"], buildOnly=False, triggers=None, remotes=None, additionalArguments=None),
+            _BuildStepFactory(steps.ValidatePatch),
+            _BuildStepFactory(steps.PrintConfiguration),
+            _BuildStepFactory(steps.CheckOutSource),
+            _BuildStepFactory(steps.CheckOutSpecificRevision),
+            _BuildStepFactory(steps.ApplyPatch),
+            _BuildStepFactory(steps.KillOldProcesses),
+            _BuildStepFactory(steps.CompileWebKit),
+        ])
+
+    def test_watchos_build_factory(self):
+        factory = factories.iOSBuildFactory(platform='watchos-6', configuration='release', architectures=["arm64_32"])
+        self.assertBuildSteps(factory.steps, [
+            _BuildStepFactory(steps.ConfigureBuild, platform='watchos-6', configuration='release', architectures=["arm64_32"], buildOnly=False, triggers=None, remotes=None, additionalArguments=None),
+            _BuildStepFactory(steps.ValidatePatch),
+            _BuildStepFactory(steps.PrintConfiguration),
+            _BuildStepFactory(steps.CheckOutSource),
+            _BuildStepFactory(steps.CheckOutSpecificRevision),
+            _BuildStepFactory(steps.ApplyPatch),
+            _BuildStepFactory(steps.KillOldProcesses),
+            _BuildStepFactory(steps.CompileWebKit),
+        ])
+
+    def test_tvos_build_factory(self):
+        factory = factories.iOSBuildFactory(platform='tvos-13', configuration='release', architectures=["arm64"])
+        self.assertBuildSteps(factory.steps, [
+            _BuildStepFactory(steps.ConfigureBuild, platform='tvos-13', configuration='release', architectures=["arm64"], buildOnly=False, triggers=None, remotes=None, additionalArguments=None),
+            _BuildStepFactory(steps.ValidatePatch),
+            _BuildStepFactory(steps.PrintConfiguration),
+            _BuildStepFactory(steps.CheckOutSource),
+            _BuildStepFactory(steps.CheckOutSpecificRevision),
+            _BuildStepFactory(steps.ApplyPatch),
+            _BuildStepFactory(steps.KillOldProcesses),
+            _BuildStepFactory(steps.CompileWebKit),
+        ])
+
     def test_jsc_mipsel_factory(self):
         factory = factories.JSCBuildFactory(platform='jsc', configuration='release', architectures=["mipsel"])
         self.assertBuildSteps(factory.steps, [

Modified: trunk/Tools/BuildSlaveSupport/ews-build/loadConfig.py (264195 => 264196)


--- trunk/Tools/BuildSlaveSupport/ews-build/loadConfig.py	2020-07-09 21:20:24 UTC (rev 264195)
+++ trunk/Tools/BuildSlaveSupport/ews-build/loadConfig.py	2020-07-09 21:23:48 UTC (rev 264196)
@@ -31,9 +31,9 @@
 from buildbot.util import identifiers as buildbot_identifiers
 
 from factories import (APITestsFactory, BindingsFactory, BuildFactory, CommitQueueFactory, Factory, GTKBuildFactory,
-                       GTKTestsFactory, JSCBuildFactory, JSCBuildAndTestsFactory, StyleFactory, TestFactory, WPEFactory, WebKitPerlFactory,
-                       WebKitPyFactory, WinCairoFactory, WindowsFactory, iOSBuildFactory, iOSTestsFactory,
-                       macOSBuildFactory, macOSWK1Factory, macOSWK2Factory, ServicesFactory, WatchListFactory)
+                       GTKTestsFactory, JSCBuildFactory, JSCBuildAndTestsFactory, StyleFactory, TestFactory, tvOSBuildFactory,
+                       WPEFactory, WebKitPerlFactory, WebKitPyFactory, WinCairoFactory, WindowsFactory, iOSBuildFactory, iOSTestsFactory,
+                       macOSBuildFactory, macOSWK1Factory, macOSWK2Factory, ServicesFactory, WatchListFactory, watchOSBuildFactory)
 
 BUILDER_NAME_LENGTH_LIMIT = 70
 STEP_NAME_LENGTH_LIMIT = 50

Modified: trunk/Tools/BuildSlaveSupport/ews-build/steps.py (264195 => 264196)


--- trunk/Tools/BuildSlaveSupport/ews-build/steps.py	2020-07-09 21:20:24 UTC (rev 264195)
+++ trunk/Tools/BuildSlaveSupport/ews-build/steps.py	2020-07-09 21:23:48 UTC (rev 264196)
@@ -1231,12 +1231,12 @@
 
 def appendCustomBuildFlags(step, platform, fullPlatform):
     # FIXME: Make a common 'supported platforms' list.
-    if platform not in ('gtk', 'wincairo', 'ios', 'jsc-only', 'wpe'):
+    if platform not in ('gtk', 'wincairo', 'ios', 'jsc-only', 'wpe', 'playstation', 'tvos', 'watchos'):
         return
-    if fullPlatform.startswith('ios-simulator'):
-        platform = 'ios-simulator'
-    elif platform == 'ios':
-        platform = 'device'
+    if 'simulator' in fullPlatform:
+        platform = platform + '-simulator'
+    elif platform in ['ios', 'tvos', 'watchos']:
+        platform = platform + '-device'
     step.setCommand(step.command + ['--' + platform])
 
 
@@ -1286,11 +1286,11 @@
 
         if additionalArguments:
             self.setCommand(self.command + additionalArguments)
-        if platform in ('mac', 'ios') and architecture:
+        if platform in ('mac', 'ios', 'tvos', 'watchos') and architecture:
             self.setCommand(self.command + ['ARCHS=' + architecture])
             if platform == 'ios':
                 self.setCommand(self.command + ['_ONLY_ACTIVE_ARCH_=NO'])
-        if platform in ('mac', 'ios') and buildOnly:
+        if platform in ('mac', 'ios', 'tvos', 'watchos') and buildOnly:
             # For build-only bots, the expectation is that tests will be run on separate machines,
             # so we need to package debug info as dSYMs. Only generating line tables makes
             # this much faster than full debug info, and crash logs still have line numbers.
@@ -2464,7 +2464,7 @@
         platform = self.getProperty('platform', '*')
         if platform != 'jsc-only':
             platform = platform.split('-')[0]
-        if platform in ('mac', 'ios', '*'):
+        if platform in ('mac', 'ios', 'tvos', 'watchos', '*'):
             command_list.extend(self.command_list_apple)
         elif platform in ('gtk', 'wpe', 'jsc-only'):
             command_list.extend(self.command_list_linux)

Modified: trunk/Tools/ChangeLog (264195 => 264196)


--- trunk/Tools/ChangeLog	2020-07-09 21:20:24 UTC (rev 264195)
+++ trunk/Tools/ChangeLog	2020-07-09 21:23:48 UTC (rev 264196)
@@ -1,3 +1,22 @@
+2020-07-09  Aakash Jain  <aakash_j...@apple.com>
+
+        Add EWS queues for tvOS and watchOS builders
+        https://bugs.webkit.org/show_bug.cgi?id=214147
+
+        Reviewed by Stephanie Lewis.
+
+        * BuildSlaveSupport/ews-app/ews/views/statusbubble.py: Added status-bubbles for tvos and watchos queues.
+        * BuildSlaveSupport/ews-build/config.json: Added watchos and tvos builders.
+        * BuildSlaveSupport/ews-build/factories.py:
+        (watchOSBuildFactory):
+        (tvOSBuildFactory):
+        * BuildSlaveSupport/ews-build/factories_unittest.py: Added unit-tests.
+        * BuildSlaveSupport/ews-build/loadConfig.py:
+        * BuildSlaveSupport/ews-build/steps.py:
+        (appendCustomBuildFlags): Added support for tvos and watchos.
+        (CompileWebKit.start): Ditto.
+        (PrintConfiguration.run): Ditto.
+
 2020-07-09  Tim Horton  <timothy_hor...@apple.com>
 
         Local internal builds fail on Apple Silicon (building yasm)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to