矩阵一共几个 job
(托管 CI 概念:matrix_count(系统, 版本) = 系统数 × 版本数(矩阵一共几个 job);triggered(事件, on) 判这个事件在不在触发列表里;job_can_start(job, 已完成) 判它依赖的 job 都完成了没。)
三个系统、两个 Python 版本,问矩阵一共几个 job:
def matrix_count(oses, pys):
"""矩阵构建:每个操作系统配每个 Python 版本各跑一个 job,一共几个 job。"""
return len(oses) * len(pys)
def triggered(event, on):
"""工作流声明在 on 这些事件上触发;event 这个事件来了会不会跑。"""
return event in on
def job_can_start(job, done):
"""job = (名字, [它 needs 的 job]);它依赖的都在 done 里才能开跑。"""
name, needs = job
return all(d in done for d in needs)
print(matrix_count(["linux", "mac", "win"], ["3.10", "3.11"]))
全部评论