[Buildbot] #3159: MultiTriggerStep
Buildbot trac
trac at buildbot.net
Sun Jan 18 16:04:20 UTC 2015
#3159: MultiTriggerStep
----------------------+-----------------------
Reporter: tardyp | Owner:
Type: undecided | Status: new
Priority: major | Milestone: undecided
Version: 0.8.10 | Keywords:
----------------------+-----------------------
Based on discussion on https://github.com/buildbot/buildbot/pull/1468
New step: MultipleTrigger. We can start with clean API
Takes a list of TriggerArgs, similar to ShellSequence
.. py:class:: MultipleTrigger(triggers=[])
.. py:class:: TriggerArg( schedulerNames=[],
sourceStamps=None, updateSourceStamp=None, alwaysUseLatest=False,
waitForFinish=False, flunkOnFailure=True,
warnOnFailure=False,
set_properties={},
parent_relationship="triggered from")
Meaning of args is as defined in legacy Trigger step doc
flunkOnFailure, warnOnFailure defines the final status of trigger step
given result of buildrequest:
triggeredBuildStatus ignored in case of waitForFinished=False or
flunkOnFailure==warnOnFailure==False
if flunkOnFailure=True: finalStatus = worst_status(finalStatus,
triggeredBuildStatus)
elseif warnOnFailure=True: finalStatus = worst_status(finalStatus, WARNING
if triggeredBuildStatus!=SUCCESS else SUCCESS)
.. py:class:: MultipleTrigger(triggers=[])
‘triggers’ argument is renderable, and arguments inside TriggerArgs are
also renderable, so we can generate the list dynamically with
rendereables.
However it is not always practical or maintainable to describe complex
filtering using renderable. So a method can be overriden:
def getTriggers(self):
“””returns the list of TriggerArgs via deferred”””
return defer.succeed(self.triggers)
self is ref to the BuildStep can be used to access properties, previous
builds status, parent builds, whatever is needed.
No other API should be needed for the Trigger usecases:
no PreExecute/PostExecute/OverrideResults => They encourage too much hacks
--
Ticket URL: <http://trac.buildbot.net/ticket/3159>
Buildbot <http://buildbot.net/>
Buildbot: build/test automation
More information about the bugs
mailing list