跑完的一行小结
(本地 CI 脚本:ci_run(步骤) 按顺序跑、遇失败停,交回 (跑过几步, 退出码)(全过 0 否则 1);summary 交回一行小结:过的标步名、第一个失败标「×步名」、之后没跑的标「-步名」。)
同样三步,打印 summary 的那行小结:
def ci_run(steps):
"""本地 CI 脚本:steps 是 [(步名, 通过?)],按顺序跑、遇失败就停。交回 (跑过几步, 退出码)——全过 0,否则 1。"""
passed = 0
for name, ok in steps:
if not ok:
return passed, 1
passed += 1
return passed, 0
def summary(steps):
"""跑完的一行小结:过的标步名、第一个失败标 '×步名'、它之后没跑到的标 '-步名',用逗号连起来。"""
out = []
stopped = False
for name, ok in steps:
if stopped:
out.append("-" + name)
elif ok:
out.append(name)
else:
out.append("×" + name)
stopped = True
return ",".join(out)
print(summary([("build", True), ("test", False), ("lint", True)]))
全部评论