Bug 1273633: a non-branch-specific taskgraph definition; r=garndt
authorDustin J. Mitchell <dustin@mozilla.com>
Tue, 17 May 2016 21:26:31 +0000
changeset 297943 ee5bdc58edab47abddbb6ea6fc6474a46316a8b2
parent 297942 8211dd011b389232ee2a1c130d8298e6aef7be8a
child 297944 3fb747099412c45b769155857ba937467aa608de
push id76952
push userdmitchell@mozilla.com
push dateWed, 18 May 2016 17:55:30 +0000
treeherdermozilla-inbound@3fb747099412 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
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 1273633: a non-branch-specific taskgraph definition; r=garndt MozReview-Commit-ID: 3SmqPNV93va
copy from testing/taskcluster/tasks/decision/try.yml
copy to .taskcluster.yml
--- a/testing/taskcluster/tasks/decision/try.yml
+++ b/.taskcluster.yml
@@ -1,36 +1,54 @@
+version: 0
-  name: 'Taskcluster decision task for {{project}}'
-  description: |
-    Try push for {{owner}}.
+  name: 'Taskcluster tasks for Gecko'
+  description: "The taskcluster task graph for Gecko trees"
   owner: mozilla-taskcluster-maintenance@mozilla.com
-  source: "{{{source}}}"
+  source: {{{source}}}
   # Note the below scopes are insecure however these get overriden on the server
   # side to whatever scopes are set by mozilla-taskcluster.
   - queue:*
   - docker-worker:*
   - scheduler:*
+# Available mustache parameters (see the mozilla-taskcluster source):
+# - owner:          push user (email address)
+# - source:         URL of this YAML file
+# - url:            repository URL
+# - project:        alias for the destination repository (basename of
+#                   the repo url)
+# - level:          SCM level of the destination repository
+#                   (1 = try, 3 = core)
+# - revision:       (short) hg revision of the head of the push
+# - revision_hash:  (long) hg revision of the head of the push
+# - comment:        comment of the push
+# - pushlog_id:     id in the pushlog table of the repository
+# and functions:
+# - as_slugid:      convert a label into a slugId
+# - from_now:       generate a timestamp at a fixed offset from now
   - taskId: '{{#as_slugid}}decision task{{/as_slugid}}'
     reruns: 3
       created: '{{now}}'
       deadline: '{{#from_now}}1 day{{/from_now}}'
       expires: '{{#from_now}}14 day{{/from_now}}'
         owner: mozilla-taskcluster-maintenance@mozilla.com
         source: {{{source}}}
-        name: "[tc] Initial decision task for try"
+        name: "Gecko Decision Task"
         description: |
-          Create the task-graph for a try push
+            The task that creates all of the other tasks in the task graph
       workerType: "gecko-decision"
       provisionerId: "aws-provisioner-v1"
         createdForUser: {{owner}}
@@ -42,39 +60,34 @@ tasks:
         - "index.gecko.v2.{{project}}.latest.firefox.decision"
         - "tc-treeherder.{{project}}.{{revision_hash}}"
         - "tc-treeherder-stage.{{project}}.{{revision_hash}}"
+          # checkout-gecko uses these to check out the source; the inputs
+          # to `mach taskgraph decision` are all on the command line.
           GECKO_BASE_REPOSITORY: 'https://hg.mozilla.org/mozilla-central'
           GECKO_HEAD_REPOSITORY: '{{{url}}}'
           GECKO_HEAD_REF: '{{revision}}'
           GECKO_HEAD_REV: '{{revision}}'
-          # The taskcluster-vcs tooling stores the large clone caches in this
-          # directory and will reuse them for new requests this saves about 20s~ and
-          # is the most generic cache possible.
           level-{{level}}-{{project}}-tc-vcs-public-sources: /home/worker/.tc-vcs/
           level-{{level}}-{{project}}-gecko-decision: /home/worker/workspace
           taskclusterProxy: true
         # Note: This task is built server side without the context or tooling that
         # exist in tree so we must hard code the version
         image: 'taskcluster/decision:0.1.0'
-        # Virtually no network or other potentially risky operations happen as part
-        # of the task timeout aside from the initial clone. We intentionally have
-        # set this to a lower value _all_ decision tasks should use a root
-        # repository which is cached.
         maxRunTime: 1800
           - /bin/bash
           - -cx
           - >
             mkdir -p /home/worker/artifacts &&
             checkout-gecko workspace &&