是否可以指示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和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 ),
你在steps.ShellCommand的构造函数中寻找flunkOnFailure=False
(默认为True)。见the doc concerning common steps parameters。