Bug 1103031 - switch over to using base-test and base-build images r=lightsofapollo
authorGreg Arndt <garndt@mozilla.com>
Wed, 26 Nov 2014 10:11:40 -0800
changeset 252822 53172f7e14d827674c5e5b6d889469c1434b5e6b
parent 252821 03cac982fa86003467c523226d64ba1db845dc2f
child 252823 c4828c00106832d6b70a2ccf2d1a09cb53bae2a9
push id4610
push userjlund@mozilla.com
push dateMon, 30 Mar 2015 18:32:55 +0000
treeherdermozilla-beta@4df54044d9ef [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerslightsofapollo
bugs1103031
milestone38.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 1103031 - switch over to using base-test and base-build images r=lightsofapollo
testing/docker/base-build/Dockerfile
testing/docker/base-build/VERSION
testing/docker/base-build/system-setup.sh
testing/docker/base-test/Dockerfile
testing/docker/base-test/VERSION
testing/docker/base-test/system-setup.sh
testing/docker/base/Dockerfile
testing/docker/base/VERSION
testing/docker/base/system-setup.sh
testing/docker/builder/Dockerfile
testing/docker/builder/VERSION
testing/docker/builder/system-setup.sh
testing/docker/tester/Dockerfile
testing/docker/tester/VERSION
testing/docker/tester/emulator_automation_config.py
testing/docker/tester/test-setup.sh
testing/taskcluster/tasks/builds/b2g_desktop.yml
testing/taskcluster/tasks/builds/b2g_desktop_debug.yml
testing/taskcluster/tasks/builds/b2g_emulator.yml
testing/taskcluster/tasks/builds/mulet_linux.yml
rename from testing/docker/base/Dockerfile
rename to testing/docker/base-build/Dockerfile
--- a/testing/docker/base/Dockerfile
+++ b/testing/docker/base-build/Dockerfile
@@ -1,9 +1,9 @@
-FROM          centos:centos7
+FROM          centos:centos6
 MAINTAINER    Jonas Finnemann Jensen <jopsen@gmail.com>
 
 # Run system setup script
 ADD           system-setup.sh   /tmp/system-setup.sh
 RUN           ["/tmp/system-setup.sh"]
 
 # Set variable normally configured at login, by the shells parent process, these
 # are taken from GNU su manual
new file mode 100644
--- /dev/null
+++ b/testing/docker/base-build/VERSION
@@ -0,0 +1,1 @@
+0.0.1
rename from testing/docker/base/system-setup.sh
rename to testing/docker/base-build/system-setup.sh
--- a/testing/docker/base/system-setup.sh
+++ b/testing/docker/base-build/system-setup.sh
@@ -41,76 +41,68 @@ yum install -y                      \
   curl-devel                        \
   dbus-glib-devel                   \
   glibc-static                      \
   gstreamer-devel                   \
   gstreamer-plugins-base-devel      \
   gtk2-devel                        \
   libstdc++-static                  \
   libXt-devel                       \
-  mercurial                         \
   mesa-libGL-devel                  \
   pulseaudio-libs-devel             \
   wireless-tools-devel              \
   yasm                              \
-  python-devel                      \
   dbus-python                       \
-  python-virtualenv                 \
   ;
 
 yum install -y                      \
-  alsa-lib-devel                    \
   libcurl-devel                     \
   openssl-devel                     \
   dbus-devel                        \
   dbus-glib-devel                   \
   GConf2-devel                      \
   iw                                \
   libnotify-devel                   \
-  pulseaudio-libs-devel             \
-  libXt-devel                       \
-  mercurial                         \
   unzip                             \
   uuid                              \
   xorg-x11-server-Xvfb              \
   xorg-x11-server-utils             \
+  tar                               \
   tcl                               \
   tk                                \
+  unzip                             \
+  zip                               \
   ;
 
 # From Building B2G docs
 yum install -y                      \
   install                           \
-  autoconf213                       \
   bison                             \
   bzip2                             \
   ccache                            \
   curl                              \
   flex                              \
   gawk                              \
   gcc-c++                           \
-  git                               \
   glibc-devel                       \
   glibc-static                      \
   libstdc++-static                  \
   libX11-devel                      \
   make                              \
-  mesa-libGL-devel                  \
   ncurses-devel                     \
   patch                             \
   zlib-devel                        \
   ncurses-devel.i686                \
   readline-devel.i686               \
   zlib-devel.i686                   \
   libX11-devel.i686                 \
   mesa-libGL-devel.i686             \
   glibc-devel.i686                  \
   libstdc++.i686                    \
   libXrandr.i686                    \
-  zip                               \
   perl-Digest-SHA                   \
   wget                              \
   ;
 
 # Install some utilities, we'll be using nodejs in automation scripts, maybe we
 # shouldn't we can clean up later
 yum install -y                      \
   screen                            \
@@ -119,24 +111,44 @@ yum install -y                      \
   npm                               \
   ;
 
 # Install mozilla specific packages
 
 # puppetagain packages
 base_url="http://puppetagain.pub.build.mozilla.org/data/repos/yum/releng/public/CentOS/6/x86_64/"
 
+# Install Python 2.7, pip, and virtualenv (needed for things like mach)
+rpm -ih $base_url/mozilla-python27-2.7.3-1.el6.x86_64.rpm
+export PATH="/tools/python27-mercurial/bin:/tools/python27/bin:$PATH"
+wget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz
+tar -xvf setuptools-1.4.2.tar.gz
+cd setuptools-1.4.2 && python setup.py install
+cd - && rm -rf setuptools-1.4.2*
+curl https://raw.githubusercontent.com/pypa/pip/master/contrib/get-pip.py | python -
+pip install virtualenv
+
+# Install more recent version of mercurial
+rpm -ih $base_url/mozilla-python27-mercurial-3.1.2-1.el6.x86_64.rpm
+
+# Install more recent version of git and dependencies
+yum install -y    \
+  perl-DBI        \
+  subversion-perl \
+  ;
+rpm -ih $base_url/mozilla-git-1.7.9.4-3.el6.x86_64.rpm
+
 # Install gcc to build gecko
 rpm -ih $base_url/gcc473_0moz1-4.7.3-0moz1.x86_64.rpm
 
 ### Clean up from setup
 # Remove cached packages. Cached package takes up a lot of space and
 # distributing them to workers is wasteful.
 yum clean all
 
 ### Generate machine uuid file
-dbus-uuidgen --ensure=/etc/machine-id
+dbus-uuidgen --ensure=/var/lib/dbus/machine-id
 
 # Remove the setup.sh setup, we don't really need this script anymore, deleting
 # it keeps the image as clean as possible.
 rm $0; echo "Deleted $0";
 
 ################################### setup.sh ###################################
copy from testing/docker/base/Dockerfile
copy to testing/docker/base-test/Dockerfile
--- a/testing/docker/base/Dockerfile
+++ b/testing/docker/base-test/Dockerfile
@@ -1,9 +1,9 @@
-FROM          centos:centos7
+FROM          quay.io/mozilla/ubuntu:12.04
 MAINTAINER    Jonas Finnemann Jensen <jopsen@gmail.com>
 
 # Run system setup script
 ADD           system-setup.sh   /tmp/system-setup.sh
 RUN           ["/tmp/system-setup.sh"]
 
 # Set variable normally configured at login, by the shells parent process, these
 # are taken from GNU su manual
new file mode 100644
--- /dev/null
+++ b/testing/docker/base-test/VERSION
@@ -0,0 +1,1 @@
+0.0.1
new file mode 100755
--- /dev/null
+++ b/testing/docker/base-test/system-setup.sh
@@ -0,0 +1,149 @@
+#!/bin/bash -ve
+
+################################### setup.sh ###################################
+
+### Check that we are running as root
+test `whoami` == 'root';
+
+### Add worker user
+# Minimize the number of things which the build script can do, security-wise
+# it's not a problem to let the build script install things with apt-get. But it
+# really shouldn't do this, so let's forbid root access.
+useradd -d /home/worker -s /bin/bash -m worker;
+
+### Install Useful Packages
+# First we update and upgrade to latest versions.
+apt-get update;
+apt-get upgrade -y;
+
+# Let's install some goodies, ca-certificates is needed for https with hg.
+# sudo will be required anyway, but let's make it explicit. It nice to have
+# sudo around. We'll also install nano, this is pure bloat I know, but it's
+# useful a text editor.
+apt-get install -y                  \
+  ca-certificates                   \
+  sudo                              \
+  nano                              \
+  tar                               \
+  ;
+
+# Then let's install all firefox build dependencies, this are extracted from
+# mozboot. See python/mozboot/bin/bootstrap.py in mozilla-central.
+apt-get install -y                  \
+  autoconf2.13                      \
+  build-essential                   \
+  ccache                            \
+  libasound2-dev                    \
+  libcurl4-openssl-dev              \
+  libdbus-1-dev                     \
+  libdbus-glib-1-dev                \
+  libgconf2-dev                     \
+  libgstreamer0.10-dev              \
+  libgstreamer-plugins-base0.10-dev \
+  libgtk2.0-dev                     \
+  libiw-dev                         \
+  libnotify-dev                     \
+  libpulse-dev                      \
+  libxt-dev                         \
+  mercurial                         \
+  git                               \
+  mesa-common-dev                   \
+  python-dev                        \
+  unzip                             \
+  uuid                              \
+  yasm                              \
+  xvfb                              \
+  zip                               \
+  software-properties-common        \
+  ;
+
+### Firefox Test Setup
+apt-get install -y \
+        alsa-base \
+        alsa-utils \
+        bluez-alsa \
+        bluez-alsa:i386 \
+        bluez-cups \
+        bluez-gstreamer \
+        g++-multilib \
+        gcc-multilib \
+        gir1.2-gnomebluetooth-1.0 \
+        gstreamer0.10-alsa \
+        libasound2-plugins:i386 \
+        libcanberra-pulse \
+        libdrm-intel1:i386 \
+        libdrm-nouveau1a:i386 \
+        libdrm-radeon1:i386 \
+        libdrm2:i386 \
+        libexpat1:i386 \
+        libgnome-bluetooth8 \
+        libllvm2.9 \
+        libllvm3.0:i386 \
+        libncurses5:i386          \
+        libpulse-mainloop-glib0:i386 \
+        libpulsedsp:i386 \
+        libsdl1.2debian:i386 \
+        libsox-fmt-alsa \
+        libx11-xcb1:i386 \
+        libxcb-glx0:i386 \
+        libxcb-glx0 \
+        libxdamage1:i386 \
+        libxfixes3:i386 \
+        libxxf86vm1:i386 \
+        libxxf86vm1 \
+        llvm \
+        llvm-2.9 \
+        llvm-2.9-dev \
+        llvm-2.9-runtime \
+        llvm-dev \
+        llvm-runtime \
+        pulseaudio-module-bluetooth \
+        pulseaudio-module-gconf \
+        pulseaudio-module-X11 \
+        pulseaudio \
+        python-pip
+
+# Install some utilities
+curl -sL https://deb.nodesource.com/setup | sudo bash -
+apt-get install -y \
+  screen \
+  vim \
+  wget \
+  curl \
+  rlwrap \
+  nodejs \
+  ;
+
+# Mozilla-patched mesa libs required for many reftests -- see bug 975034
+wget http://puppetagain.pub.build.mozilla.org/data/repos/apt/releng/pool/main/m/mesa/libgl1-mesa-dri_8.0.4-0ubuntu0.6mozilla1_i386.deb
+wget http://puppetagain.pub.build.mozilla.org/data/repos/apt/releng/pool/main/m/mesa/libgl1-mesa-dri_8.0.4-0ubuntu0.6mozilla1_amd64.deb
+wget http://puppetagain.pub.build.mozilla.org/data/repos/apt/releng/pool/main/m/mesa/libgl1-mesa-glx_8.0.4-0ubuntu0.6mozilla1_i386.deb
+wget http://puppetagain.pub.build.mozilla.org/data/repos/apt/releng/pool/main/m/mesa/libgl1-mesa-glx_8.0.4-0ubuntu0.6mozilla1_amd64.deb
+wget http://puppetagain.pub.build.mozilla.org/data/repos/apt/releng/pool/main/m/mesa/libglapi-mesa_8.0.4-0ubuntu0.6mozilla1_i386.deb
+wget http://puppetagain.pub.build.mozilla.org/data/repos/apt/releng/pool/main/m/mesa/libglapi-mesa_8.0.4-0ubuntu0.6mozilla1_amd64.deb
+wget http://puppetagain.pub.build.mozilla.org/data/repos/apt/releng/pool/main/m/mesa/libglu1-mesa_8.0.4-0ubuntu0.6mozilla1_i386.deb
+wget http://puppetagain.pub.build.mozilla.org/data/repos/apt/releng/pool/main/m/mesa/libglu1-mesa_8.0.4-0ubuntu0.6mozilla1_amd64.deb
+dpkg -i libgl1-mesa-dri_8.0.4-0ubuntu0.6mozilla1_amd64.deb
+dpkg -i libgl1-mesa-dri_8.0.4-0ubuntu0.6mozilla1_i386.deb
+dpkg -i libglapi-mesa_8.0.4-0ubuntu0.6mozilla1_amd64.deb
+dpkg -i libglapi-mesa_8.0.4-0ubuntu0.6mozilla1_i386.deb
+dpkg -i libgl1-mesa-glx_8.0.4-0ubuntu0.6mozilla1_i386.deb
+dpkg -i libgl1-mesa-glx_8.0.4-0ubuntu0.6mozilla1_amd64.deb
+dpkg -i libglu1-mesa_8.0.4-0ubuntu0.6mozilla1_i386.deb
+dpkg -i libglu1-mesa_8.0.4-0ubuntu0.6mozilla1_amd64.deb
+
+# Install releng package of nodejs that includes npm
+#wget http://puppetagain.pub.build.mozilla.org/data/repos/apt/releng/precise/pool/main/n/nodejs/nodejs_0.10.21-1chl1~precise1_amd64.deb
+#dpkg -i nodejs_0.10.21-1chl1~precise1_amd64.deb
+
+### Clean up from setup
+# Remove cached .deb packages. Cached package takes up a lot of space and
+# distributing them to workers is wasteful.
+apt-get clean
+rm *.deb
+
+# Remove the setup.sh setup, we don't really need this script anymore, deleting
+# it keeps the image as clean as possible.
+rm $0; echo "Deleted $0";
+
+################################### setup.sh ###################################
deleted file mode 100644
--- a/testing/docker/base/VERSION
+++ /dev/null
@@ -1,1 +0,0 @@
-0.0.5
--- a/testing/docker/builder/Dockerfile
+++ b/testing/docker/builder/Dockerfile
@@ -1,12 +1,14 @@
-FROM          quay.io/mozilla/base:0.0.4
+FROM          quay.io/mozilla/base-build:0.0.1
 MAINTAINER    Jonas Finnemann Jensen <jopsen@gmail.com>
 
-ENV PATH $PATH:/home/worker/bin/
+ENV PATH /tools/python27-mercurial/bin:/tools/python27/bin:/tools/tools/buildfarm/utils:$PATH:/home/worker/bin/
+ENV PYTHONPATH /tools/tools/lib/python:$PYTHONPATH
+
 ENV TOOLTOOL_CACHE  /home/worker/tools/tooltool-cache
 
 # Add utilities and configuration
 ADD           system-setup.sh       /tmp/system-setup.sh
 ADD           bin                   /home/worker/bin
 RUN           /tmp/system-setup.sh
 
 # TODO enable worker
--- a/testing/docker/builder/VERSION
+++ b/testing/docker/builder/VERSION
@@ -1,1 +1,1 @@
-0.0.20
+0.0.21
--- a/testing/docker/builder/system-setup.sh
+++ b/testing/docker/builder/system-setup.sh
@@ -1,41 +1,31 @@
 #!/bin/bash -ve
 
 ############################### system-setup.sh ###############################
 
 home="/home/worker"
-tools_dir="/tmp/tools"
+tools_dir="/tools/tools"
 
 mkdir -p $home/bin
 mkdir -p $home/tools
 
 chown -R worker:worker $home/* $home/.*
 
 # Install android repo tool
 curl https://storage.googleapis.com/git-repo-downloads/repo > $home/bin/repo
 chmod a+x $home/bin/repo
 
 # Install build tools
-cd /tmp
-hg clone http://hg.mozilla.org/build/tools/
+hg clone http://hg.mozilla.org/build/tools/ $tools_dir
 cd $tools_dir
 python setup.py install
 
-# Put gittool and hgtool in the PATH
-cp $tools_dir/buildfarm/utils/gittool.py $home/bin
-cp $tools_dir/buildfarm/utils/hgtool.py $home/bin
-chmod +x $home/bin/gittool.py
-chmod +x $home/bin/hgtool.py
-
 # Initialize git (makes repo happy)
 git config --global user.email "docker@docker.com"
 git config --global user.name "docker"
 
 cd $home
 
-# cleanup
-rm -rf $tools_dir
-
 # Remove the setup.sh setup, we don't really need this script anymore, deleting
 # it keeps the image as clean as possible.
 rm $0; echo "Deleted $0";
 
--- a/testing/docker/tester/Dockerfile
+++ b/testing/docker/tester/Dockerfile
@@ -1,19 +1,18 @@
-FROM          quay.io/mozilla/base:0.0.5
+FROM          quay.io/mozilla/base-test:0.0.1
 MAINTAINER    Jonas Finnemann Jensen <jopsen@gmail.com>
 
 # Add utilities and configuration
-COPY           b2g-desktop-config.py         /home/worker/b2g-desktop-config.py
-COPY           test-setup.sh                 /tmp/test-setup.sh
-COPY           dot-config                    /home/worker/.config
-COPY           dot-pulse                     /home/worker/.pulse
-COPY           emulator_automation_config.py /home/worker/emulator_automation_config.py
-COPY           bin                           /home/worker/bin
-COPY           mozharness_configs            /home/worker/mozharness_configs
+ADD           b2g-desktop-config.py         /home/worker/b2g-desktop-config.py
+ADD           test-setup.sh                 /tmp/test-setup.sh
+ADD           dot-config                    /home/worker/.config
+ADD           dot-pulse                     /home/worker/.pulse
+ADD           bin                           /home/worker/bin
+ADD           mozharness_configs            /home/worker/mozharness_configs
 
 # Run test setup script
 USER          root
 RUN           ["/tmp/test-setup.sh"]
 ENV           PATH $PATH:/home/worker/bin
 
 # TODO Re-enable worker when bug 1093833 lands
 #USER          worker
--- a/testing/docker/tester/VERSION
+++ b/testing/docker/tester/VERSION
@@ -1,1 +1,1 @@
-0.0.7
+0.0.8
deleted file mode 100644
--- a/testing/docker/tester/emulator_automation_config.py
+++ /dev/null
@@ -1,49 +0,0 @@
-# This is a template config file for b2g emulator unittest production.
-import os
-
-config = {
-    # mozharness options
-    "application": "b2g",
-    "busybox_url": "http://runtime-binaries.pvt.build.mozilla.org/tooltool/sha512/0748e900821820f1a42e2f1f3fa4d9002ef257c351b9e6b78e7de0ddd0202eace351f440372fbb1ae0b7e69e8361b036f6bd3362df99e67fc585082a311fc0df",
-    "xre_url": "http://runtime-binaries.pvt.build.mozilla.org/tooltool/sha512/263f4e8796c25543f64ba36e53d5c4ab8ed4d4e919226037ac0988761d34791b038ce96a8ae434f0153f9c2061204086decdbff18bdced42f3849156ae4dc9a4",
-    "tooltool_servers": ["http://runtime-binaries.pvt.build.mozilla.org/tooltool/"],
-
-    "exes": {
-        'python': '/usr/bin/python',
-        'tooltool.py': "mozharness/mozharness/mozilla/tooltool.py",
-    },
-
-    "find_links": [
-        "http://pypi.pvt.build.mozilla.org/pub",
-        "http://pypi.pub.build.mozilla.org/pub",
-    ],
-    "pip_index": False,
-
-    "buildbot_json_path": "buildprops.json",
-
-    "default_actions": [
-        'clobber',
-        'read-buildbot-config',
-        'download-and-extract',
-        'create-virtualenv',
-        'install',
-        'run-tests',
-    ],
-    "download_symbols": "ondemand",
-    "download_minidump_stackwalk": True,
-    "default_blob_upload_servers": [
-        "https://blobupload.elasticbeanstalk.com",
-    ],
-    "blob_uploader_auth_file": os.path.join(os.getcwd(), "oauth.txt"),
-
-    "run_file_names": {
-        "jsreftest": "runreftestb2g.py",
-        "mochitest": "runtestsb2g.py",
-        "reftest": "runreftestb2g.py",
-        "crashtest": "runreftestb2g.py",
-        "xpcshell": "runtestsb2g.py"
-    },
-    # test harness options are located in the gecko tree
-    "in_tree_config": "config/mozharness/b2g_emulator_config.py",
-    "vcs_output_timeout": 1760,
-}
--- a/testing/docker/tester/test-setup.sh
+++ b/testing/docker/tester/test-setup.sh
@@ -1,47 +1,7 @@
 #!/bin/bash -ve
 
-### Firefox Test Setup
-
-yum install -y \
-  alsa-utils \
-  bluez-alsa \
-  bluez-alsa.i686 \
-  bluez-cups \
-  curl \
-  dbus-devel \
-  dbus-glib-devel \
-  GConf2-devel \
-  iw \
-  libcurl-devel \
-  libdrm.i686 \
-  libdrm-devel.i686 \
-  libnotify-devel \
-  libX11.i686 \
-  libX11-devel \
-  libxcb.i686 \
-  libXdamage.i686 \
-  libXfixes.i686 \
-  libXxf86vm.i686 \
-  llvm \
-  llvm-devel \
-  ncurses-devel \
-  ncurses-devel.i686 \
-  openssl-devel \
-  pulseaudio-module-gconf \
-  pulseaudio-module-x11 \
-  pulseaudio \
-  yasm \
-  python-devel \
-  python-pip \
-  dbus-python \
-  wget \
-  ;
-
-# Remove cached packages. Cached package takes up a lot of space and
-# distributing them to workers is wasteful.
-yum clean all
-
-mkdir Documents; mkdir Pictures; mkdir Music; mkdir Videos; mkdir artifacts
+pip install virtualenv;
+mkdir Documents; mkdir Pictures; mkdir Music; mkdir Videos;
 hg clone http://hg.mozilla.org/build/mozharness/
 echo 'Xvfb :0 -nolisten tcp -screen 0 1600x1200x24 &> /dev/null &' >> .bashrc
 chown -R worker:worker /home/worker/* /home/worker/.*
--- a/testing/taskcluster/tasks/builds/b2g_desktop.yml
+++ b/testing/taskcluster/tasks/builds/b2g_desktop.yml
@@ -10,16 +10,17 @@ task:
 
   workerType: b2gbuild
   provisionerId: aws-provisioner
 
   scopes:
     - 'docker-worker:cache:sources-mozilla-central'
     - 'docker-worker:cache:sources-gaia'
     - 'docker-worker:cache:build-b2g-desktop-objects'
+    - 'docker-worker:image:{{#docker_image}}builder{{/docker_image}}'
 
   payload:
     cache:
       sources-gaia: '/home/worker/gaia'
       sources-mozilla-central: '/home/worker/mozilla-central'
       build-b2g-desktop-objects: '/home/worker/object-folder'
 
     env:
--- a/testing/taskcluster/tasks/builds/b2g_desktop_debug.yml
+++ b/testing/taskcluster/tasks/builds/b2g_desktop_debug.yml
@@ -10,16 +10,17 @@ task:
 
   workerType: b2gbuild
   provisionerId: aws-provisioner
 
   scopes:
     - 'docker-worker:cache:sources-mozilla-central'
     - 'docker-worker:cache:sources-gaia'
     - 'docker-worker:cache:build-b2g-desktop-objects'
+    - 'docker-worker:image:{{#docker_image}}builder{{/docker_image}}'
 
   payload:
     cache:
       sources-gaia: '/home/worker/gaia'
       sources-mozilla-central: '/home/worker/mozilla-central'
       build-b2g-desktop-objects: '/home/worker/object-folder'
 
     env:
--- a/testing/taskcluster/tasks/builds/b2g_emulator.yml
+++ b/testing/taskcluster/tasks/builds/b2g_emulator.yml
@@ -8,16 +8,17 @@ task:
     name: B2G Emulator {{build-type}}
     description: B2G Emulator {{build-type}}
 
   workerType: b2gbuild
   provisionerId: aws-provisioner
 
   scopes:
     - 'docker-worker:cache:build-emulator-objects'
+    - 'docker-worker:image:{{#docker_image}}builder{{/docker_image}}'
 
   payload:
     cache:
       build-emulator-objects: '/home/worker/object-folder-{{b2g-config}}-{{debug}}'
 
     env:
       TARGET: 'emulator'
       B2G_DEBUG: '{{debug}}'
--- a/testing/taskcluster/tasks/builds/mulet_linux.yml
+++ b/testing/taskcluster/tasks/builds/mulet_linux.yml
@@ -10,16 +10,17 @@ task:
 
   workerType: b2gbuild
   provisionerId: aws-provisioner
 
   scopes:
     - 'docker-worker:cache:sources-mozilla-central'
     - 'docker-worker:cache:build-mulet-linux-objects'
     - 'docker-worker:cache:tooltool-cache'
+    - 'docker-worker:image:{{#docker_image}}builder{{/docker_image}}'
 
   payload:
     cache:
       sources-mozilla-central: '/home/worker/mozilla-central'
       build-mulet-linux-objects: '/home/worker/object-folder'
       tooltool-cache: '/home/worker/tools/tooltool-cache'
 
     env: