Title: [265958] trunk/Tools
Revision
265958
Author
dp...@igalia.com
Date
2020-08-20 12:57:30 -0700 (Thu, 20 Aug 2020)

Log Message

[ews] Split JSC MIPS queue into separate builder and tester queue
https://bugs.webkit.org/show_bug.cgi?id=212009

Reviewed by Aakash Jain.

Currently there are two EWS JSC MIPS configured, one that runs as
buildAndTest and another one that runs as buildOnly.

This patch changes the buildAndTest bot to test, and makes the
bot fetch the binary product produced by the buildOnly bot.

* BuildSlaveSupport/ews-build/config.json:
* BuildSlaveSupport/ews-build/factories.py:
(JSCTestsFactory):
(JSCTestsFactory.__init__):
* BuildSlaveSupport/ews-build/factories_unittest.py:
(TestLayoutTestsFactory.test_gtk_factory):
(TestJSCBuildFactory):
(TestJSCBuildFactory.test_jsc_mipsel_factory):
(TestJSCBuildFactory.test_jsc_armv7_factory):
(TestJSCBuildAndTestsFactory):
(TestJSCBuildAndTestsFactory.test_jsc_mipsel_factory):
(TestJSCBuildAndTestsFactory.test_jsc_armv7_factory):
(TestJSCTestsFactory):
(TestJSCTestsFactory.test_jsc_mipsel_factory):
(TestJSCTestsFactory.test_jsc_armv7_factory):
* BuildSlaveSupport/ews-build/loadConfig.py:

Modified Paths

Diff

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


--- trunk/Tools/BuildSlaveSupport/ews-build/config.json	2020-08-20 19:32:03 UTC (rev 265957)
+++ trunk/Tools/BuildSlaveSupport/ews-build/config.json	2020-08-20 19:57:30 UTC (rev 265958)
@@ -531,19 +531,20 @@
     },
     {
       "name": "JSC-MIPSEL-32bits-Build-EWS",
-      "shortname": "jsc-build-mips",
+      "shortname": "jsc-mips",
       "icon": "buildOnly",
       "factory": "JSCBuildFactory",
       "platform": "jsc-only",
       "configuration": "release",
       "architectures": ["mipsel"],
+      "triggers": ["jsc-tests-mipsel-tests-ews"],
       "workernames": ["igalia-jsc32-mipsel-ews-03"]
     },
 	{
-      "name": "JSC-MIPSEL-32bits-EWS",
-      "shortname": "jsc-mips",
+      "name": "JSC-MIPSEL-32bits-Tests-EWS",
+      "shortname": "jsc-mips-tests",
       "icon": "buildAndTest",
-      "factory": "JSCBuildAndTestsFactory",
+      "factory": "JSCTestsFactory",
       "platform": "jsc-only",
       "configuration": "release",
       "architectures": ["mipsel"],
@@ -659,7 +660,7 @@
       "port": 5555,
       "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",
+                       "JSC-Tests-EWS",
                        "macOS-Apple-Silicon-Big-Sur-Release-Build-EWS", "macOS-Mojave-Debug-Build-EWS", "macOS-Mojave-Release-Build-EWS",
                        "Services-EWS", "Style-EWS",
                        "tvOS-13-Build-EWS", "tvOS-13-Simulator-Build-EWS", "watchOS-6-Build-EWS", "watchOS-6-Simulator-Build-EWS",
@@ -727,6 +728,13 @@
       "builderNames": [
         "GTK-WK2-Tests-EWS"
       ]
+    },
+    {
+      "type": "Triggerable",
+      "name": "jsc-tests-mipsel-tests-ews",
+      "builderNames": [
+        "JSC-MIPSEL-32bits-Tests-EWS"
+      ]
     }
   ]
 }

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


--- trunk/Tools/BuildSlaveSupport/ews-build/factories.py	2020-08-20 19:32:03 UTC (rev 265957)
+++ trunk/Tools/BuildSlaveSupport/ews-build/factories.py	2020-08-20 19:57:30 UTC (rev 265958)
@@ -133,8 +133,8 @@
 
 
 class JSCBuildFactory(Factory):
-    def __init__(self, platform, configuration='release', architectures=None, remotes=None, additionalArguments=None, **kwargs):
-        Factory.__init__(self, platform=platform, configuration=configuration, architectures=architectures, buildOnly=False, remotes=remotes, additionalArguments=additionalArguments, checkRelevance=True)
+    def __init__(self, platform, configuration='release', architectures=None, triggers=None, remotes=None, additionalArguments=None, **kwargs):
+        Factory.__init__(self, platform=platform, configuration=configuration, architectures=architectures, buildOnly=False, triggers=triggers, remotes=remotes, additionalArguments=additionalArguments, checkRelevance=True)
         self.addStep(KillOldProcesses())
         self.addStep(CompileJSC())
 
@@ -148,6 +148,15 @@
             self.addStep(RunJavaScriptCoreTests())
 
 
+class JSCTestsFactory(Factory):
+    def __init__(self, platform, configuration='release', architectures=None, remotes=None, additionalArguments=None, **kwargs):
+        Factory.__init__(self, platform=platform, configuration=configuration, architectures=architectures, buildOnly=False, remotes=remotes, additionalArguments=additionalArguments, checkRelevance=True)
+        self.addStep(DownloadBuiltProduct())
+        self.addStep(ExtractBuiltProduct())
+        self.addStep(KillOldProcesses())
+        self.addStep(RunJavaScriptCoreTests())
+
+
 class APITestsFactory(TestFactory):
     APITestClass = RunAPITests
 

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


--- trunk/Tools/BuildSlaveSupport/ews-build/factories_unittest.py	2020-08-20 19:32:03 UTC (rev 265957)
+++ trunk/Tools/BuildSlaveSupport/ews-build/factories_unittest.py	2020-08-20 19:57:30 UTC (rev 265958)
@@ -458,3 +458,97 @@
             _BuildStepFactory(steps.RunWebKitTests),
             _BuildStepFactory(steps.SetBuildSummary),
         ])
+
+
+class TestJSCBuildFactory(TestCase):
+    def test_jsc_mipsel_factory(self):
+        factory = factories.JSCBuildFactory(platform='jsc', configuration='release', architectures=["mipsel"])
+        self.assertBuildSteps(factory.steps, [
+            _BuildStepFactory(steps.ConfigureBuild, platform='jsc', configuration='release', architectures=["mipsel"], buildOnly=False, triggers=None, remotes=None, additionalArguments=None),
+            _BuildStepFactory(steps.CheckPatchRelevance),
+            _BuildStepFactory(steps.ValidatePatch),
+            _BuildStepFactory(steps.PrintConfiguration),
+            _BuildStepFactory(steps.CheckOutSource),
+            _BuildStepFactory(steps.CheckOutSpecificRevision),
+            _BuildStepFactory(steps.ApplyPatch),
+            _BuildStepFactory(steps.KillOldProcesses),
+            _BuildStepFactory(steps.CompileJSC),
+        ])
+
+    def test_jsc_armv7_factory(self):
+        factory = factories.JSCBuildFactory(platform='jsc', configuration='release', architectures=["armv7"])
+        self.assertBuildSteps(factory.steps, [
+            _BuildStepFactory(steps.ConfigureBuild, platform='jsc', configuration='release', architectures=["armv7"], buildOnly=False, triggers=None, remotes=None, additionalArguments=None),
+            _BuildStepFactory(steps.CheckPatchRelevance),
+            _BuildStepFactory(steps.ValidatePatch),
+            _BuildStepFactory(steps.PrintConfiguration),
+            _BuildStepFactory(steps.CheckOutSource),
+            _BuildStepFactory(steps.CheckOutSpecificRevision),
+            _BuildStepFactory(steps.ApplyPatch),
+            _BuildStepFactory(steps.KillOldProcesses),
+            _BuildStepFactory(steps.CompileJSC),
+        ])
+
+
+class TestJSCBuildAndTestsFactory(TestCase):
+    def test_jsc_mipsel_factory(self):
+        factory = factories.JSCBuildFactory(platform='jsc', configuration='release', architectures=["mipsel"])
+        self.assertBuildSteps(factory.steps, [
+            _BuildStepFactory(steps.ConfigureBuild, platform='jsc', configuration='release', architectures=["mipsel"], buildOnly=False, triggers=None, remotes=None, additionalArguments=None),
+            _BuildStepFactory(steps.CheckPatchRelevance),
+            _BuildStepFactory(steps.ValidatePatch),
+            _BuildStepFactory(steps.PrintConfiguration),
+            _BuildStepFactory(steps.CheckOutSource),
+            _BuildStepFactory(steps.CheckOutSpecificRevision),
+            _BuildStepFactory(steps.ApplyPatch),
+            _BuildStepFactory(steps.KillOldProcesses),
+            _BuildStepFactory(steps.CompileJSC),
+        ])
+
+    def test_jsc_armv7_factory(self):
+        factory = factories.JSCBuildFactory(platform='jsc', configuration='release', architectures=["armv7"])
+        self.assertBuildSteps(factory.steps, [
+            _BuildStepFactory(steps.ConfigureBuild, platform='jsc', configuration='release', architectures=["armv7"], buildOnly=False, triggers=None, remotes=None, additionalArguments=None),
+            _BuildStepFactory(steps.CheckPatchRelevance),
+            _BuildStepFactory(steps.ValidatePatch),
+            _BuildStepFactory(steps.PrintConfiguration),
+            _BuildStepFactory(steps.CheckOutSource),
+            _BuildStepFactory(steps.CheckOutSpecificRevision),
+            _BuildStepFactory(steps.ApplyPatch),
+            _BuildStepFactory(steps.KillOldProcesses),
+            _BuildStepFactory(steps.CompileJSC),
+        ])
+
+
+class TestJSCTestsFactory(TestCase):
+    def test_jsc_mipsel_factory(self):
+        factory = factories.JSCTestsFactory(platform='jsc', configuration='release', architectures=["mipsel"])
+        self.assertBuildSteps(factory.steps, [
+            _BuildStepFactory(steps.ConfigureBuild, platform='jsc', configuration='release', architectures=["mipsel"], buildOnly=False, triggers=None, remotes=None, additionalArguments=None),
+            _BuildStepFactory(steps.CheckPatchRelevance),
+            _BuildStepFactory(steps.ValidatePatch),
+            _BuildStepFactory(steps.PrintConfiguration),
+            _BuildStepFactory(steps.CheckOutSource),
+            _BuildStepFactory(steps.CheckOutSpecificRevision),
+            _BuildStepFactory(steps.ApplyPatch),
+            _BuildStepFactory(steps.DownloadBuiltProduct),
+            _BuildStepFactory(steps.ExtractBuiltProduct),
+            _BuildStepFactory(steps.KillOldProcesses),
+            _BuildStepFactory(steps.RunJavaScriptCoreTests),
+        ])
+
+    def test_jsc_armv7_factory(self):
+        factory = factories.JSCTestsFactory(platform='jsc', configuration='release', architectures=["armv7"])
+        self.assertBuildSteps(factory.steps, [
+            _BuildStepFactory(steps.ConfigureBuild, platform='jsc', configuration='release', architectures=["armv7"], buildOnly=False, triggers=None, remotes=None, additionalArguments=None),
+            _BuildStepFactory(steps.CheckPatchRelevance),
+            _BuildStepFactory(steps.ValidatePatch),
+            _BuildStepFactory(steps.PrintConfiguration),
+            _BuildStepFactory(steps.CheckOutSource),
+            _BuildStepFactory(steps.CheckOutSpecificRevision),
+            _BuildStepFactory(steps.ApplyPatch),
+            _BuildStepFactory(steps.DownloadBuiltProduct),
+            _BuildStepFactory(steps.ExtractBuiltProduct),
+            _BuildStepFactory(steps.KillOldProcesses),
+            _BuildStepFactory(steps.RunJavaScriptCoreTests),
+        ])

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


--- trunk/Tools/BuildSlaveSupport/ews-build/loadConfig.py	2020-08-20 19:32:03 UTC (rev 265957)
+++ trunk/Tools/BuildSlaveSupport/ews-build/loadConfig.py	2020-08-20 19:57:30 UTC (rev 265958)
@@ -31,7 +31,7 @@
 from buildbot.util import identifiers as buildbot_identifiers
 
 from factories import (APITestsFactory, BindingsFactory, BuildFactory, CommitQueueFactory, Factory, GTKBuildFactory,
-                       GTKTestsFactory, JSCBuildFactory, JSCBuildAndTestsFactory, StyleFactory, TestFactory, tvOSBuildFactory,
+                       GTKTestsFactory, JSCBuildFactory, JSCBuildAndTestsFactory, JSCTestsFactory, StyleFactory, TestFactory, tvOSBuildFactory,
                        WPEFactory, WebKitPerlFactory, WebKitPyFactory, WinCairoFactory, WindowsFactory, iOSBuildFactory, iOSEmbeddedBuildFactory, iOSTestsFactory,
                        macOSBuildFactory, macOSBuildOnlyFactory, macOSWK1Factory, macOSWK2Factory, ServicesFactory, WatchListFactory, watchOSBuildFactory)
 

Modified: trunk/Tools/ChangeLog (265957 => 265958)


--- trunk/Tools/ChangeLog	2020-08-20 19:32:03 UTC (rev 265957)
+++ trunk/Tools/ChangeLog	2020-08-20 19:57:30 UTC (rev 265958)
@@ -1,3 +1,33 @@
+2020-08-20  Diego Pino Garcia  <dp...@igalia.com>
+
+        [ews] Split JSC MIPS queue into separate builder and tester queue
+        https://bugs.webkit.org/show_bug.cgi?id=212009
+
+        Reviewed by Aakash Jain.
+
+        Currently there are two EWS JSC MIPS configured, one that runs as
+        buildAndTest and another one that runs as buildOnly.
+
+        This patch changes the buildAndTest bot to test, and makes the
+        bot fetch the binary product produced by the buildOnly bot.
+
+        * BuildSlaveSupport/ews-build/config.json:
+        * BuildSlaveSupport/ews-build/factories.py:
+        (JSCTestsFactory):
+        (JSCTestsFactory.__init__):
+        * BuildSlaveSupport/ews-build/factories_unittest.py:
+        (TestLayoutTestsFactory.test_gtk_factory):
+        (TestJSCBuildFactory):
+        (TestJSCBuildFactory.test_jsc_mipsel_factory):
+        (TestJSCBuildFactory.test_jsc_armv7_factory):
+        (TestJSCBuildAndTestsFactory):
+        (TestJSCBuildAndTestsFactory.test_jsc_mipsel_factory):
+        (TestJSCBuildAndTestsFactory.test_jsc_armv7_factory):
+        (TestJSCTestsFactory):
+        (TestJSCTestsFactory.test_jsc_mipsel_factory):
+        (TestJSCTestsFactory.test_jsc_armv7_factory):
+        * BuildSlaveSupport/ews-build/loadConfig.py:
+
 2020-08-20  Jonathan Bedard  <jbed...@apple.com>
 
         [webkitcorepy] Add subprocess_utils.run
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to