Bug 1383973 - Allow `docker-image:` that is not 'desktop-build'. r=dustin draft
authorNick Alexander <nalexander@mozilla.com>
Tue, 01 Aug 2017 18:00:26 -0700
changeset 645254 cd7a8402259139f37ec649bb5dc39317fe2fc3cb
parent 645074 80ff3f300e05f38f96c385b03d1973a966a2bd35
child 645255 265937bc9ba3bc4c18756b6c675100a62929bafe
push id73719
push usernalexander@mozilla.com
push dateSat, 12 Aug 2017 03:10:52 +0000
reviewersdustin
bugs1383973
milestone57.0a1
Bug 1383973 - Allow `docker-image:` that is not 'desktop-build'. r=dustin There's little value in a more complicated process for setting the underlying Docker image for a `run: using: mozharness` job. This uncovered a typo (extraneous comma) in a Mac OS X repackage job. MozReview-Commit-ID: DGOs1NvuS32
taskcluster/taskgraph/transforms/job/mozharness.py
taskcluster/taskgraph/transforms/repackage.py
--- a/taskcluster/taskgraph/transforms/job/mozharness.py
+++ b/taskcluster/taskgraph/transforms/job/mozharness.py
@@ -104,18 +104,21 @@ def mozharness_on_docker_worker_setup(co
 
     if not run['use-simple-package']:
         raise NotImplementedError("Simple packaging cannot be disabled via"
                                   "'use-simple-package' on docker-workers")
     if not run['use-magic-mh-args']:
         raise NotImplementedError("Cannot disabled mh magic arg passing via"
                                   "'use-magic-mh-args' on docker-workers")
 
-    # running via mozharness assumes desktop-build (which contains build.sh)
-    taskdesc['worker']['docker-image'] = {"in-tree": "desktop-build"}
+    # Running via mozharness assumes an image that contains build.sh:
+    # by default, desktop-build, but it could be another image (like
+    # android-gradle-build) that "inherits" from desktop-build.
+    if not taskdesc['worker']['docker-image']:
+        taskdesc['worker']['docker-image'] = {"in-tree": "desktop-build"}
 
     worker['relengapi-proxy'] = False  # but maybe enabled for tooltool below
     worker['taskcluster-proxy'] = run.get('taskcluster-proxy')
 
     docker_worker_add_public_artifacts(config, job, taskdesc)
     docker_worker_add_workspace_cache(config, job, taskdesc,
                                       extra=run.get('extra-workspace-cache-key'))
     support_vcs_checkout(config, job, taskdesc)
--- a/taskcluster/taskgraph/transforms/repackage.py
+++ b/taskcluster/taskgraph/transforms/repackage.py
@@ -147,17 +147,17 @@ def make_job_description(config, jobs):
 
         if build_platform.startswith('win'):
             worker_type = 'aws-provisioner-v1/gecko-%s-b-win2012' % level
             run['use-magic-mh-args'] = False
         elif build_platform.startswith('macosx'):
             worker_type = 'aws-provisioner-v1/gecko-%s-b-macosx64' % level
 
             run['tooltool-downloads'] = 'internal'
-            worker['docker-image'] = {"in-tree": "desktop-build"},
+            worker['docker-image'] = {"in-tree": "desktop-build"}
 
             cot = job.setdefault('extra', {}).setdefault('chainOfTrust', {})
             cot.setdefault('inputs', {})['docker-image'] = {"task-reference": "<docker-image>"}
 
         description = (
             "Repackaging for locale '{locale}' for build '"
             "{build_platform}/{build_type}'".format(
                 locale=attributes.get('locale', 'en-US'),