Job Transforms

Note

These transforms are currently duplicated by standalone Taskgraph and will likely be refactored / removed at a later date.

A job description says what to run in the task. It is a combination of a run section and all of the fields from a task description. The run section has a using property that defines how this task should be run; for example, mozharness to run a mozharness script, or mach to run a mach command. The remainder of the run section is specific to the run-using implementation.

The effect of a job description is to say “run this thing on this worker”. The job description must contain enough information about the worker to identify the workerType and the implementation (docker-worker, generic-worker, etc.). Alternatively, job descriptions can specify the platforms field in conjunction with the by-platform key to specify multiple workerTypes and implementations. Any other task-description information is passed along verbatim, although it is augmented by the run-using implementation.

The run-using implementations are all located in taskcluster/gecko_taskgraph/transforms/job, along with the schemas for their implementations. Those well-commented source files are the canonical documentation for what constitutes a job description, and should be considered part of the documentation.

following run-using are available

  • hazard

  • mach

  • mozharness

  • mozharness-test

  • run-task

  • spidermonkey or spidermonkey-package

  • debian-package

  • ubuntu-package

  • toolchain-script

  • always-optimized

  • fetch-url

  • python-test

  • gradlew

  • run-commands