Modified: trunk/Tools/BuildSlaveSupport/ews-build/factories.py (254869 => 254870)
--- trunk/Tools/BuildSlaveSupport/ews-build/factories.py 2020-01-21 19:48:05 UTC (rev 254869)
+++ trunk/Tools/BuildSlaveSupport/ews-build/factories.py 2020-01-21 20:05:49 UTC (rev 254870)
@@ -1,4 +1,4 @@
-# Copyright (C) 2018-2019 Apple Inc. All rights reserved.
+# Copyright (C) 2018-2020 Apple Inc. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
@@ -33,12 +33,12 @@
class Factory(factory.BuildFactory):
- def __init__(self, platform, configuration=None, architectures=None, buildOnly=True, triggers=None, remotes=None, additionalArguments=None, checkRelevance=False, **kwargs):
+ def __init__(self, platform, configuration=None, architectures=None, buildOnly=True, triggers=None, remotes=None, additionalArguments=None, checkRelevance=False, verifycqplus=False, **kwargs):
factory.BuildFactory.__init__(self)
self.addStep(ConfigureBuild(platform=platform, configuration=configuration, architectures=architectures, buildOnly=buildOnly, triggers=triggers, remotes=remotes, additionalArguments=additionalArguments))
if checkRelevance:
self.addStep(CheckPatchRelevance())
- self.addStep(ValidatePatch())
+ self.addStep(ValidatePatch(verifycqplus=verifycqplus))
self.addStep(PrintConfiguration())
self.addStep(CheckOutSource())
# CheckOutSource step pulls the latest revision, since we use alwaysUseLatest=True. Without alwaysUseLatest Buildbot will
@@ -191,9 +191,9 @@
class CommitQueueFactory(Factory):
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)
+ Factory.__init__(self, platform=platform, configuration=configuration, architectures=architectures, buildOnly=False, triggers=triggers, additionalArguments=additionalArguments, verifycqplus=True)
self.addStep(KillOldProcesses())
self.addStep(CompileWebKit(skipUpload=True))
self.addStep(KillOldProcesses())
- self.addStep(ValidatePatch(addURLs=False))
+ self.addStep(ValidatePatch(addURLs=False, verifycqplus=True))
self.addStep(RunWebKit1Tests())
Modified: trunk/Tools/BuildSlaveSupport/ews-build/factories_unittest.py (254869 => 254870)
--- trunk/Tools/BuildSlaveSupport/ews-build/factories_unittest.py 2020-01-21 19:48:05 UTC (rev 254869)
+++ trunk/Tools/BuildSlaveSupport/ews-build/factories_unittest.py 2020-01-21 20:05:49 UTC (rev 254870)
@@ -51,7 +51,7 @@
factory = factories.Factory(platform='ios-simulator-13', configuration='release', architectures='arm64')
self.assertBuildSteps(factory.steps, [
_BuildStepFactory(steps.ConfigureBuild, platform='ios-simulator-13', configuration='release', architectures='arm64', buildOnly=True, triggers=None, remotes=None, additionalArguments=None),
- _BuildStepFactory(steps.ValidatePatch),
+ _BuildStepFactory(steps.ValidatePatch, verifycqplus=False),
_BuildStepFactory(steps.PrintConfiguration),
_BuildStepFactory(steps.CheckOutSource),
_BuildStepFactory(steps.CheckOutSpecificRevision),
@@ -63,7 +63,7 @@
self.assertBuildSteps(factory.steps, [
_BuildStepFactory(steps.ConfigureBuild, platform='ios-simulator-13', configuration='release', architectures='arm64', buildOnly=True, triggers=None, remotes=None, additionalArguments=None),
_BuildStepFactory(steps.CheckPatchRelevance),
- _BuildStepFactory(steps.ValidatePatch),
+ _BuildStepFactory(steps.ValidatePatch, verifycqplus=False),
_BuildStepFactory(steps.PrintConfiguration),
_BuildStepFactory(steps.CheckOutSource),
_BuildStepFactory(steps.CheckOutSpecificRevision),
@@ -104,7 +104,7 @@
self.assertBuildSteps(factory.steps, [
_BuildStepFactory(steps.ConfigureBuild, platform='*', configuration=None, architectures=None, buildOnly=False, triggers=None, remotes=None, additionalArguments=None),
_BuildStepFactory(steps.CheckPatchRelevance),
- _BuildStepFactory(steps.ValidatePatch),
+ _BuildStepFactory(steps.ValidatePatch, verifycqplus=False),
_BuildStepFactory(steps.PrintConfiguration),
_BuildStepFactory(steps.CheckOutSource),
_BuildStepFactory(steps.CheckOutSpecificRevision),
@@ -116,7 +116,7 @@
factory = factories.WebKitPerlFactory(platform='*', configuration=None, architectures=None)
self.assertBuildSteps(factory.steps, [
_BuildStepFactory(steps.ConfigureBuild, platform='*', configuration=None, architectures=None, buildOnly=False, triggers=None, remotes=None, additionalArguments=None),
- _BuildStepFactory(steps.ValidatePatch),
+ _BuildStepFactory(steps.ValidatePatch, verifycqplus=False),
_BuildStepFactory(steps.PrintConfiguration),
_BuildStepFactory(steps.CheckOutSource),
_BuildStepFactory(steps.CheckOutSpecificRevision),
@@ -129,7 +129,7 @@
self.assertBuildSteps(factory.steps, [
_BuildStepFactory(steps.ConfigureBuild, platform='*', configuration=None, architectures=None, buildOnly=False, triggers=None, remotes=None, additionalArguments=None),
_BuildStepFactory(steps.CheckPatchRelevance),
- _BuildStepFactory(steps.ValidatePatch),
+ _BuildStepFactory(steps.ValidatePatch, verifycqplus=False),
_BuildStepFactory(steps.PrintConfiguration),
_BuildStepFactory(steps.CheckOutSource),
_BuildStepFactory(steps.CheckOutSpecificRevision),
@@ -143,7 +143,7 @@
self.assertBuildSteps(factory.steps, [
_BuildStepFactory(steps.ConfigureBuild, platform='*', configuration=None, architectures=None, buildOnly=False, triggers=None, remotes=None, additionalArguments=None),
_BuildStepFactory(steps.CheckPatchRelevance),
- _BuildStepFactory(steps.ValidatePatch),
+ _BuildStepFactory(steps.ValidatePatch, verifycqplus=False),
_BuildStepFactory(steps.PrintConfiguration),
_BuildStepFactory(steps.CheckOutSource),
_BuildStepFactory(steps.CheckOutSpecificRevision),
Modified: trunk/Tools/BuildSlaveSupport/ews-build/steps.py (254869 => 254870)
--- trunk/Tools/BuildSlaveSupport/ews-build/steps.py 2020-01-21 19:48:05 UTC (rev 254869)
+++ trunk/Tools/BuildSlaveSupport/ews-build/steps.py 2020-01-21 20:05:49 UTC (rev 254870)
@@ -1,4 +1,4 @@
-# Copyright (C) 2018-2019 Apple Inc. All rights reserved.
+# Copyright (C) 2018-2020 Apple Inc. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
@@ -329,10 +329,11 @@
bug_open_statuses = ['UNCONFIRMED', 'NEW', 'ASSIGNED', 'REOPENED']
bug_closed_statuses = ['RESOLVED', 'VERIFIED', 'CLOSED']
- def __init__(self, verifyObsolete=True, verifyBugClosed=True, verifyReviewDenied=True, addURLs=True, **kwargs):
+ def __init__(self, verifyObsolete=True, verifyBugClosed=True, verifyReviewDenied=True, addURLs=True, verifycqplus=False):
self.verifyObsolete = verifyObsolete
self.verifyBugClosed = verifyBugClosed
self.verifyReviewDenied = verifyReviewDenied
+ self.verifycqplus = verifycqplus
self.addURLs = addURLs
buildstep.BuildStep.__init__(self)
@@ -412,6 +413,17 @@
return 1
return 0
+ def _is_patch_cq_plus(self, patch_id):
+ patch_json = self.get_patch_json(patch_id)
+ if not patch_json:
+ self._addToLog('stdio', 'Unable to fetch patch {}.\n'.format(patch_id))
+ return -1
+
+ for flag in patch_json.get('flags', []):
+ if flag.get('name') == 'commit-queue' and flag.get('status') == '+':
+ return 1
+ return 0
+
def _is_bug_closed(self, bug_id):
if not bug_id:
self._addToLog('stdio', 'Skipping bug status validation since bug id is None.\n')
@@ -466,6 +478,11 @@
self.skip_build('Patch {} is marked r-'.format(patch_id))
return None
+ cq_plus = self._is_patch_cq_plus(patch_id) if self.verifycqplus else 1
+ if cq_plus != 1:
+ self.skip_build('Patch {} is not marked cq+.'.format(patch_id))
+ return None
+
if obsolete == -1 or review_denied == -1 or bug_closed == -1:
self.finished(WARNINGS)
self.setProperty('validated', False)
@@ -477,6 +494,8 @@
self._addToLog('stdio', 'Patch is not obsolete.\n')
if self.verifyReviewDenied:
self._addToLog('stdio', 'Patch is not marked r-.\n')
+ if self.verifycqplus:
+ self._addToLog('stdio', 'Patch is marked cq+.\n')
self.finished(SUCCESS)
return None