gecko_taskgraph.transforms.job 包

子模块

gecko_taskgraph.transforms.job.common 模块

各种作业类型的通用支持。为了保持一致性,这些函数都以其所操作的 worker 实现命名,并采用相同的三个参数。

gecko_taskgraph.transforms.job.common.add_artifacts(config, job, taskdesc, path)
gecko_taskgraph.transforms.job.common.add_cache(job, taskdesc, name, mount_point, skip_untrusted=False)

根据 worker 的实现添加缓存。

参数:
  • job (dict) – 任务的作业描述。

  • taskdesc (dict) – 要修改的目标任务描述。

  • name (str) – 缓存的名称。

  • mount_point (path) – 宿主机上挂载缓存的路径。

  • skip_untrusted (bool) – 缓存是否用于不受信任的环境(默认值:False)。仅适用于 docker-worker。

gecko_taskgraph.transforms.job.common.add_tooltool(config, job, taskdesc, internal=False)

使任务能够访问 tooltool。

启用 tooltool 缓存。添加 releng 代理。配置作用域。

默认情况下,只会授予公共 tooltool 访问权限。可以通过 internal=True 启用对内部 tooltool 的访问权限。

这只能与 run-task 任务一起使用,因为缓存名称保留用于 run-task

gecko_taskgraph.transforms.job.common.docker_worker_add_artifacts(config, job, taskdesc)

向任务添加工件目录

gecko_taskgraph.transforms.job.common.generic_worker_add_artifacts(config, job, taskdesc)

向任务添加工件目录

gecko_taskgraph.transforms.job.common.get_expiration(config, policy='default')
gecko_taskgraph.transforms.job.common.setup_secrets(config, job, taskdesc)

通过 taskcluster-proxy 设置对密钥的访问权限。run[‘secrets’] 的值应为布尔值或可访问的密钥名称列表。

gecko_taskgraph.transforms.job.common.support_vcs_checkout(config, job, taskdesc, sparse=False)

使用参数更新作业/任务以启用 VCS 检出。

这只能与 run-task 任务一起使用,因为缓存名称保留用于 run-task 任务。

gecko_taskgraph.transforms.job.distro_package 模块

支持通过专用脚本运行 spidermonkey 作业

gecko_taskgraph.transforms.job.distro_package.common_package(config, job, taskdesc, distro, version)
gecko_taskgraph.transforms.job.distro_package.docker_worker_debian_package(config, job, taskdesc)
gecko_taskgraph.transforms.job.distro_package.docker_worker_ubuntu_package(config, job, taskdesc)

gecko_taskgraph.transforms.job.hazard 模块

支持通过专用脚本运行 hazard 作业

gecko_taskgraph.transforms.job.hazard.docker_worker_hazard(config, job, taskdesc)

gecko_taskgraph.transforms.job.mach 模块

支持运行 mach 任务(通过 run-task)

gecko_taskgraph.transforms.job.mach.configure_mach(config, job, taskdesc)

gecko_taskgraph.transforms.job.mozharness 模块

支持通过 mozharness 运行作业。理想情况下,大多数东西都以这种方式运行,当然任何使用 mozharness 的东西都应该使用这种方法。

gecko_taskgraph.transforms.job.mozharness.mozharness_on_docker_worker_setup(config, job, taskdesc)
gecko_taskgraph.transforms.job.mozharness.mozharness_on_generic_worker(config, job, taskdesc)

gecko_taskgraph.transforms.job.mozharness_test 模块

gecko_taskgraph.transforms.job.mozharness_test.get_variant(test_platform)
gecko_taskgraph.transforms.job.mozharness_test.installer_url(taskdesc)
gecko_taskgraph.transforms.job.mozharness_test.mozharness_test_on_docker(config, job, taskdesc)
gecko_taskgraph.transforms.job.mozharness_test.mozharness_test_on_generic_worker(config, job, taskdesc)
gecko_taskgraph.transforms.job.mozharness_test.test_packages_url(taskdesc)

考虑不同平台对测试包的命名方式。

gecko_taskgraph.transforms.job.python_test 模块

支持运行 mach python-test 任务(通过 run-task)

gecko_taskgraph.transforms.job.python_test.configure_python_test(config, job, taskdesc)

gecko_taskgraph.transforms.job.run_task 模块

支持运行通过 run-task 脚本调用的作业。

gecko_taskgraph.transforms.job.run_task.common_setup(config, job, taskdesc, command)
gecko_taskgraph.transforms.job.run_task.docker_worker_run_task(config, job, taskdesc)
gecko_taskgraph.transforms.job.run_task.generic_worker_run_task(config, job, taskdesc)
gecko_taskgraph.transforms.job.run_task.script_url(config, script)

gecko_taskgraph.transforms.job.spidermonkey 模块

支持通过专用脚本运行 spidermonkey 作业

gecko_taskgraph.transforms.job.spidermonkey.docker_worker_spidermonkey(config, job, taskdesc)
gecko_taskgraph.transforms.job.spidermonkey.generic_worker_spidermonkey(config, job, taskdesc)

gecko_taskgraph.transforms.job.toolchain 模块

支持通过专用脚本运行工具链构建作业

gecko_taskgraph.transforms.job.toolchain.common_toolchain(config, job, taskdesc, is_docker)
gecko_taskgraph.transforms.job.toolchain.docker_worker_toolchain(config, job, taskdesc)
gecko_taskgraph.transforms.job.toolchain.generic_worker_toolchain(config, job, taskdesc)
gecko_taskgraph.transforms.job.toolchain.get_digest_data(config, run, taskdesc)

模块内容

将作业描述转换为任务描述。

作业描述类似于任务描述,但它们以更高级别指定如何运行作业,使用“run”字段,该字段可以由taskcluster/gecko_taskgraph/transforms/job中的运行使用处理程序进行解释。

gecko_taskgraph.transforms.job.always_optimized(config, job, taskdesc)
gecko_taskgraph.transforms.job.configure_taskdesc_for_run(config, job, taskdesc, worker_implementation)

对给定的任务描述运行此作业的相应函数。

如果不存在函数,或者作业的运行根据模式无效,则会引发适当的错误。

gecko_taskgraph.transforms.job.get_attribute(dict, key, attributes, attribute_name)

从给定的attributes字典中获取attribute_name,如果存在对应值,则将dict中的key设置为该值。

gecko_taskgraph.transforms.job.make_task_description(config, jobs)

给定构建描述,创建任务描述

gecko_taskgraph.transforms.job.run_job_using(worker_implementation, run_using, schema=None, defaults={})

将装饰函数注册为能够为具有给定工作程序实现和run.using属性的作业设置任务描述。如果给定schema,则作业的run字段将被验证以匹配它。

装饰函数应具有签名using_foo(config, job, taskdesc),并且应就地修改任务描述。任务描述的框架已经设置好,但没有有效负载。

gecko_taskgraph.transforms.job.set_implementation(config, jobs)
gecko_taskgraph.transforms.job.set_label(config, jobs)
gecko_taskgraph.transforms.job.use_fetches(config, jobs)
gecko_taskgraph.transforms.job.use_system_python(config, jobs)