矩阵一共几个 job

👁️ 3 人浏览 💬 0 人评论 ❤️ 添加收藏

(托管 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"]))
提交你的答案
请登录后提交答案。
去登录
代码编辑器
Ctrl + Enter 运行
本次输入:
输出:

                        
👩‍🏫
AI
💬 题目评论

全部评论