Bug 1247168 - Tag and use version 0.1.2 of the decision image; r?dustin draft
authorGregory Szorc <gps@mozilla.com>
Thu, 21 Jul 2016 11:32:07 -0700
changeset 392542 640318a87660950c5e0680867a1bfdd68e35f127
parent 392533 80621d4833a9d745eaff7da4641dfd4ace8ae1db
child 392543 08d2e4f61860bf6183ec3afaf598be158cd182be
push id24050
push userbmo:gps@mozilla.com
push dateMon, 25 Jul 2016 20:07:35 +0000
reviewersdustin
bugs1247168
milestone50.0a1
Bug 1247168 - Tag and use version 0.1.2 of the decision image; r?dustin Changes to the decision Docker image have been compelted. We're ready to use the new image. We tag the image, update version references, change the task caches so the new Mercurial pooled storage from the robustcheckout extension is used, and convert the decision tasks to run as the "worker" user. MozReview-Commit-ID: 61v9Ivy59zG
.taskcluster.yml
taskcluster/taskgraph/action.yml
testing/docker/decision/VERSION
--- a/.taskcluster.yml
+++ b/.taskcluster.yml
@@ -65,50 +65,45 @@ tasks:
       payload:
         env:
           # 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}}'
-
-        cache:
-          level-{{level}}-{{project}}-tc-vcs-public-sources: /home/worker/.tc-vcs/
-          level-{{level}}-{{project}}-gecko-decision: /home/worker/workspace
-
-        features:
-          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'
-
-        maxRunTime: 1800
-
-        command:
-          - /bin/bash
-          - -cx
-          - >
-            mkdir -p /home/worker/artifacts &&
-            checkout-gecko /home/worker/workspace &&
-            cd /home/worker/workspace/gecko &&
-            ln -s /home/worker/artifacts artifacts &&
-            ./mach taskgraph decision
+          # Arguments passed into `mach taskgraph decision`
+          DECISION_ARGS: >
             --pushlog-id='{{pushlog_id}}'
             --project='{{project}}'
             --message='{{comment}}'
             --owner='{{owner}}'
             --level='{{level}}'
             --base-repository='https://hg.mozilla.org/mozilla-central'
             --head-repository='{{{url}}}'
             --head-ref='{{revision}}'
             --head-rev='{{revision}}'
             --revision-hash='{{revision_hash}}'
 
+        cache:
+          level-{{level}}-hg-shared: /home/worker/hg-shared
+          level-{{level}}-{{project}}-gecko-decision: /home/worker/workspace
+
+        features:
+          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.2'
+
+        maxRunTime: 1800
+
+        command:
+          - /home/worker/bin/run-decision
+
         artifacts:
           'public':
             type: 'directory'
             path: '/home/worker/artifacts'
             expires: '{{#from_now}}7 days{{/from_now}}'
 
       extra:
         treeherder:
--- a/taskcluster/taskgraph/action.yml
+++ b/taskcluster/taskgraph/action.yml
@@ -26,45 +26,39 @@ routes:
   - "tc-treeherder-stage.v2.{{project}}.{{head_rev}}.{{pushlog_id}}"
 
 payload:
   env:
     GECKO_BASE_REPOSITORY: 'https://hg.mozilla.org/mozilla-central'
     GECKO_HEAD_REPOSITORY: '{{{head_repository}}}'
     GECKO_HEAD_REF: '{{head_ref}}'
     GECKO_HEAD_REV: '{{head_rev}}'
+    ACTION_ARGS: >
+      --decision-id='{{decision_task_id}}'
+      --task-labels='{{task_labels}}'
 
   cache:
-    level-{{level}}-{{project}}-tc-vcs-public-sources: /home/worker/.tc-vcs/
+    level-{{level}}-hg-shared: /home/worker/hg-shared
     level-{{level}}-{{project}}-gecko-decision: /home/worker/workspace
 
   features:
     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'
+  image: 'taskcluster/decision:0.1.2'
 
   # 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
 
   command:
-    - /bin/bash
-    - -cx
-    - >
-      mkdir -p /home/worker/artifacts &&
-      checkout-gecko /home/worker/workspace &&
-      cd /home/worker/workspace/gecko &&
-      ln -s /home/worker/artifacts artifacts &&
-      ./mach taskgraph action-task
-      --decision-id='{{decision_task_id}}'
-      --task-labels='{{task_labels}}'
+    - /home/worker/bin/run-action
 
   artifacts:
     'public':
       type: 'directory'
       path: '/home/worker/artifacts'
       expires: '{{#from_now}}7 days{{/from_now}}'
 
 extra:
--- a/testing/docker/decision/VERSION
+++ b/testing/docker/decision/VERSION
@@ -1,1 +1,1 @@
-0.1.0
+0.1.2