mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-26 11:45:37 +00:00
96fa6fe838
Currently, TaskCluster tasks tend to use the "workspace" directory as a cache that manages the source checkout *and* additional state. Historically at Mozilla, we've lumped "source checkout" and "workspace" (sometimes known as an "objdir") into the same directory. This is not ideal. Ideally, there is an immutable, read-only source checkout and all files produced from that source live in a separate directory. In this commit, the "workspace" directory for the "lint" image has been renamed to "checkouts" and all tasks using the image have been updated accordingly. By having "checkout" in the name, we clearly identify this cache as being relevant to source checkouts, which IMO can serve a different role from "workspaces." This distinction is important, as the next commit will prevent the "checkouts" cache from getting optimized out in certain tasks. To hammer this point home, documentation on common caches has been introduced. MozReview-Commit-ID: BSEc4dM5YCt --HG-- extra : rebase_source : 5a62939e066d3723736b41e14007112d92346684
33 lines
1.1 KiB
ReStructuredText
33 lines
1.1 KiB
ReStructuredText
.. taskcluster_index:
|
|
|
|
TaskCluster Task-Graph Generation
|
|
=================================
|
|
|
|
The ``taskcluster`` directory contains support for defining the graph of tasks
|
|
that must be executed to build and test the Gecko tree. This is more complex
|
|
than you might suppose! This implementation supports:
|
|
|
|
* A huge array of tasks
|
|
* Different behavior for different repositories
|
|
* "Try" pushes, with special means to select a subset of the graph for execution
|
|
* Optimization -- skipping tasks that have already been performed
|
|
* Extremely flexible generation of a variety of tasks using an approach of
|
|
incrementally transforming job descriptions into task definitions.
|
|
|
|
This section of the documentation describes the process in some detail,
|
|
referring to the source where necessary. If you are reading this with a
|
|
particular goal in mind and would rather avoid becoming a task-graph expert,
|
|
check out the :doc:`how-to section <how-tos>`.
|
|
|
|
.. toctree::
|
|
|
|
taskgraph
|
|
parameters
|
|
attributes
|
|
kinds
|
|
transforms
|
|
yaml-templates
|
|
how-tos
|
|
docker-images
|
|
caches
|