我有一个带有几个步骤的 buildbot 构建工厂。其中一个步骤会定期超时,导致 buildbot 抛出异常并退出。但是,即使在这种情况下,我也希望能够存储生成的日志。一种选择是添加一个仅在上一步超时时才运行的步骤。使用doStepIf
是可能的。但是,没有办法看到状态,因为TIMEOUT
只有SUCCESS, WARNINGS, FAILURE, or SKIPPED
. 解决此问题的最佳方法是什么?
函数示例doStepIf
:
from buildbot.status.builder import Results, SUCCESS
def doStepIf(step):
allSteps = step.build.getStatus().getSteps()
lastStep = allSteps[-1]
rc = lastStep.getResults()[0] # returns a tuple of (rc, string)
# if the rc == SUCCESS then don't continue, since we don't want to run this step
return Results[rc] == Results[SUCCESS]