Bug 1398915 - Tasks can have interdependencies within the same kind. r=dustin
authorRalph Giles <giles@mozilla.com>
Mon, 11 Sep 2017 13:05:45 -0700
changeset 429661 13c9393a6c450cdba6f71f5fc01928ab94d9a41b
parent 429660 f0ccba7a4ba1ce4f0d518954962f8e7fb54f9c82
child 429662 8aac9fa52e8aedfe1ad5b5a5c2e1927b4474c838
push id7761
push userjlund@mozilla.com
push dateFri, 15 Sep 2017 00:19:52 +0000
treeherdermozilla-beta@c38455951db4 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersdustin
bugs1398915
milestone57.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1398915 - Tasks can have interdependencies within the same kind. r=dustin Per IRC dicussion, there is no technical or policy restriction on dependencies within a task kind. Update the documentation to remove the out-of-date mention of this limitation. In particular, toolchain build tasks tend to depend on each other. MozReview-Commit-ID: K6p0mxyjcvY
taskcluster/docs/taskgraph.rst
--- a/taskcluster/docs/taskgraph.rst
+++ b/taskcluster/docs/taskgraph.rst
@@ -4,21 +4,20 @@ Overview
 
 The task graph is built by linking different kinds of tasks together, pruning
 out tasks that are not required, then optimizing by replacing subgraphs with
 links to already-completed tasks.
 
 Concepts
 --------
 
-* *Task Kind* - Tasks are grouped by kind, where tasks of the same kind do not
-  have interdependencies but have substantial similarities, and may depend on
-  tasks of other kinds.  Kinds are the primary means of supporting diversity,
-  in that a developer can add a new kind to do just about anything without
-  impacting other kinds.
+* *Task Kind* - Tasks are grouped by kind, where tasks of the same kind
+  have substantial similarities or share common processing logic. Kinds
+  are the primary means of supporting diversity, in that a developer can
+  add a new kind to do just about anything without impacting other kinds.
 
 * *Task Attributes* - Tasks have string attributes by which can be used for
   filtering.  Attributes are documented in :doc:`attributes`.
 
 * *Task Labels* - Each task has a unique identifier within the graph that is
   stable across runs of the graph generation algorithm.  Labels are replaced
   with TaskCluster TaskIds at the latest time possible, facilitating analysis
   of graphs without distracting noise from randomly-generated taskIds.
@@ -49,17 +48,17 @@ The full list of pre-defined keys in thi
 
 ``kind-dependencies``
    Kinds which should be loaded before this one.  This is useful when the kind
    will use the list of already-created tasks to determine which tasks to
    create, for example adding an upload-symbols task after every build task.
 
 Any other keys are subject to interpretation by the kind implementation.
 
-The result is a nice segmentation of implementation so that the more esoteric
+The result is a segmentation of implementation so that the more esoteric
 in-tree projects can do their crazy stuff in an isolated kind without making
 the bread-and-butter build and test configuration more complicated.
 
 Dependencies
 ------------
 
 Dependencies between tasks are represented as labeled edges in the task graph.
 For example, a test task must depend on the build task creating the artifact it