私はいくつかのステップを持つbuildbotビルドファクトリーを持っています。ステップの 1 つが定期的にタイムアウトし、buildbot が例外をスローして終了します。ただし、この場合でも、生成されたログを保存できるようにしたいと考えています。1 つのオプションは、前のステップがタイムアウトした場合にのみ実行されるステップを追加することです。使用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]