BuildBot:允许失败

问题描述 投票:0回答:1

是否可以指示BuildBot步骤是否为“允许失败”,即即使此特定步骤失败,也不会将构建标记为失败?

我找到了一个构建步骤的warnOnFailure参数(更喜欢“ignoreOnFailure”),但它似乎不适用于我的BuildBot(2.1.0,twisted 18.9.0)。即使我将其设置为True,整体构建仍然标记为失败。

我已经使用ShellCommand的decodeRC参数取得了成功,但后来我失去了步骤失败的迹象,因此它是次优解决方案。

这就是我生成步骤的方法:

self.build.addStepsAfterCurrentStep([
    steps.ShellCommand(name=stage + ' ' + ('allowed failure' if allowed_failure(stage) else ''),
                       logEnviron=False,
                       warnOnFailure=allowed_failure(stage),  # This one would be desired but doesn't seem to work
                       command=['tox', '-e', stage],
                       env={ 'PYTHONPATH': '.' },
                       decodeRC={0:SUCCESS,1:SUCCESS})  # This one works, but marks the step as SUCCESSFUL, which I don't want
    for stage in self.extract_stages(self.observer.getStdout())
])

请注意内联评论。

是否有更明显的方法来设置它?

buildbot
1个回答
1
投票

我和Buildbot有类似的问题。注意我使用返回代码1和2作为警告

  # check branch exists, only warning if it doesn't 
    SetPropertyFromCommand(name='check branch exists',
    command=['git','show-ref',util.Interpolate('origin/%(prop:branch)s')], 
    warnOnFailure=True, 
    workdir = util.Interpolate('build/%(prop:repo_name)s'),
    doStepIf= CheckBranchProperty, 
    decodeRC={0:SUCCESS,1:WARNINGS,2:WARNINGS},
    extract_fn = proc_show_ref_results ),   

0
投票

你在steps.ShellCommand的构造函数中寻找flunkOnFailure=False(默认为True)。见the doc concerning common steps parameters

© www.soinside.com 2019 - 2024. All rights reserved.