在BuildBot中,如果上一步失败,我希望不执行该步骤。
例如,在下面的类中,如果test_package()
失败,我不希望install()
执行。
class Sage(Project):
distros = [RHEL7()]
tests = [SageTest()]
def test_package(self, f, dist):
HaltOnFailure=True
set_properties = {
'package_file_name': util.Property('package_file_name'),
'master_dir': dist.master_dir()
}
if isinstance(dist, RHEL7):
f.addStep(steps.Trigger(
schedulerNames=['sage-rhel7-sage-test'],
doStepIf=partial(do_step, 'sage-rhel7-sage-test'),
waitForFinish=True,
set_properties=set_properties))
def install(self, f, dist):
super(Sage, self).install(f, dist)
如何通知install()test_package()失败?
答案 0 :(得分:1)
尝试使用一些常用步骤参数:2.5.9.1. Common Parameters
例如, haltOnFailure :
++
您也可以根据自己的目的尝试doStepIf,hideStepIf,alwaysRun,haltOnFailure,flunkOnWarnings,flunkOnFailure,warnOnWarnings,warnOnFailure的各种组合
但是也许可以重构代码以在单独的步骤中使用安装功能并构建您的解决方案,这是具有一定条件的一系列步骤。
答案 1 :(得分:-1)
BuildStep是所有构建步骤的超类,因此followig kwargs可用于所有子类
name, description, descriptionDone, descriptionSuffix, locks, haltOnFailure,
flunkOnWarnings, flunkOnFailure, warnOnWarnings, warnOnFailure, alwaysRun,
progressMetrics, useProgress, doStepIf, hideStepIf