Diff
Modified: trunk/Tools/BuildSlaveSupport/ews-build/factories.py (265245 => 265246)
--- trunk/Tools/BuildSlaveSupport/ews-build/factories.py 2020-08-04 16:23:40 UTC (rev 265245)
+++ trunk/Tools/BuildSlaveSupport/ews-build/factories.py 2020-08-04 16:44:30 UTC (rev 265246)
@@ -97,8 +97,8 @@
class BuildFactory(Factory):
skipUpload = False
- def __init__(self, platform, configuration=None, architectures=None, triggers=None, additionalArguments=None, **kwargs):
- Factory.__init__(self, platform=platform, configuration=configuration, architectures=architectures, buildOnly=False, triggers=triggers, additionalArguments=additionalArguments)
+ def __init__(self, platform, configuration=None, architectures=None, triggers=None, additionalArguments=None, checkRelevance=False, **kwargs):
+ Factory.__init__(self, platform=platform, configuration=configuration, architectures=architectures, buildOnly=False, triggers=triggers, additionalArguments=additionalArguments, checkRelevance=checkRelevance)
self.addStep(KillOldProcesses())
if platform == 'gtk':
self.addStep(InstallGtkDependencies())
@@ -172,7 +172,10 @@
class macOSBuildOnlyFactory(BuildFactory):
skipUpload = True
+ def __init__(self, platform, configuration=None, architectures=None, triggers=None, additionalArguments=None, checkRelevance=True, **kwargs):
+ super(macOSBuildOnlyFactory, self).__init__(platform=platform, configuration=configuration, architectures=architectures, triggers=triggers, additionalArguments=additionalArguments, checkRelevance=checkRelevance, **kwargs)
+
class watchOSBuildFactory(BuildFactory):
skipUpload = True
Modified: trunk/Tools/BuildSlaveSupport/ews-build/factories_unittest.py (265245 => 265246)
--- trunk/Tools/BuildSlaveSupport/ews-build/factories_unittest.py 2020-08-04 16:23:40 UTC (rev 265245)
+++ trunk/Tools/BuildSlaveSupport/ews-build/factories_unittest.py 2020-08-04 16:44:30 UTC (rev 265246)
@@ -187,6 +187,7 @@
factory = factories.macOSBuildOnlyFactory(platform='mac-bigsur', configuration='release', architectures=["arm64"])
self.assertBuildSteps(factory.steps, [
_BuildStepFactory(steps.ConfigureBuild, platform='mac-bigsur', configuration='release', architectures=["arm64"], buildOnly=False, triggers=None, remotes=None, additionalArguments=None),
+ _BuildStepFactory(steps.CheckPatchRelevance),
_BuildStepFactory(steps.ValidatePatch),
_BuildStepFactory(steps.PrintConfiguration),
_BuildStepFactory(steps.CheckOutSource),
Modified: trunk/Tools/BuildSlaveSupport/ews-build/steps.py (265245 => 265246)
--- trunk/Tools/BuildSlaveSupport/ews-build/steps.py 2020-08-04 16:23:40 UTC (rev 265245)
+++ trunk/Tools/BuildSlaveSupport/ews-build/steps.py 2020-08-04 16:44:30 UTC (rev 265246)
@@ -296,6 +296,10 @@
'Tools',
]
+ big_sur_builder_paths = [
+ 'Source/',
+ 'Tools/',
+ ]
webkitpy_paths = [
'Tools/Scripts/webkitpy',
'Tools/Scripts/libraries',
@@ -303,6 +307,7 @@
group_to_paths_mapping = {
'bindings': bindings_paths,
+ 'bigsur-release-build': big_sur_builder_paths,
'services-ews': services_paths,
'jsc': jsc_paths,
'webkitpy': webkitpy_paths,
@@ -311,7 +316,7 @@
}
def _patch_is_relevant(self, patch, builderName):
- group = [group for group in self.group_to_paths_mapping.keys() if group in builderName.lower()]
+ group = [group for group in self.group_to_paths_mapping.keys() if group.lower() in builderName.lower()]
if not group:
# This builder doesn't have paths defined, all patches are relevant.
return True
Modified: trunk/Tools/BuildSlaveSupport/ews-build/steps_unittest.py (265245 => 265246)
--- trunk/Tools/BuildSlaveSupport/ews-build/steps_unittest.py 2020-08-04 16:23:40 UTC (rev 265245)
+++ trunk/Tools/BuildSlaveSupport/ews-build/steps_unittest.py 2020-08-04 16:44:30 UTC (rev 265246)
@@ -2297,6 +2297,13 @@
self.expectOutcome(result=SUCCESS, state_string='Patch contains relevant changes')
return self.runStep()
+ def test_relevant_bigsur_builder_patch(self):
+ CheckPatchRelevance._get_patch = lambda x: 'Sample patch; file: Source/xyz'
+ self.setupStep(CheckPatchRelevance())
+ self.setProperty('buildername', 'macOS-BigSur-Release-Build-EWS')
+ self.expectOutcome(result=SUCCESS, state_string='Patch contains relevant changes')
+ return self.runStep()
+
def test_relevant_windows_wk1_patch(self):
CheckPatchRelevance._get_patch = lambda x: 'Sample patch; file: Source/WebKitLegacy'
self.setupStep(CheckPatchRelevance())
@@ -2331,13 +2338,16 @@
rc = self.runStep()
return rc
- def test_non_relevant_patch(self):
+ def test_non_relevant_patch_on_various_queues(self):
CheckPatchRelevance._get_patch = lambda x: 'Sample patch'
- self.setupStep(CheckPatchRelevance())
- self.setProperty('buildername', 'JSC-Tests-EWS')
- self.setProperty('patch_id', '1234')
- self.expectOutcome(result=FAILURE, state_string='Patch doesn\'t have relevant changes')
- return self.runStep()
+ queues = ['Bindings-Tests-EWS', 'JSC-Tests-EWS', 'macOS-BigSur-Release-Build-EWS',
+ 'macOS-Mojave-Debug-WK1-Tests-EWS', 'Services-EWS', 'WebKitPy-Tests-EWS']
+ for queue in queues:
+ self.setupStep(CheckPatchRelevance())
+ self.setProperty('buildername', queue)
+ self.expectOutcome(result=FAILURE, state_string='Patch doesn\'t have relevant changes')
+ rc = self.runStep()
+ return rc
class TestArchiveBuiltProduct(BuildStepMixinAdditions, unittest.TestCase):
Modified: trunk/Tools/ChangeLog (265245 => 265246)
--- trunk/Tools/ChangeLog 2020-08-04 16:23:40 UTC (rev 265245)
+++ trunk/Tools/ChangeLog 2020-08-04 16:44:30 UTC (rev 265246)
@@ -1,3 +1,23 @@
+2020-08-04 Aakash Jain <aakash_j...@apple.com>
+
+ [ews] Apple Silicon builder should skip non-relevant patches
+ https://bugs.webkit.org/show_bug.cgi?id=215111
+
+ Reviewed by Jonathan Bedard.
+
+ * BuildSlaveSupport/ews-build/factories.py:
+ (BuildFactory.__init__): Added the checkRelevance parameter.
+ (macOSBuildOnlyFactory.__init__):
+ * BuildSlaveSupport/ews-build/factories_unittest.py:
+ (TestBuildFactory.test_macos_build_only_factory): Updated unit-test.
+ * BuildSlaveSupport/ews-build/steps.py:
+ (CheckPatchRelevance): Added patch relevance info for Big Sur.
+ (CheckPatchRelevance._patch_is_relevant):
+ * BuildSlaveSupport/ews-build/steps_unittest.py:
+ (TestCheckPatchRelevance.test_relevant_bigsur_builder_patch): Drive-by fix to make the comparision more robust.
+ (TestCheckPatchRelevance.test_non_relevant_patch_on_various_queues): Made the unit-test generic to cover multiple queues.
+ (TestCheckPatchRelevance.test_non_relevant_patch): Deleted.
+
2020-08-03 Wenson Hsieh <wenson_hs...@apple.com>
Allow -accessoryDone to blur the focused element on iPad when AutoFilling strong passwords