任务转换

注意

这些转换目前由独立的 Taskgraph 复制,可能会在稍后日期重构/移除。

每种类型都需要创建任务,并且所有这些任务都有一些共同点。它们都在一小组工作程序实现中运行,每个实现都有其自身的特性。并且它们都以类似的方式向 TreeHerder 报告。

中的转换taskcluster/gecko_taskgraph/transforms/task.py实现了此通用功能。它们期望一个“任务描述”,并生成一个任务定义。任务描述的模式定义在task.py顶部,并带有丰富的注释。现在就去阅读它吧!

通常,任务描述转换处理所有 Gecko 任务共有的功能。虽然模式是权威参考,但功能包括

  • TreeHerder 元数据

  • 构建索引路由

  • 有关此任务应在其上运行的项目的信息

  • 优化

  • 基于项目的expires-afterdeadline-after的默认值

  • 工作程序配置

任务描述中特定于工作程序实现的部分被隔离在一个task_description['worker']对象中,该对象具有一个implementation属性,用于命名工作程序实现。每个工作程序实现都有其自己的模式部分,描述了它期望的字段。因此,生成任务描述的转换必须知道要使用的工作程序实现,但无需了解其有效负载格式的细节。

task.py文件还包含一个字典,使用内部组名称列表将 treeherder 组映射到组名称。如有必要,请随时在此列表中添加其他组。