任务转换¶
注意
这些转换目前由独立的 Taskgraph 复制,可能会在稍后日期重构/移除。
每种类型都需要创建任务,并且所有这些任务都有一些共同点。它们都在一小组工作程序实现中运行,每个实现都有其自身的特性。并且它们都以类似的方式向 TreeHerder 报告。
中的转换taskcluster/gecko_taskgraph/transforms/task.py
实现了此通用功能。它们期望一个“任务描述”,并生成一个任务定义。任务描述的模式定义在task.py
顶部,并带有丰富的注释。现在就去阅读它吧!
通常,任务描述转换处理所有 Gecko 任务共有的功能。虽然模式是权威参考,但功能包括
TreeHerder 元数据
构建索引路由
有关此任务应在其上运行的项目的信息
优化
基于项目的
expires-after
和deadline-after
的默认值工作程序配置
任务描述中特定于工作程序实现的部分被隔离在一个task_description['worker']
对象中,该对象具有一个implementation
属性,用于命名工作程序实现。每个工作程序实现都有其自己的模式部分,描述了它期望的字段。因此,生成任务描述的转换必须知道要使用的工作程序实现,但无需了解其有效负载格式的细节。
该task.py
文件还包含一个字典,使用内部组名称列表将 treeherder 组映射到组名称。如有必要,请随时在此列表中添加其他组。