如何通知BuildBot步骤上一步失败?

时间:2018-07-12 17:00:08

标签: buildbot

在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()失败?

2 个答案:

答案 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

Reference