[ews-build] Separate queues for Builders and Testers - iOS
authoraakash_jain@apple.com <aakash_jain@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sun, 12 Aug 2018 04:13:52 +0000 (04:13 +0000)
committeraakash_jain@apple.com <aakash_jain@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sun, 12 Aug 2018 04:13:52 +0000 (04:13 +0000)
https://bugs.webkit.org/show_bug.cgi?id=188396

Reviewed by Lucas Forschler.

* BuildSlaveSupport/ews-build/config.json: Splitted iOS queues into builders and testers.
Also added ews121 and ews122 to match with current EWS configuration.
* BuildSlaveSupport/ews-build/factories.py:
(TestsFactory): Base classes for various Test factories.
(TestsFactory.getProduct): Download and extract the archive.

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

Tools/BuildSlaveSupport/ews-build/config.json
Tools/BuildSlaveSupport/ews-build/factories.py
Tools/ChangeLog

index e8b73a1..2f4d8f2 100644 (file)
       "platform": "mac-high-sierra"
     },
     {
+      "name": "ews121",
+      "platform": "ios-simulator-11"
+    },
+    {
+      "name": "ews122",
+      "platform": "ios-simulator-11"
+    },
+    {
       "name": "ews123",
       "platform": "ios-simulator-11"
     },
       "workernames": ["tanty-gtk-wk2-ews", "ltilve-gtk-wk2-ews"]
     },
     {
-      "name": "iOS-11-EWS",
-      "factory": "iOSFactory",
+      "name": "iOS-11-Build-EWS",
+      "factory": "iOSBuildFactory",
       "platform": "ios-11",
       "configuration": "release",
       "architectures": ["arm64"],
       "workernames": ["ews108", "ews109"]
     },
     {
-      "name": "iOS-11-Simulator-EWS",
-      "factory": "iOSSimulatorFactory",
+      "name": "iOS-11-Simulator-Build-EWS",
+      "factory": "iOSBuildFactory",
       "platform": "ios-simulator-11",
       "configuration": "release",
       "architectures": ["x86_64"],
-      "triggers": ["api-tests-ios-sim-ews"],
-      "workernames": ["ews123", "ews124", "ews125", "ews126"]
+      "triggers": ["api-tests-ios-sim-ews", "ios-11-sim-tests-ews"],
+      "workernames": ["ews121", "ews122", "ews123", "ews124", "ews125", "ews126"]
+    },
+    {
+      "name": "iOS-11-Simulator-Tests-EWS",
+      "factory": "iOSTestsFactory",
+      "platform": "ios-simulator-11",
+      "configuration": "release",
+      "architectures": ["x86_64"],
+      "workernames": ["ews121", "ews122", "ews123", "ews124", "ews125", "ews126"]
     },
     {
       "name": "macOS-Sierra-Release-WK1-EWS",
       "name": "try",
       "port": 5555,
       "builderNames": ["Style-EWS", "JSC-Tests-EWS", "macOS-Sierra-Release-WK1-EWS", "GTK-Webkit2-EWS", "macOS-Sierra-Release-WK2-EWS",
-                       "macOS-High-Sierra-Release-32bit-WK2-EWS", "WPE-EWS", "Windows-EWS", "iOS-11-EWS", "WinCairo-EWS", "iOS-11-Simulator-EWS",
+                       "macOS-High-Sierra-Release-32bit-WK2-EWS", "WPE-EWS", "Windows-EWS", "iOS-11-Build-EWS", "WinCairo-EWS", "iOS-11-Simulator-Build-EWS",
                        "WebKitPy-Tests-EWS", "WebKitPerl-Tests-EWS", "macOS-Sierra-Debug-WK1-EWS", "Bindings-Tests-EWS"]
     },
     {
       "type": "Triggerable",
+      "name": "ios-11-sim-tests-ews",
+      "builderNames": [
+        "iOS-11-Simulator-Tests-EWS"
+      ]
+    },
+    {
+      "type": "Triggerable",
       "name": "api-tests-ios-sim-ews",
       "builderNames": [
         "API-Tests-iOS-Simulator-EWS"
-      ]     
+      ]
     },
     {
       "type": "Triggerable",
       "name": "api-tests-mac-ews",
       "builderNames": [
         "API-Tests-macOS-EWS"
-      ]     
+      ]
     }
   ]
 }
index 2c2660f..75f7d8c 100644 (file)
@@ -85,6 +85,23 @@ class BuildFactory(Factory):
         }
 
 
+class TestFactory(Factory):
+    LayoutTestClass = None
+    APITestClass = None
+
+    def getProduct(self):
+        self.addStep(DownloadBuiltProduct())
+        self.addStep(ExtractBuiltProduct())
+
+    def __init__(self, platform, configuration=None, architectures=None, additionalArguments=None, **kwargs):
+        Factory.__init__(self, platform, configuration, architectures, False, additionalArguments)
+        self.getProduct()
+        if self.LayoutTestClass:
+            self.addStep(self.LayoutTestClass())
+        if self.APITestClass:
+            self.addStep(self.APITestClass())
+
+
 class JSCTestsFactory(Factory):
     def __init__(self, platform, configuration='release', architectures=None, additionalArguments=None, **kwargs):
         Factory.__init__(self, platform, configuration, architectures, False, additionalArguments)
@@ -98,29 +115,20 @@ class JSCTestsFactory(Factory):
         self.addStep(RunJavaScriptCoreTestsToT())
 
 
-class APITestsFactory(Factory):
-    def getProduct(self):
-        self.addStep(DownloadBuiltProduct())
-        self.addStep(ExtractBuiltProduct())
-
-    def __init__(self, platform, configuration=None, architectures=None, additionalArguments=None, **kwargs):
-        Factory.__init__(self, platform, configuration, architectures, False, additionalArguments)
-        self.getProduct()
-        self.addStep(RunAPITests())
+class APITestsFactory(TestFactory):
+    APITestClass = RunAPITests
 
 
 class GTKFactory(Factory):
     pass
 
 
-class iOSFactory(BuildFactory):
+class iOSBuildFactory(BuildFactory):
     pass
 
 
-class iOSSimulatorFactory(BuildFactory):
-    def __init__(self, platform, configuration=None, architectures=None, additionalArguments=None, triggers=None, **kwargs):
-        BuildFactory.__init__(self, platform, configuration, architectures, additionalArguments, triggers)
-        self.addStep(RunWebKitTests())
+class iOSTestsFactory(TestFactory):
+    LayoutTestClass = RunWebKitTests
 
 
 class MacWK1Factory(BuildFactory):
index cf2a4a5..bd75e20 100644 (file)
@@ -1,3 +1,16 @@
+2018-08-11  Aakash Jain  <aakash_jain@apple.com>
+
+        [ews-build] Separate queues for Builders and Testers - iOS
+        https://bugs.webkit.org/show_bug.cgi?id=188396
+
+        Reviewed by Lucas Forschler.
+
+        * BuildSlaveSupport/ews-build/config.json: Splitted iOS queues into builders and testers.
+        Also added ews121 and ews122 to match with current EWS configuration.
+        * BuildSlaveSupport/ews-build/factories.py:
+        (TestsFactory): Base classes for various Test factories.
+        (TestsFactory.getProduct): Download and extract the archive.
+
 2018-08-10  Daniel Bates  <dabates@apple.com>
 
         webkit-patch setup-git-clone should set Git core editor to commit-log-editor