Bug 1302763 - Move docker images out of testing/docker into taskcluster/docker; r?dustin draft
authorCuriousLearner <sanyam.khurana01@gmail.com>
Thu, 06 Oct 2016 22:50:07 +0530
changeset 421708 85d3993e90ec391e79036ffbf539b8cb195665a0
parent 416562 f0e6cc6360213ba21fd98c887b55fce5c680df68
child 422080 37615d6df34b8139541752f7fd087b1b2cfeb4b3
push id31569
push userbmo:sanyam.khurana01@gmail.com
push dateThu, 06 Oct 2016 17:21:03 +0000
reviewersdustin
bugs1302763
milestone52.0a1
Bug 1302763 - Move docker images out of testing/docker into taskcluster/docker; r?dustin MozReview-Commit-ID: E2TyfsKiec9
AUTHORS
taskcluster/ci/android-stuff/kind.yml
taskcluster/ci/source-check/mozlint.yml
taskcluster/docker/README.md
taskcluster/docker/REGISTRY
taskcluster/docker/android-gradle-build/Dockerfile
taskcluster/docker/android-gradle-build/README.md
taskcluster/docker/android-gradle-build/REGISTRY
taskcluster/docker/android-gradle-build/VERSION
taskcluster/docker/android-gradle-build/bin/after.sh
taskcluster/docker/android-gradle-build/bin/before.sh
taskcluster/docker/android-gradle-build/bin/build.sh
taskcluster/docker/android-gradle-build/bin/checkout-script.sh
taskcluster/docker/android-gradle-build/bin/checkout-sources.sh
taskcluster/docker/android-gradle-build/buildprops.json
taskcluster/docker/android-gradle-build/dot-config/pip/pip.conf
taskcluster/docker/android-gradle-build/oauth.txt
taskcluster/docker/b2g-build/Dockerfile
taskcluster/docker/b2g-build/VERSION
taskcluster/docker/b2g-build/bin/repository-url.py
taskcluster/docker/b2g-build/releng.repo
taskcluster/docker/base-build/Dockerfile
taskcluster/docker/base-build/VERSION
taskcluster/docker/base-build/system-setup.sh
taskcluster/docker/base-test/Dockerfile
taskcluster/docker/base-test/REGISTRY
taskcluster/docker/base-test/VERSION
taskcluster/docker/base-test/sources.list
taskcluster/docker/builder/Dockerfile
taskcluster/docker/builder/REGISTRY
taskcluster/docker/builder/VERSION
taskcluster/docker/builder/bin/checkout-gecko
taskcluster/docker/builder/git.env
taskcluster/docker/builder/mulet.env
taskcluster/docker/centos6-build-upd/Dockerfile
taskcluster/docker/centos6-build-upd/REGISTRY
taskcluster/docker/centos6-build-upd/VERSION
taskcluster/docker/centos6-build/Dockerfile
taskcluster/docker/centos6-build/REGISTRY
taskcluster/docker/centos6-build/VERSION
taskcluster/docker/centos6-build/hgrc
taskcluster/docker/centos6-build/system-setup.sh
taskcluster/docker/decision/Dockerfile
taskcluster/docker/decision/README.md
taskcluster/docker/decision/REGISTRY
taskcluster/docker/decision/VERSION
taskcluster/docker/decision/system-setup.sh
taskcluster/docker/desktop-build/Dockerfile
taskcluster/docker/desktop-build/bin/build.sh
taskcluster/docker/desktop-build/bin/checkout-script.sh
taskcluster/docker/desktop-build/bin/checkout-sources.sh
taskcluster/docker/desktop-build/buildprops.json
taskcluster/docker/desktop-build/dot-config/pip/pip.conf
taskcluster/docker/desktop-build/oauth.txt
taskcluster/docker/desktop-test/Dockerfile
taskcluster/docker/desktop-test/apport
taskcluster/docker/desktop-test/buildprops.json
taskcluster/docker/desktop-test/deja-dup-monitor.desktop
taskcluster/docker/desktop-test/dot-files/config/pip/pip.conf
taskcluster/docker/desktop-test/dot-files/config/user-dirs.dirs
taskcluster/docker/desktop-test/dot-files/config/user-dirs.locale
taskcluster/docker/desktop-test/dot-files/pulse/default.pa
taskcluster/docker/desktop-test/fonts.conf
taskcluster/docker/desktop-test/jockey-gtk.desktop
taskcluster/docker/desktop-test/motd
taskcluster/docker/desktop-test/release-upgrades
taskcluster/docker/desktop-test/taskcluster-interactive-shell
taskcluster/docker/desktop-test/tc-vcs-config.yml
taskcluster/docker/desktop-test/tester.env
taskcluster/docker/desktop1604-test/Dockerfile
taskcluster/docker/desktop1604-test/apport
taskcluster/docker/desktop1604-test/bin/run-wizard
taskcluster/docker/desktop1604-test/buildprops.json
taskcluster/docker/desktop1604-test/deja-dup-monitor.desktop
taskcluster/docker/desktop1604-test/dot-files/config/pip/pip.conf
taskcluster/docker/desktop1604-test/dot-files/config/user-dirs.dirs
taskcluster/docker/desktop1604-test/dot-files/config/user-dirs.locale
taskcluster/docker/desktop1604-test/dot-files/pulse/default.pa
taskcluster/docker/desktop1604-test/fonts.conf
taskcluster/docker/desktop1604-test/jockey-gtk.desktop
taskcluster/docker/desktop1604-test/motd
taskcluster/docker/desktop1604-test/release-upgrades
taskcluster/docker/desktop1604-test/taskcluster-interactive-shell
taskcluster/docker/desktop1604-test/tc-vcs-config.yml
taskcluster/docker/desktop1604-test/tester.env
taskcluster/docker/image_builder/Dockerfile
taskcluster/docker/image_builder/REGISTRY
taskcluster/docker/image_builder/VERSION
taskcluster/docker/image_builder/bin/build_image.sh
taskcluster/docker/lint/Dockerfile
taskcluster/docker/lint/system-setup.sh
taskcluster/docker/phone-builder/Dockerfile
taskcluster/docker/phone-builder/bin/validate_task.py
taskcluster/docker/phone-builder/hgrc
taskcluster/docker/phone-builder/tc-vcs-config.yml
taskcluster/docker/phone-builder/tests/invalid_base_repo.yml
taskcluster/docker/phone-builder/tests/invalid_head_repo.yml
taskcluster/docker/phone-builder/tests/public.yml
taskcluster/docker/phone-builder/tests/test_validation.py
taskcluster/docker/phone-builder/tests/valid.yml
taskcluster/docker/recipes/install-mercurial.sh
taskcluster/docker/recipes/run-task
taskcluster/docker/recipes/tooltool.py
taskcluster/docker/recipes/ubuntu1204-test-system-setup.sh
taskcluster/docker/recipes/ubuntu1604-test-system-setup.sh
taskcluster/docker/recipes/xvfb.sh
taskcluster/docker/rust-build/Dockerfile
taskcluster/docker/rust-build/README.md
taskcluster/docker/rust-build/REGISTRY
taskcluster/docker/rust-build/VERSION
taskcluster/docker/rust-build/build_cargo.sh
taskcluster/docker/rust-build/build_rust.sh
taskcluster/docker/rust-build/build_rust_mac.sh
taskcluster/docker/rust-build/fetch_cargo.sh
taskcluster/docker/rust-build/fetch_rust.sh
taskcluster/docker/rust-build/package_rust.sh
taskcluster/docker/rust-build/repack_rust.py
taskcluster/docker/rust-build/task.json
taskcluster/docker/rust-build/tcbuild.py
taskcluster/docker/rust-build/upload_rust.sh
taskcluster/docker/tester/Dockerfile
taskcluster/docker/tester/REGISTRY
taskcluster/docker/tester/VERSION
taskcluster/docker/tester/bin/test.sh
taskcluster/docker/tester/dot-config/pip/pip.conf
taskcluster/docker/tester/dot-config/user-dirs.dirs
taskcluster/docker/tester/dot-config/user-dirs.locale
taskcluster/docker/tester/dot-pulse/default.pa
taskcluster/docker/tester/tc-vcs-config.yml
taskcluster/docker/tester/tester.env
taskcluster/taskgraph/task/docker_image.py
taskcluster/taskgraph/transforms/task.py
taskcluster/taskgraph/transforms/tests/test_description.py
testing/docker/README.md
testing/docker/REGISTRY
testing/docker/android-gradle-build/Dockerfile
testing/docker/android-gradle-build/README.md
testing/docker/android-gradle-build/REGISTRY
testing/docker/android-gradle-build/VERSION
testing/docker/android-gradle-build/bin/after.sh
testing/docker/android-gradle-build/bin/before.sh
testing/docker/android-gradle-build/bin/build.sh
testing/docker/android-gradle-build/bin/checkout-script.sh
testing/docker/android-gradle-build/bin/checkout-sources.sh
testing/docker/android-gradle-build/buildprops.json
testing/docker/android-gradle-build/dot-config/pip/pip.conf
testing/docker/android-gradle-build/oauth.txt
testing/docker/b2g-build/Dockerfile
testing/docker/b2g-build/VERSION
testing/docker/b2g-build/bin/repository-url.py
testing/docker/b2g-build/releng.repo
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/REGISTRY
testing/docker/base-test/VERSION
testing/docker/base-test/sources.list
testing/docker/builder/Dockerfile
testing/docker/builder/REGISTRY
testing/docker/builder/VERSION
testing/docker/builder/bin/checkout-gecko
testing/docker/builder/git.env
testing/docker/builder/mulet.env
testing/docker/centos6-build-upd/Dockerfile
testing/docker/centos6-build-upd/REGISTRY
testing/docker/centos6-build-upd/VERSION
testing/docker/centos6-build/Dockerfile
testing/docker/centos6-build/REGISTRY
testing/docker/centos6-build/VERSION
testing/docker/centos6-build/hgrc
testing/docker/centos6-build/system-setup.sh
testing/docker/decision/Dockerfile
testing/docker/decision/README.md
testing/docker/decision/REGISTRY
testing/docker/decision/VERSION
testing/docker/decision/system-setup.sh
testing/docker/desktop-build/Dockerfile
testing/docker/desktop-build/bin/build.sh
testing/docker/desktop-build/bin/checkout-script.sh
testing/docker/desktop-build/bin/checkout-sources.sh
testing/docker/desktop-build/buildprops.json
testing/docker/desktop-build/dot-config/pip/pip.conf
testing/docker/desktop-build/oauth.txt
testing/docker/desktop-test/Dockerfile
testing/docker/desktop-test/apport
testing/docker/desktop-test/buildprops.json
testing/docker/desktop-test/deja-dup-monitor.desktop
testing/docker/desktop-test/dot-files/config/pip/pip.conf
testing/docker/desktop-test/dot-files/config/user-dirs.dirs
testing/docker/desktop-test/dot-files/config/user-dirs.locale
testing/docker/desktop-test/dot-files/pulse/default.pa
testing/docker/desktop-test/fonts.conf
testing/docker/desktop-test/jockey-gtk.desktop
testing/docker/desktop-test/motd
testing/docker/desktop-test/release-upgrades
testing/docker/desktop-test/taskcluster-interactive-shell
testing/docker/desktop-test/tc-vcs-config.yml
testing/docker/desktop-test/tester.env
testing/docker/desktop1604-test/Dockerfile
testing/docker/desktop1604-test/apport
testing/docker/desktop1604-test/bin/run-wizard
testing/docker/desktop1604-test/buildprops.json
testing/docker/desktop1604-test/deja-dup-monitor.desktop
testing/docker/desktop1604-test/dot-files/config/pip/pip.conf
testing/docker/desktop1604-test/dot-files/config/user-dirs.dirs
testing/docker/desktop1604-test/dot-files/config/user-dirs.locale
testing/docker/desktop1604-test/dot-files/pulse/default.pa
testing/docker/desktop1604-test/fonts.conf
testing/docker/desktop1604-test/jockey-gtk.desktop
testing/docker/desktop1604-test/motd
testing/docker/desktop1604-test/release-upgrades
testing/docker/desktop1604-test/taskcluster-interactive-shell
testing/docker/desktop1604-test/tc-vcs-config.yml
testing/docker/desktop1604-test/tester.env
testing/docker/image_builder/Dockerfile
testing/docker/image_builder/REGISTRY
testing/docker/image_builder/VERSION
testing/docker/image_builder/bin/build_image.sh
testing/docker/lint/Dockerfile
testing/docker/lint/system-setup.sh
testing/docker/phone-builder/Dockerfile
testing/docker/phone-builder/bin/validate_task.py
testing/docker/phone-builder/hgrc
testing/docker/phone-builder/tc-vcs-config.yml
testing/docker/phone-builder/tests/invalid_base_repo.yml
testing/docker/phone-builder/tests/invalid_head_repo.yml
testing/docker/phone-builder/tests/public.yml
testing/docker/phone-builder/tests/test_validation.py
testing/docker/phone-builder/tests/valid.yml
testing/docker/recipes/install-mercurial.sh
testing/docker/recipes/run-task
testing/docker/recipes/tooltool.py
testing/docker/recipes/ubuntu1204-test-system-setup.sh
testing/docker/recipes/ubuntu1604-test-system-setup.sh
testing/docker/recipes/xvfb.sh
testing/docker/rust-build/Dockerfile
testing/docker/rust-build/README.md
testing/docker/rust-build/REGISTRY
testing/docker/rust-build/VERSION
testing/docker/rust-build/build_cargo.sh
testing/docker/rust-build/build_rust.sh
testing/docker/rust-build/build_rust_mac.sh
testing/docker/rust-build/fetch_cargo.sh
testing/docker/rust-build/fetch_rust.sh
testing/docker/rust-build/package_rust.sh
testing/docker/rust-build/repack_rust.py
testing/docker/rust-build/task.json
testing/docker/rust-build/tcbuild.py
testing/docker/rust-build/upload_rust.sh
testing/docker/tester/Dockerfile
testing/docker/tester/REGISTRY
testing/docker/tester/VERSION
testing/docker/tester/bin/test.sh
testing/docker/tester/dot-config/pip/pip.conf
testing/docker/tester/dot-config/user-dirs.dirs
testing/docker/tester/dot-config/user-dirs.locale
testing/docker/tester/dot-pulse/default.pa
testing/docker/tester/tc-vcs-config.yml
testing/docker/tester/tester.env
--- a/AUTHORS
+++ b/AUTHORS
@@ -874,16 +874,17 @@ Roy Yokoyama <yokoyama@netscape.com>
 RSA Security, Inc
 Russell King <rmk@arm.linux.org.uk>
 Rusty Lynch <rusty.lynch@intel.com>
 Ryan Cassin <rcassin@supernova.org>
 Ryan Flint <rflint@dslr.net>
 Ryan Jones <sciguyryan@gmail.com>
 Ryan VanderMeulen <ryanvm@gmail.com>
 Ryoichi Furukawa <oliver@1000cp.com>
+Sanyam Khurana <Sanyam.Khurana01@gmail.com>
 sagdjb@softwareag.com
 Samir Gehani <sgehani@netscape.com>
 Sammy Ford
 Samphan Raruenrom
 Samuel Sieb <samuel@sieb.net>
 Sarlos Tamas
 scole@planetweb.com
 Scooter Morris <scootermorris@comcast.net>
--- a/taskcluster/ci/android-stuff/kind.yml
+++ b/taskcluster/ci/android-stuff/kind.yml
@@ -58,17 +58,17 @@ jobs:
               - "/home/worker/bin/before.sh && /home/worker/bin/build.sh && /home/worker/bin/after.sh && true\n"
             max-run-time: 36000
         scopes:
           - docker-worker:relengapi-proxy:tooltool.download.internal
           - docker-worker:relengapi-proxy:tooltool.download.public
         when:
             files-changed:
               - "mobile/android/config/**"
-              - "testing/docker/android-gradle-build/**"
+              - "taskcluster/docker/android-gradle-build/**"
               - "testing/mozharness/configs/builds/releng_sub_android_configs/*gradle_dependencies.py"
               - "**/*.gradle"
 
     android-test:
         description: "Android armv7 unit tests"
         attributes:
             build_platform: android-test
             build_type: opt
--- a/taskcluster/ci/source-check/mozlint.yml
+++ b/taskcluster/ci/source-check/mozlint.yml
@@ -35,17 +35,17 @@ mozlint-eslint/opt:
             # Run when eslint policies change.
             - '**/.eslintignore'
             - '**/*eslintrc*'
             # The plugin implementing custom checks.
             - 'tools/lint/eslint/eslint-plugin-mozilla/**'
             # Other misc lint related files.
             - 'python/mozlint/**'
             - 'tools/lint/**'
-            - 'testing/docker/lint/**'
+            - 'taskcluster/docker/lint/**'
 
 mozlint-flake8/opt:
     description: flake8 run over the gecko codebase
     treeherder:
         symbol: f8
         kind: test
         tier: 2
         platform: lint/opt
@@ -61,17 +61,17 @@ mozlint-flake8/opt:
         - integration
         - release
     when:
         files-changed:
             - '**/*.py'
             - '**/.flake8'
             - 'python/mozlint/**'
             - 'tools/lint/**'
-            - 'testing/docker/lint/**'
+            - 'taskcluster/docker/lint/**'
 
 wptlint-gecko/opt:
     description: web-platform-tests linter
     treeherder:
         symbol: W
         kind: test
         tier: 2
         platform: lint/opt
@@ -89,9 +89,9 @@ wptlint-gecko/opt:
     when:
         files-changed:
             - 'testing/web-platform/tests/**'
             - 'testing/web-platform/mozilla/tests/**'
             - 'testing/web-platform/meta/MANIFEST.json'
             - 'testing/web-platform/mozilla/meta/MANIFEST.json'
             - 'python/mozlint/**'
             - 'tools/lint/**'
-            - 'testing/docker/lint/**'
+            - 'taskcluster/docker/lint/**'
rename from testing/docker/README.md
rename to taskcluster/docker/README.md
rename from testing/docker/REGISTRY
rename to taskcluster/docker/REGISTRY
new file mode 100644
--- /dev/null
+++ b/taskcluster/docker/android-gradle-build/Dockerfile
@@ -0,0 +1,97 @@
+# TODO remove VOLUME below when the base image is updated next.
+FROM          taskcluster/centos6-build-upd:0.1.6.20160329195300
+MAINTAINER    Nick Alexander <nalexander@mozilla.com>
+
+# BEGIN ../desktop-build/Dockerfile
+
+# TODO remove when base image is updated
+VOLUME /home/worker/workspace
+VOLUME /home/worker/tooltool-cache
+
+# Add build scripts; these are the entry points from the taskcluster worker, and
+# operate on environment variables
+ADD             bin /home/worker/bin
+RUN             chmod +x /home/worker/bin/*
+
+# Add wrapper scripts for xvfb allowing tasks to easily retry starting up xvfb
+# %include taskcluster/docker/recipes/xvfb.sh
+ADD topsrcdir/taskcluster/docker/recipes/xvfb.sh /home/worker/scripts/xvfb.sh
+
+# Add configuration
+COPY            dot-config                    /home/worker/.config
+
+# Generate machine uuid file
+RUN dbus-uuidgen --ensure=/var/lib/dbus/machine-id
+
+# Stubbed out credentials; mozharness looks for this file an issues a WARNING
+# if it's not found, which causes the build to fail.  Note that this needs to
+# be in the parent of the workspace directory and in the directory where
+# mozharness is run (not its --work-dir).  See Bug 1169652.
+ADD           oauth.txt /home/worker/
+
+# stubbed out buildprops, which keeps mozharness from choking
+# Note that this needs to be in the parent of the workspace directory and in
+# the directory where mozharness is run (not its --work-dir)
+ADD           buildprops.json /home/worker/
+
+# install tooltool directly from github where tooltool_wrapper.sh et al. expect
+# to find it
+RUN wget -O /builds/tooltool.py https://raw.githubusercontent.com/mozilla/build-tooltool/master/tooltool.py
+RUN chmod +x /builds/tooltool.py
+
+# END ../desktop-build/Dockerfile
+
+# Reset user/workdir from parent image so we can install software.
+WORKDIR /
+USER root
+
+# Update base.
+RUN yum upgrade -y
+
+# Install JDK and Sonatype Nexus.  Cribbed directly from
+# https://github.com/sonatype/docker-nexus/blob/fffd2c61b2368292040910c055cf690c8e76a272/oss/Dockerfile.
+
+# Install the screen package here to use with xvfb.
+# Move installation to base centos6-build image once Bug 1272629 is fixed
+RUN yum install -y \
+  createrepo \
+  curl \
+  java-1.7.0-openjdk-devel \
+  java-1.7.0-openjdk \
+  screen \
+  sudo \
+  tar \
+  unzip \
+  wget \
+  zip \
+  && yum clean all
+
+ENV NEXUS_VERSION 2.12.0-01
+ENV NEXUS_SHA1SUM 1a9aaad8414baffe0a2fd46eed1f41b85f4049e6
+
+RUN mkdir -p /opt/sonatype/nexus
+
+WORKDIR /tmp
+RUN curl --fail --silent --location --retry 3 \
+    https://download.sonatype.com/nexus/oss/nexus-${NEXUS_VERSION}-bundle.tar.gz \
+    -o /tmp/nexus-${NEXUS_VERSION}-bundle.tar.gz
+
+# Observe the two spaces below.  Seriously.
+RUN echo "${NEXUS_SHA1SUM}  nexus-${NEXUS_VERSION}-bundle.tar.gz" > nexus-${NEXUS_VERSION}-bundle.tar.gz.sha1
+RUN sha1sum --check nexus-${NEXUS_VERSION}-bundle.tar.gz.sha1
+
+RUN tar zxf nexus-${NEXUS_VERSION}-bundle.tar.gz \
+  && mv /tmp/nexus-${NEXUS_VERSION}/* /opt/sonatype/nexus/ \
+  && rm -rf /tmp/nexus-${NEXUS_VERSION} \
+  && rm -rf /tmp/nexus-${NEXUS_VERSION}-bundle.tar.gz
+
+# Install tooltool directly from github.
+RUN mkdir /build
+ADD https://raw.githubusercontent.com/mozilla/build-tooltool/master/tooltool.py /build/tooltool.py
+RUN chmod +rx /build/tooltool.py
+
+# Back to the centos6-build workdir, matching desktop-build.
+WORKDIR /home/worker
+
+# Set a default command useful for debugging
+CMD ["/bin/bash", "--login"]
rename from testing/docker/android-gradle-build/README.md
rename to taskcluster/docker/android-gradle-build/README.md
rename from testing/docker/image_builder/REGISTRY
rename to taskcluster/docker/android-gradle-build/REGISTRY
rename from testing/docker/android-gradle-build/VERSION
rename to taskcluster/docker/android-gradle-build/VERSION
rename from testing/docker/android-gradle-build/bin/after.sh
rename to taskcluster/docker/android-gradle-build/bin/after.sh
rename from testing/docker/android-gradle-build/bin/before.sh
rename to taskcluster/docker/android-gradle-build/bin/before.sh
rename from testing/docker/android-gradle-build/bin/build.sh
rename to taskcluster/docker/android-gradle-build/bin/build.sh
rename from testing/docker/desktop-build/bin/checkout-script.sh
rename to taskcluster/docker/android-gradle-build/bin/checkout-script.sh
rename from testing/docker/android-gradle-build/bin/checkout-sources.sh
rename to taskcluster/docker/android-gradle-build/bin/checkout-sources.sh
rename from testing/docker/desktop-build/buildprops.json
rename to taskcluster/docker/android-gradle-build/buildprops.json
rename from testing/docker/desktop-test/dot-files/config/pip/pip.conf
rename to taskcluster/docker/android-gradle-build/dot-config/pip/pip.conf
rename from testing/docker/desktop-build/oauth.txt
rename to taskcluster/docker/android-gradle-build/oauth.txt
rename from testing/docker/b2g-build/Dockerfile
rename to taskcluster/docker/b2g-build/Dockerfile
rename from testing/docker/b2g-build/VERSION
rename to taskcluster/docker/b2g-build/VERSION
rename from testing/docker/b2g-build/bin/repository-url.py
rename to taskcluster/docker/b2g-build/bin/repository-url.py
rename from testing/docker/b2g-build/releng.repo
rename to taskcluster/docker/b2g-build/releng.repo
rename from testing/docker/base-build/Dockerfile
rename to taskcluster/docker/base-build/Dockerfile
rename from testing/docker/base-build/VERSION
rename to taskcluster/docker/base-build/VERSION
rename from testing/docker/base-build/system-setup.sh
rename to taskcluster/docker/base-build/system-setup.sh
rename from testing/docker/base-test/Dockerfile
rename to taskcluster/docker/base-test/Dockerfile
copy from testing/docker/image_builder/REGISTRY
copy to taskcluster/docker/base-test/REGISTRY
rename from testing/docker/base-test/VERSION
rename to taskcluster/docker/base-test/VERSION
rename from testing/docker/base-test/sources.list
rename to taskcluster/docker/base-test/sources.list
rename from testing/docker/builder/Dockerfile
rename to taskcluster/docker/builder/Dockerfile
copy from testing/docker/image_builder/REGISTRY
copy to taskcluster/docker/builder/REGISTRY
rename from testing/docker/builder/VERSION
rename to taskcluster/docker/builder/VERSION
rename from testing/docker/builder/bin/checkout-gecko
rename to taskcluster/docker/builder/bin/checkout-gecko
rename from testing/docker/builder/git.env
rename to taskcluster/docker/builder/git.env
rename from testing/docker/builder/mulet.env
rename to taskcluster/docker/builder/mulet.env
rename from testing/docker/centos6-build-upd/Dockerfile
rename to taskcluster/docker/centos6-build-upd/Dockerfile
copy from testing/docker/image_builder/REGISTRY
copy to taskcluster/docker/centos6-build-upd/REGISTRY
rename from testing/docker/centos6-build-upd/VERSION
rename to taskcluster/docker/centos6-build-upd/VERSION
rename from testing/docker/centos6-build/Dockerfile
rename to taskcluster/docker/centos6-build/Dockerfile
copy from testing/docker/image_builder/REGISTRY
copy to taskcluster/docker/centos6-build/REGISTRY
rename from testing/docker/decision/VERSION
rename to taskcluster/docker/centos6-build/VERSION
rename from testing/docker/centos6-build/hgrc
rename to taskcluster/docker/centos6-build/hgrc
rename from testing/docker/centos6-build/system-setup.sh
rename to taskcluster/docker/centos6-build/system-setup.sh
new file mode 100644
--- /dev/null
+++ b/taskcluster/docker/decision/Dockerfile
@@ -0,0 +1,25 @@
+FROM          ubuntu:16.04
+MAINTAINER    Greg Arndt <garndt@mozilla.com>
+
+# Add worker user
+RUN useradd -d /home/worker -s /bin/bash -m worker
+RUN mkdir /home/worker/artifacts && chown worker:worker /home/worker/artifacts
+
+# %include taskcluster/docker/recipes/tooltool.py
+ADD topsrcdir/taskcluster/docker/recipes/tooltool.py /tmp/tooltool.py
+
+# %include taskcluster/docker/recipes/install-mercurial.sh
+ADD topsrcdir/taskcluster/docker/recipes/install-mercurial.sh /tmp/install-mercurial.sh
+
+ADD system-setup.sh /tmp/system-setup.sh
+RUN bash /tmp/system-setup.sh
+
+# %include taskcluster/docker/recipes/run-task
+ADD topsrcdir/taskcluster/docker/recipes/run-task /home/worker/bin/run-task
+
+ENV PATH /home/worker/bin:$PATH
+ENV SHELL /bin/bash
+ENV HOME /home/worker
+
+# Set a default command useful for debugging
+CMD ["/bin/bash", "--login"]
rename from testing/docker/decision/README.md
rename to taskcluster/docker/decision/README.md
copy from testing/docker/image_builder/REGISTRY
copy to taskcluster/docker/decision/REGISTRY
copy from testing/docker/decision/VERSION
copy to taskcluster/docker/decision/VERSION
rename from testing/docker/decision/system-setup.sh
rename to taskcluster/docker/decision/system-setup.sh
new file mode 100644
--- /dev/null
+++ b/taskcluster/docker/desktop-build/Dockerfile
@@ -0,0 +1,46 @@
+# TODO remove VOLUME below when the base image is updated next.
+FROM          taskcluster/centos6-build-upd:0.1.6.20160329195300
+MAINTAINER    Dustin J. Mitchell <dustin@mozilla.com>
+
+# TODO remove when base image is updated
+VOLUME /home/worker/workspace
+VOLUME /home/worker/tooltool-cache
+
+# Add build scripts; these are the entry points from the taskcluster worker, and
+# operate on environment variables
+ADD             bin /home/worker/bin
+RUN             chmod +x /home/worker/bin/*
+
+# Add wrapper scripts for xvfb allowing tasks to easily retry starting up xvfb
+# %include taskcluster/docker/recipes/xvfb.sh
+ADD topsrcdir/taskcluster/docker/recipes/xvfb.sh /home/worker/scripts/xvfb.sh
+
+# Add configuration
+COPY            dot-config                    /home/worker/.config
+
+# Generate machine uuid file
+RUN dbus-uuidgen --ensure=/var/lib/dbus/machine-id
+
+# Stubbed out credentials; mozharness looks for this file an issues a WARNING
+# if it's not found, which causes the build to fail.  Note that this needs to
+# be in the parent of the workspace directory and in the directory where
+# mozharness is run (not its --work-dir).  See Bug 1169652.
+ADD           oauth.txt /home/worker/
+
+# stubbed out buildprops, which keeps mozharness from choking
+# Note that this needs to be in the parent of the workspace directory and in
+# the directory where mozharness is run (not its --work-dir)
+ADD           buildprops.json /home/worker/
+
+# install tooltool directly from github where tooltool_wrapper.sh et al. expect
+# to find it
+RUN wget -O /builds/tooltool.py https://raw.githubusercontent.com/mozilla/build-tooltool/master/tooltool.py
+RUN chmod +x /builds/tooltool.py
+
+# Move installation to base centos6-build image once Bug 1272629 is fixed
+# Install the screen package here to use with xvfb.
+# Install bison to build binutils.
+RUN yum install -y bison screen
+
+# Set a default command useful for debugging
+CMD ["/bin/bash", "--login"]
rename from testing/docker/desktop-build/bin/build.sh
rename to taskcluster/docker/desktop-build/bin/build.sh
copy from testing/docker/desktop-build/bin/checkout-script.sh
copy to taskcluster/docker/desktop-build/bin/checkout-script.sh
rename from testing/docker/desktop-build/bin/checkout-sources.sh
rename to taskcluster/docker/desktop-build/bin/checkout-sources.sh
copy from testing/docker/desktop-build/buildprops.json
copy to taskcluster/docker/desktop-build/buildprops.json
copy from testing/docker/desktop-test/dot-files/config/pip/pip.conf
copy to taskcluster/docker/desktop-build/dot-config/pip/pip.conf
copy from testing/docker/desktop-build/oauth.txt
copy to taskcluster/docker/desktop-build/oauth.txt
new file mode 100644
--- /dev/null
+++ b/taskcluster/docker/desktop-test/Dockerfile
@@ -0,0 +1,106 @@
+FROM          ubuntu:12.04
+MAINTAINER    Jonas Finnemann Jensen <jopsen@gmail.com>
+
+RUN useradd -d /home/worker -s /bin/bash -m worker
+WORKDIR /home/worker
+
+# %include taskcluster/docker/recipes/tooltool.py
+ADD topsrcdir/taskcluster/docker/recipes/tooltool.py /setup/tooltool.py
+
+# %include taskcluster/docker/recipes/install-mercurial.sh
+ADD topsrcdir/taskcluster/docker/recipes/install-mercurial.sh /tmp/install-mercurial.sh
+
+# Add wrapper scripts for xvfb allowing tasks to easily retry starting up xvfb
+# %include taskcluster/docker/recipes/xvfb.sh
+ADD topsrcdir/taskcluster/docker/recipes/xvfb.sh /home/worker/scripts/xvfb.sh
+
+# %include taskcluster/docker/recipes/ubuntu1204-test-system-setup.sh
+ADD topsrcdir/taskcluster/docker/recipes/ubuntu1204-test-system-setup.sh /setup/system-setup.sh
+RUN bash /setup/system-setup.sh
+
+# %include taskcluster/docker/recipes/run-task
+ADD topsrcdir/taskcluster/docker/recipes/run-task /home/worker/bin/run-task
+
+# %include taskcluster/scripts/tester/test-ubuntu.sh
+ADD topsrcdir/taskcluster/scripts/tester/test-ubuntu.sh /home/worker/bin/test-linux.sh
+
+# This will create a host mounted filesystem when the cache is stripped
+# on Try. This cancels out some of the performance losses of aufs. See
+# bug 1291940.
+VOLUME /home/worker/hg-shared
+VOLUME /home/worker/checkouts
+VOLUME /home/worker/workspace
+
+# Set variable normally configured at login, by the shells parent process, these
+# are taken from GNU su manual
+ENV           HOME          /home/worker
+ENV           SHELL         /bin/bash
+ENV           USER          worker
+ENV           LOGNAME       worker
+ENV           HOSTNAME      taskcluster-worker
+ENV           LANG          en_US.UTF-8
+ENV           LC_ALL        en_US.UTF-8
+
+# Add utilities and configuration
+COPY           dot-files/config              /home/worker/.config
+COPY           dot-files/pulse               /home/worker/.pulse
+RUN            chmod +x bin/*
+# TODO: remove this when buildbot is gone
+COPY           buildprops.json               /home/worker/buildprops.json
+COPY           tc-vcs-config.yml /etc/taskcluster-vcs.yml
+
+# TODO: remove
+ADD            https://raw.githubusercontent.com/taskcluster/buildbot-step/master/buildbot_step /home/worker/bin/buildbot_step
+RUN chmod u+x /home/worker/bin/buildbot_step
+
+# TODO: remove
+ADD            https://s3-us-west-2.amazonaws.com/test-caching/packages/linux64-stackwalk /usr/local/bin/linux64-minidump_stackwalk
+RUN chmod +x /usr/local/bin/linux64-minidump_stackwalk
+
+# allow the worker user to access video devices
+RUN usermod -a -G video worker
+
+RUN mkdir Documents; mkdir Pictures; mkdir Music; mkdir Videos; mkdir artifacts
+
+# install tc-vcs and tc-npm-cache
+RUN npm install -g taskcluster-vcs@2.3.12 \
+ && npm install -g taskcluster-npm-cache@1.1.14 \
+ && rm -rf ~/.npm
+ENV PATH $PATH:/home/worker/bin
+
+# TODO Re-enable worker when bug 1093833 lands
+#USER          worker
+
+# clean up
+RUN rm -Rf .cache && mkdir -p .cache
+
+# Disable Ubuntu update prompt
+# http://askubuntu.com/questions/515161/ubuntu-12-04-disable-release-notification-of-14-04-in-update-manager
+ADD release-upgrades /etc/update-manager/release-upgrades
+
+# Disable tools with on-login popups that interfere with tests; see bug 1240084 and bug 984944.
+ADD jockey-gtk.desktop deja-dup-monitor.desktop /etc/xdg/autostart/
+
+# In test.sh we accept START_VNC to start a vnc daemon.
+# Exposing this port allows it to work.
+EXPOSE 5900
+
+# This helps not forgetting setting DISPLAY=:0 when running
+# tests outside of test.sh
+ENV DISPLAY :0
+
+# Disable apport (Ubuntu app crash reporter) to avoid stealing focus from test runs
+ADD apport /etc/default/apport
+
+# Disable font antialiasing for now to match releng's setup
+ADD fonts.conf /home/worker/.fonts.conf
+
+# Set up first-run experience for interactive mode
+ADD motd /etc/taskcluster-motd
+ADD taskcluster-interactive-shell /bin/taskcluster-interactive-shell
+RUN chmod +x /bin/taskcluster-interactive-shell
+
+RUN chown -R worker:worker /home/worker
+
+# Set a default command useful for debugging
+CMD ["/bin/bash", "--login"]
rename from testing/docker/desktop-test/apport
rename to taskcluster/docker/desktop-test/apport
rename from testing/docker/desktop-test/buildprops.json
rename to taskcluster/docker/desktop-test/buildprops.json
rename from testing/docker/desktop1604-test/deja-dup-monitor.desktop
rename to taskcluster/docker/desktop-test/deja-dup-monitor.desktop
copy from testing/docker/desktop-test/dot-files/config/pip/pip.conf
copy to taskcluster/docker/desktop-test/dot-files/config/pip/pip.conf
rename from testing/docker/desktop-test/dot-files/config/user-dirs.dirs
rename to taskcluster/docker/desktop-test/dot-files/config/user-dirs.dirs
rename from testing/docker/tester/dot-config/user-dirs.locale
rename to taskcluster/docker/desktop-test/dot-files/config/user-dirs.locale
rename from testing/docker/tester/dot-pulse/default.pa
rename to taskcluster/docker/desktop-test/dot-files/pulse/default.pa
rename from testing/docker/desktop1604-test/fonts.conf
rename to taskcluster/docker/desktop-test/fonts.conf
rename from testing/docker/desktop-test/jockey-gtk.desktop
rename to taskcluster/docker/desktop-test/jockey-gtk.desktop
rename from testing/docker/desktop-test/motd
rename to taskcluster/docker/desktop-test/motd
rename from testing/docker/desktop-test/release-upgrades
rename to taskcluster/docker/desktop-test/release-upgrades
rename from testing/docker/desktop-test/taskcluster-interactive-shell
rename to taskcluster/docker/desktop-test/taskcluster-interactive-shell
rename from testing/docker/desktop1604-test/tc-vcs-config.yml
rename to taskcluster/docker/desktop-test/tc-vcs-config.yml
rename from testing/docker/tester/tester.env
rename to taskcluster/docker/desktop-test/tester.env
new file mode 100644
--- /dev/null
+++ b/taskcluster/docker/desktop1604-test/Dockerfile
@@ -0,0 +1,108 @@
+FROM          ubuntu:16.04
+MAINTAINER    Joel Maher <joel.maher@gmail.com>
+
+RUN useradd -d /home/worker -s /bin/bash -m worker
+WORKDIR /home/worker
+
+# %include taskcluster/docker/recipes/tooltool.py
+ADD topsrcdir/taskcluster/docker/recipes/tooltool.py /setup/tooltool.py
+
+# %include taskcluster/docker/recipes/install-mercurial.sh
+ADD topsrcdir/taskcluster/docker/recipes/install-mercurial.sh /setup/install-mercurial.sh
+
+# %include taskcluster/docker/recipes/ubuntu1604-test-system-setup.sh
+ADD topsrcdir/taskcluster/docker/recipes/ubuntu1604-test-system-setup.sh /setup/system-setup.sh
+RUN           bash /setup/system-setup.sh
+
+# Add wrapper scripts for xvfb allowing tasks to easily retry starting up xvfb
+# %include taskcluster/docker/recipes/xvfb.sh
+ADD topsrcdir/taskcluster/docker/recipes/xvfb.sh /home/worker/scripts/xvfb.sh
+
+# %include taskcluster/docker/recipes/run-task
+ADD topsrcdir/taskcluster/docker/recipes/run-task /home/worker/bin/run-task
+
+# %include taskcluster/scripts/tester/test-ubuntu.sh
+ADD topsrcdir/taskcluster/scripts/tester/test-ubuntu.sh /home/worker/bin/test-linux.sh
+
+# This will create a host mounted filesystem when the cache is stripped
+# on Try. This cancels out some of the performance losses of aufs. See
+# bug 1291940.
+VOLUME /home/worker/hg-shared
+VOLUME /home/worker/checkouts
+VOLUME /home/worker/workspace
+
+# Set variable normally configured at login, by the shells parent process, these
+# are taken from GNU su manual
+ENV           HOME          /home/worker
+ENV           SHELL         /bin/bash
+ENV           USER          worker
+ENV           LOGNAME       worker
+ENV           HOSTNAME      taskcluster-worker
+ENV           LANG          en_US.UTF-8
+ENV           LC_ALL        en_US.UTF-8
+
+# Add utilities and configuration
+COPY           dot-files/config              /home/worker/.config
+COPY           dot-files/pulse               /home/worker/.pulse
+COPY           bin                           /home/worker/bin
+RUN            chmod +x bin/*
+# TODO: remove this when buildbot is gone
+COPY           buildprops.json               /home/worker/buildprops.json
+COPY           tc-vcs-config.yml /etc/taskcluster-vcs.yml
+
+# TODO: remove
+ADD            https://raw.githubusercontent.com/taskcluster/buildbot-step/master/buildbot_step /home/worker/bin/buildbot_step
+RUN chmod u+x /home/worker/bin/buildbot_step
+
+# TODO: remove
+ADD            https://s3-us-west-2.amazonaws.com/test-caching/packages/linux64-stackwalk /usr/local/bin/linux64-minidump_stackwalk
+RUN chmod +x /usr/local/bin/linux64-minidump_stackwalk
+
+# allow the worker user to access video devices
+RUN usermod -a -G video worker
+
+RUN mkdir Documents; mkdir Pictures; mkdir Music; mkdir Videos; mkdir artifacts
+
+# install a new enough npm, plus tc-vcs and tc-npm-cache
+RUN npm install -g npm@^2.0.0 \
+ && npm install -g taskcluster-vcs@2.3.12 \
+ && npm install -g taskcluster-npm-cache@1.1.14 \
+ && rm -rf ~/.npm
+ENV PATH $PATH:/home/worker/bin
+
+# TODO Re-enable worker when bug 1093833 lands
+#USER          worker
+
+# clean up
+RUN rm -Rf .cache && mkdir -p .cache
+
+# Disable Ubuntu update prompt
+# http://askubuntu.com/questions/515161/ubuntu-12-04-disable-release-notification-of-14-04-in-update-manager
+ADD release-upgrades /etc/update-manager/release-upgrades
+
+# Disable tools with on-login popups that interfere with tests; see bug 1240084 and bug 984944.
+ADD jockey-gtk.desktop deja-dup-monitor.desktop /etc/xdg/autostart/
+
+# In test.sh we accept START_VNC to start a vnc daemon.
+# Exposing this port allows it to work.
+EXPOSE 5900
+
+# This helps not forgetting setting DISPLAY=:0 when running
+# tests outside of test.sh
+ENV DISPLAY :0
+
+# Disable apport (Ubuntu app crash reporter) to avoid stealing focus from test runs
+ADD apport /etc/default/apport
+
+# Disable font antialiasing for now to match releng's setup
+ADD fonts.conf /home/worker/.fonts.conf
+
+# Set up first-run experience for interactive mode
+ADD motd /etc/taskcluster-motd
+ADD taskcluster-interactive-shell /bin/taskcluster-interactive-shell
+RUN chmod +x /bin/taskcluster-interactive-shell
+
+RUN chown -R worker:worker /home/worker
+
+# Set a default command useful for debugging
+CMD ["/bin/bash", "--login"]
copy from testing/docker/desktop-test/apport
copy to taskcluster/docker/desktop1604-test/apport
rename from testing/docker/desktop1604-test/bin/run-wizard
rename to taskcluster/docker/desktop1604-test/bin/run-wizard
copy from testing/docker/desktop-test/buildprops.json
copy to taskcluster/docker/desktop1604-test/buildprops.json
copy from testing/docker/desktop1604-test/deja-dup-monitor.desktop
copy to taskcluster/docker/desktop1604-test/deja-dup-monitor.desktop
copy from testing/docker/desktop-test/dot-files/config/pip/pip.conf
copy to taskcluster/docker/desktop1604-test/dot-files/config/pip/pip.conf
copy from testing/docker/desktop-test/dot-files/config/user-dirs.dirs
copy to taskcluster/docker/desktop1604-test/dot-files/config/user-dirs.dirs
copy from testing/docker/tester/dot-config/user-dirs.locale
copy to taskcluster/docker/desktop1604-test/dot-files/config/user-dirs.locale
copy from testing/docker/tester/dot-pulse/default.pa
copy to taskcluster/docker/desktop1604-test/dot-files/pulse/default.pa
copy from testing/docker/desktop1604-test/fonts.conf
copy to taskcluster/docker/desktop1604-test/fonts.conf
copy from testing/docker/desktop-test/jockey-gtk.desktop
copy to taskcluster/docker/desktop1604-test/jockey-gtk.desktop
copy from testing/docker/desktop-test/motd
copy to taskcluster/docker/desktop1604-test/motd
copy from testing/docker/desktop-test/release-upgrades
copy to taskcluster/docker/desktop1604-test/release-upgrades
rename from testing/docker/desktop1604-test/taskcluster-interactive-shell
rename to taskcluster/docker/desktop1604-test/taskcluster-interactive-shell
copy from testing/docker/desktop1604-test/tc-vcs-config.yml
copy to taskcluster/docker/desktop1604-test/tc-vcs-config.yml
copy from testing/docker/tester/tester.env
copy to taskcluster/docker/desktop1604-test/tester.env
rename from testing/docker/image_builder/Dockerfile
rename to taskcluster/docker/image_builder/Dockerfile
copy from testing/docker/image_builder/REGISTRY
copy to taskcluster/docker/image_builder/REGISTRY
rename from testing/docker/image_builder/VERSION
rename to taskcluster/docker/image_builder/VERSION
rename from testing/docker/image_builder/bin/build_image.sh
rename to taskcluster/docker/image_builder/bin/build_image.sh
new file mode 100644
--- /dev/null
+++ b/taskcluster/docker/lint/Dockerfile
@@ -0,0 +1,31 @@
+FROM          ubuntu:16.04
+MAINTAINER    Andrew Halberstadt <ahalberstadt@mozilla.com>
+
+RUN useradd -d /home/worker -s /bin/bash -m worker
+WORKDIR /home/worker
+
+RUN mkdir /build
+# %include taskcluster/docker/recipes/tooltool.py
+ADD topsrcdir/taskcluster/docker/recipes/tooltool.py /build/tooltool.py
+
+# %include taskcluster/docker/recipes/install-mercurial.sh
+ADD topsrcdir/taskcluster/docker/recipes/install-mercurial.sh /build/install-mercurial.sh
+ADD system-setup.sh /tmp/system-setup.sh
+RUN bash /tmp/system-setup.sh
+
+# %include taskcluster/docker/recipes/run-task
+ADD topsrcdir/taskcluster/docker/recipes/run-task /home/worker/bin/run-task
+RUN chown -R worker:worker /home/worker/bin && chmod 755 /home/worker/bin/*
+
+# Set variable normally configured at login, by the shells parent process, these
+# are taken from GNU su manual
+ENV           HOME          /home/worker
+ENV           SHELL         /bin/bash
+ENV           USER          worker
+ENV           LOGNAME       worker
+ENV           HOSTNAME      taskcluster-worker
+ENV           LANG          en_US.UTF-8
+ENV           LC_ALL        en_US.UTF-8
+
+# Set a default command useful for debugging
+CMD ["/bin/bash", "--login"]
rename from testing/docker/lint/system-setup.sh
rename to taskcluster/docker/lint/system-setup.sh
rename from testing/docker/phone-builder/Dockerfile
rename to taskcluster/docker/phone-builder/Dockerfile
rename from testing/docker/phone-builder/bin/validate_task.py
rename to taskcluster/docker/phone-builder/bin/validate_task.py
rename from testing/docker/phone-builder/hgrc
rename to taskcluster/docker/phone-builder/hgrc
rename from testing/docker/phone-builder/tc-vcs-config.yml
rename to taskcluster/docker/phone-builder/tc-vcs-config.yml
rename from testing/docker/phone-builder/tests/invalid_base_repo.yml
rename to taskcluster/docker/phone-builder/tests/invalid_base_repo.yml
rename from testing/docker/phone-builder/tests/invalid_head_repo.yml
rename to taskcluster/docker/phone-builder/tests/invalid_head_repo.yml
rename from testing/docker/phone-builder/tests/public.yml
rename to taskcluster/docker/phone-builder/tests/public.yml
rename from testing/docker/phone-builder/tests/test_validation.py
rename to taskcluster/docker/phone-builder/tests/test_validation.py
rename from testing/docker/phone-builder/tests/valid.yml
rename to taskcluster/docker/phone-builder/tests/valid.yml
rename from testing/docker/recipes/install-mercurial.sh
rename to taskcluster/docker/recipes/install-mercurial.sh
rename from testing/docker/recipes/run-task
rename to taskcluster/docker/recipes/run-task
rename from testing/docker/recipes/tooltool.py
rename to taskcluster/docker/recipes/tooltool.py
rename from testing/docker/recipes/ubuntu1204-test-system-setup.sh
rename to taskcluster/docker/recipes/ubuntu1204-test-system-setup.sh
rename from testing/docker/recipes/ubuntu1604-test-system-setup.sh
rename to taskcluster/docker/recipes/ubuntu1604-test-system-setup.sh
rename from testing/docker/recipes/xvfb.sh
rename to taskcluster/docker/recipes/xvfb.sh
rename from testing/docker/rust-build/Dockerfile
rename to taskcluster/docker/rust-build/Dockerfile
rename from testing/docker/rust-build/README.md
rename to taskcluster/docker/rust-build/README.md
rename from testing/docker/rust-build/REGISTRY
rename to taskcluster/docker/rust-build/REGISTRY
rename from testing/docker/rust-build/VERSION
rename to taskcluster/docker/rust-build/VERSION
rename from testing/docker/rust-build/build_cargo.sh
rename to taskcluster/docker/rust-build/build_cargo.sh
rename from testing/docker/rust-build/build_rust.sh
rename to taskcluster/docker/rust-build/build_rust.sh
rename from testing/docker/rust-build/build_rust_mac.sh
rename to taskcluster/docker/rust-build/build_rust_mac.sh
rename from testing/docker/rust-build/fetch_cargo.sh
rename to taskcluster/docker/rust-build/fetch_cargo.sh
rename from testing/docker/rust-build/fetch_rust.sh
rename to taskcluster/docker/rust-build/fetch_rust.sh
rename from testing/docker/rust-build/package_rust.sh
rename to taskcluster/docker/rust-build/package_rust.sh
rename from testing/docker/rust-build/repack_rust.py
rename to taskcluster/docker/rust-build/repack_rust.py
rename from testing/docker/rust-build/task.json
rename to taskcluster/docker/rust-build/task.json
rename from testing/docker/rust-build/tcbuild.py
rename to taskcluster/docker/rust-build/tcbuild.py
rename from testing/docker/rust-build/upload_rust.sh
rename to taskcluster/docker/rust-build/upload_rust.sh
rename from testing/docker/tester/Dockerfile
rename to taskcluster/docker/tester/Dockerfile
copy from testing/docker/image_builder/REGISTRY
copy to taskcluster/docker/tester/REGISTRY
rename from testing/docker/tester/VERSION
rename to taskcluster/docker/tester/VERSION
rename from testing/docker/tester/bin/test.sh
rename to taskcluster/docker/tester/bin/test.sh
copy from testing/docker/desktop-test/dot-files/config/pip/pip.conf
copy to taskcluster/docker/tester/dot-config/pip/pip.conf
rename from testing/docker/tester/dot-config/user-dirs.dirs
rename to taskcluster/docker/tester/dot-config/user-dirs.dirs
copy from testing/docker/tester/dot-config/user-dirs.locale
copy to taskcluster/docker/tester/dot-config/user-dirs.locale
copy from testing/docker/tester/dot-pulse/default.pa
copy to taskcluster/docker/tester/dot-pulse/default.pa
copy from testing/docker/desktop1604-test/tc-vcs-config.yml
copy to taskcluster/docker/tester/tc-vcs-config.yml
copy from testing/docker/tester/tester.env
copy to taskcluster/docker/tester/tester.env
--- a/taskcluster/taskgraph/task/docker_image.py
+++ b/taskcluster/taskgraph/task/docker_image.py
@@ -57,17 +57,17 @@ class DockerImageTask(base.Task):
             'level': params['level'],
             'source': '{repo}file/{rev}/taskcluster/ci/docker-image/image.yml'
                       .format(repo=params['head_repository'], rev=params['head_rev']),
         }
 
         tasks = []
         templates = Templates(path)
         for image_name in config['images']:
-            context_path = os.path.join('testing', 'docker', image_name)
+            context_path = os.path.join('taskcluster', 'docker', image_name)
 
             image_parameters = dict(parameters)
             image_parameters['context_path'] = context_path
             image_parameters['artifact_path'] = 'public/image.tar'
             image_parameters['image_name'] = image_name
 
             image_artifact_path = \
                 "public/docker_image_contexts/{}/context.tar.gz".format(image_name)
--- a/taskcluster/taskgraph/transforms/task.py
+++ b/taskcluster/taskgraph/transforms/task.py
@@ -127,17 +127,17 @@ task_description_schema = Schema({
 
         # For tasks that will run in docker-worker or docker-engine, this is the
         # name of the docker image or in-tree docker image to run the task in.  If
         # in-tree, then a dependency will be created automatically.  This is
         # generally `desktop-test`, or an image that acts an awful lot like it.
         Required('docker-image'): Any(
             # a raw Docker image path (repo/image:tag)
             basestring,
-            # an in-tree generated docker image (from `testing/docker/<name>`)
+            # an in-tree generated docker image (from `taskcluster/docker/<name>`)
             {'in-tree': basestring}
         ),
 
         # worker features that should be enabled
         Required('relengapi-proxy', default=False): bool,
         Required('taskcluster-proxy', default=False): bool,
         Required('allow-ptrace', default=False): bool,
         Required('loopback-video', default=False): bool,
--- a/taskcluster/taskgraph/transforms/tests/test_description.py
+++ b/taskcluster/taskgraph/transforms/tests/test_description.py
@@ -114,17 +114,17 @@ test_description_schema = Schema({
 
     # For tasks that will run in docker-worker or docker-engine, this is the
     # name of the docker image or in-tree docker image to run the task in.  If
     # in-tree, then a dependency will be created automatically.  This is
     # generally `desktop-test`, or an image that acts an awful lot like it.
     Required('docker-image', default={'in-tree': 'desktop-test'}): Any(
         # a raw Docker image path (repo/image:tag)
         basestring,
-        # an in-tree generated docker image (from `testing/docker/<name>`)
+        # an in-tree generated docker image (from `taskcluster/docker/<name>`)
         {'in-tree': basestring}
     ),
 
     # seconds of runtime after which the task will be killed.  Like 'chunks',
     # this can be keyed by test pltaform.
     Required('max-run-time', default=3600): Any(
         int,
         {'by-test-platform': {basestring: int}},
deleted file mode 100644
--- a/testing/docker/android-gradle-build/Dockerfile
+++ /dev/null
@@ -1,97 +0,0 @@
-# TODO remove VOLUME below when the base image is updated next.
-FROM          taskcluster/centos6-build-upd:0.1.6.20160329195300
-MAINTAINER    Nick Alexander <nalexander@mozilla.com>
-
-# BEGIN ../desktop-build/Dockerfile
-
-# TODO remove when base image is updated
-VOLUME /home/worker/workspace
-VOLUME /home/worker/tooltool-cache
-
-# Add build scripts; these are the entry points from the taskcluster worker, and
-# operate on environment variables
-ADD             bin /home/worker/bin
-RUN             chmod +x /home/worker/bin/*
-
-# Add wrapper scripts for xvfb allowing tasks to easily retry starting up xvfb
-# %include testing/docker/recipes/xvfb.sh
-ADD topsrcdir/testing/docker/recipes/xvfb.sh /home/worker/scripts/xvfb.sh
-
-# Add configuration
-COPY            dot-config                    /home/worker/.config
-
-# Generate machine uuid file
-RUN dbus-uuidgen --ensure=/var/lib/dbus/machine-id
-
-# Stubbed out credentials; mozharness looks for this file an issues a WARNING
-# if it's not found, which causes the build to fail.  Note that this needs to
-# be in the parent of the workspace directory and in the directory where
-# mozharness is run (not its --work-dir).  See Bug 1169652.
-ADD           oauth.txt /home/worker/
-
-# stubbed out buildprops, which keeps mozharness from choking
-# Note that this needs to be in the parent of the workspace directory and in
-# the directory where mozharness is run (not its --work-dir)
-ADD           buildprops.json /home/worker/
-
-# install tooltool directly from github where tooltool_wrapper.sh et al. expect
-# to find it
-RUN wget -O /builds/tooltool.py https://raw.githubusercontent.com/mozilla/build-tooltool/master/tooltool.py
-RUN chmod +x /builds/tooltool.py
-
-# END ../desktop-build/Dockerfile
-
-# Reset user/workdir from parent image so we can install software.
-WORKDIR /
-USER root
-
-# Update base.
-RUN yum upgrade -y
-
-# Install JDK and Sonatype Nexus.  Cribbed directly from
-# https://github.com/sonatype/docker-nexus/blob/fffd2c61b2368292040910c055cf690c8e76a272/oss/Dockerfile.
-
-# Install the screen package here to use with xvfb.
-# Move installation to base centos6-build image once Bug 1272629 is fixed
-RUN yum install -y \
-  createrepo \
-  curl \
-  java-1.7.0-openjdk-devel \
-  java-1.7.0-openjdk \
-  screen \
-  sudo \
-  tar \
-  unzip \
-  wget \
-  zip \
-  && yum clean all
-
-ENV NEXUS_VERSION 2.12.0-01
-ENV NEXUS_SHA1SUM 1a9aaad8414baffe0a2fd46eed1f41b85f4049e6
-
-RUN mkdir -p /opt/sonatype/nexus
-
-WORKDIR /tmp
-RUN curl --fail --silent --location --retry 3 \
-    https://download.sonatype.com/nexus/oss/nexus-${NEXUS_VERSION}-bundle.tar.gz \
-    -o /tmp/nexus-${NEXUS_VERSION}-bundle.tar.gz
-
-# Observe the two spaces below.  Seriously.
-RUN echo "${NEXUS_SHA1SUM}  nexus-${NEXUS_VERSION}-bundle.tar.gz" > nexus-${NEXUS_VERSION}-bundle.tar.gz.sha1
-RUN sha1sum --check nexus-${NEXUS_VERSION}-bundle.tar.gz.sha1
-
-RUN tar zxf nexus-${NEXUS_VERSION}-bundle.tar.gz \
-  && mv /tmp/nexus-${NEXUS_VERSION}/* /opt/sonatype/nexus/ \
-  && rm -rf /tmp/nexus-${NEXUS_VERSION} \
-  && rm -rf /tmp/nexus-${NEXUS_VERSION}-bundle.tar.gz
-
-# Install tooltool directly from github.
-RUN mkdir /build
-ADD https://raw.githubusercontent.com/mozilla/build-tooltool/master/tooltool.py /build/tooltool.py
-RUN chmod +rx /build/tooltool.py
-
-# Back to the centos6-build workdir, matching desktop-build.
-WORKDIR /home/worker
-
-# Set a default command useful for debugging
-CMD ["/bin/bash", "--login"]
deleted file mode 100644
--- a/testing/docker/android-gradle-build/REGISTRY
+++ /dev/null
@@ -1,1 +0,0 @@
-taskcluster
deleted file mode 100644
--- a/testing/docker/android-gradle-build/bin/checkout-script.sh
+++ /dev/null
@@ -1,17 +0,0 @@
-#! /bin/bash -vex
-
-set -x -e
-
-# Inputs, with defaults
-
-: GECKO_HEAD_REPOSITORY              ${GECKO_HEAD_REPOSITORY:=https://hg.mozilla.org/mozilla-central}
-: GECKO_HEAD_REV                ${GECKO_HEAD_REV:=default}
-
-: SCRIPT_DOWNLOAD_PATH          ${SCRIPT_DOWNLOAD_PATH:=$PWD}
-: SCRIPT_PATH                   ${SCRIPT_PATH:?"script path must be set"}
-set -v
-
-# download script from the gecko repository
-url=${GECKO_HEAD_REPOSITORY}/raw-file/${GECKO_HEAD_REV}/${SCRIPT_PATH}
-wget --directory-prefix=${SCRIPT_DOWNLOAD_PATH} $url
-chmod +x `basename ${SCRIPT_PATH}`
deleted file mode 100644
--- a/testing/docker/android-gradle-build/buildprops.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
-  "properties": {
-    "buildername": ""
-  },
-  "sourcestamp": {
-    "changes": []
-  },
-  "comments": "TaskCluster Job"
-}
deleted file mode 100644
--- a/testing/docker/android-gradle-build/dot-config/pip/pip.conf
+++ /dev/null
@@ -1,4 +0,0 @@
-[global]
-disable-pip-version-check = true
-trusted-host = pypi.pub.build.mozilla.org
-
deleted file mode 100644
--- a/testing/docker/android-gradle-build/oauth.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-taskcluster_clientId = None
-taskcluster_accessToken = None
deleted file mode 100644
--- a/testing/docker/base-test/REGISTRY
+++ /dev/null
@@ -1,1 +0,0 @@
-taskcluster
deleted file mode 100644
--- a/testing/docker/builder/REGISTRY
+++ /dev/null
@@ -1,1 +0,0 @@
-taskcluster
deleted file mode 100644
--- a/testing/docker/centos6-build-upd/REGISTRY
+++ /dev/null
@@ -1,1 +0,0 @@
-taskcluster
deleted file mode 100644
--- a/testing/docker/centos6-build/REGISTRY
+++ /dev/null
@@ -1,1 +0,0 @@
-taskcluster
deleted file mode 100644
--- a/testing/docker/centos6-build/VERSION
+++ /dev/null
@@ -1,1 +0,0 @@
-0.1.6
deleted file mode 100644
--- a/testing/docker/decision/Dockerfile
+++ /dev/null
@@ -1,25 +0,0 @@
-FROM          ubuntu:16.04
-MAINTAINER    Greg Arndt <garndt@mozilla.com>
-
-# Add worker user
-RUN useradd -d /home/worker -s /bin/bash -m worker
-RUN mkdir /home/worker/artifacts && chown worker:worker /home/worker/artifacts
-
-# %include testing/docker/recipes/tooltool.py
-ADD topsrcdir/testing/docker/recipes/tooltool.py /tmp/tooltool.py
-
-# %include testing/docker/recipes/install-mercurial.sh
-ADD topsrcdir/testing/docker/recipes/install-mercurial.sh /tmp/install-mercurial.sh
-
-ADD system-setup.sh /tmp/system-setup.sh
-RUN bash /tmp/system-setup.sh
-
-# %include testing/docker/recipes/run-task
-ADD topsrcdir/testing/docker/recipes/run-task /home/worker/bin/run-task
-
-ENV PATH /home/worker/bin:$PATH
-ENV SHELL /bin/bash
-ENV HOME /home/worker
-
-# Set a default command useful for debugging
-CMD ["/bin/bash", "--login"]
deleted file mode 100644
--- a/testing/docker/decision/REGISTRY
+++ /dev/null
@@ -1,1 +0,0 @@
-taskcluster
deleted file mode 100644
--- a/testing/docker/desktop-build/Dockerfile
+++ /dev/null
@@ -1,46 +0,0 @@
-# TODO remove VOLUME below when the base image is updated next.
-FROM          taskcluster/centos6-build-upd:0.1.6.20160329195300
-MAINTAINER    Dustin J. Mitchell <dustin@mozilla.com>
-
-# TODO remove when base image is updated
-VOLUME /home/worker/workspace
-VOLUME /home/worker/tooltool-cache
-
-# Add build scripts; these are the entry points from the taskcluster worker, and
-# operate on environment variables
-ADD             bin /home/worker/bin
-RUN             chmod +x /home/worker/bin/*
-
-# Add wrapper scripts for xvfb allowing tasks to easily retry starting up xvfb
-# %include testing/docker/recipes/xvfb.sh
-ADD topsrcdir/testing/docker/recipes/xvfb.sh /home/worker/scripts/xvfb.sh
-
-# Add configuration
-COPY            dot-config                    /home/worker/.config
-
-# Generate machine uuid file
-RUN dbus-uuidgen --ensure=/var/lib/dbus/machine-id
-
-# Stubbed out credentials; mozharness looks for this file an issues a WARNING
-# if it's not found, which causes the build to fail.  Note that this needs to
-# be in the parent of the workspace directory and in the directory where
-# mozharness is run (not its --work-dir).  See Bug 1169652.
-ADD           oauth.txt /home/worker/
-
-# stubbed out buildprops, which keeps mozharness from choking
-# Note that this needs to be in the parent of the workspace directory and in
-# the directory where mozharness is run (not its --work-dir)
-ADD           buildprops.json /home/worker/
-
-# install tooltool directly from github where tooltool_wrapper.sh et al. expect
-# to find it
-RUN wget -O /builds/tooltool.py https://raw.githubusercontent.com/mozilla/build-tooltool/master/tooltool.py
-RUN chmod +x /builds/tooltool.py
-
-# Move installation to base centos6-build image once Bug 1272629 is fixed
-# Install the screen package here to use with xvfb.
-# Install bison to build binutils.
-RUN yum install -y bison screen
-
-# Set a default command useful for debugging
-CMD ["/bin/bash", "--login"]
deleted file mode 100644
--- a/testing/docker/desktop-build/dot-config/pip/pip.conf
+++ /dev/null
@@ -1,4 +0,0 @@
-[global]
-disable-pip-version-check = true
-trusted-host = pypi.pub.build.mozilla.org
-
deleted file mode 100644
--- a/testing/docker/desktop-test/Dockerfile
+++ /dev/null
@@ -1,106 +0,0 @@
-FROM          ubuntu:12.04
-MAINTAINER    Jonas Finnemann Jensen <jopsen@gmail.com>
-
-RUN useradd -d /home/worker -s /bin/bash -m worker
-WORKDIR /home/worker
-
-# %include testing/docker/recipes/tooltool.py
-ADD topsrcdir/testing/docker/recipes/tooltool.py /setup/tooltool.py
-
-# %include testing/docker/recipes/install-mercurial.sh
-ADD topsrcdir/testing/docker/recipes/install-mercurial.sh /tmp/install-mercurial.sh
-
-# Add wrapper scripts for xvfb allowing tasks to easily retry starting up xvfb
-# %include testing/docker/recipes/xvfb.sh
-ADD topsrcdir/testing/docker/recipes/xvfb.sh /home/worker/scripts/xvfb.sh
-
-# %include testing/docker/recipes/ubuntu1204-test-system-setup.sh
-ADD topsrcdir/testing/docker/recipes/ubuntu1204-test-system-setup.sh /setup/system-setup.sh
-RUN bash /setup/system-setup.sh
-
-# %include testing/docker/recipes/run-task
-ADD topsrcdir/testing/docker/recipes/run-task /home/worker/bin/run-task
-
-# %include taskcluster/scripts/tester/test-ubuntu.sh
-ADD topsrcdir/taskcluster/scripts/tester/test-ubuntu.sh /home/worker/bin/test-linux.sh
-
-# This will create a host mounted filesystem when the cache is stripped
-# on Try. This cancels out some of the performance losses of aufs. See
-# bug 1291940.
-VOLUME /home/worker/hg-shared
-VOLUME /home/worker/checkouts
-VOLUME /home/worker/workspace
-
-# Set variable normally configured at login, by the shells parent process, these
-# are taken from GNU su manual
-ENV           HOME          /home/worker
-ENV           SHELL         /bin/bash
-ENV           USER          worker
-ENV           LOGNAME       worker
-ENV           HOSTNAME      taskcluster-worker
-ENV           LANG          en_US.UTF-8
-ENV           LC_ALL        en_US.UTF-8
-
-# Add utilities and configuration
-COPY           dot-files/config              /home/worker/.config
-COPY           dot-files/pulse               /home/worker/.pulse
-RUN            chmod +x bin/*
-# TODO: remove this when buildbot is gone
-COPY           buildprops.json               /home/worker/buildprops.json
-COPY           tc-vcs-config.yml /etc/taskcluster-vcs.yml
-
-# TODO: remove
-ADD            https://raw.githubusercontent.com/taskcluster/buildbot-step/master/buildbot_step /home/worker/bin/buildbot_step
-RUN chmod u+x /home/worker/bin/buildbot_step
-
-# TODO: remove
-ADD            https://s3-us-west-2.amazonaws.com/test-caching/packages/linux64-stackwalk /usr/local/bin/linux64-minidump_stackwalk
-RUN chmod +x /usr/local/bin/linux64-minidump_stackwalk
-
-# allow the worker user to access video devices
-RUN usermod -a -G video worker
-
-RUN mkdir Documents; mkdir Pictures; mkdir Music; mkdir Videos; mkdir artifacts
-
-# install tc-vcs and tc-npm-cache
-RUN npm install -g taskcluster-vcs@2.3.12 \
- && npm install -g taskcluster-npm-cache@1.1.14 \
- && rm -rf ~/.npm
-ENV PATH $PATH:/home/worker/bin
-
-# TODO Re-enable worker when bug 1093833 lands
-#USER          worker
-
-# clean up
-RUN rm -Rf .cache && mkdir -p .cache
-
-# Disable Ubuntu update prompt
-# http://askubuntu.com/questions/515161/ubuntu-12-04-disable-release-notification-of-14-04-in-update-manager
-ADD release-upgrades /etc/update-manager/release-upgrades
-
-# Disable tools with on-login popups that interfere with tests; see bug 1240084 and bug 984944.
-ADD jockey-gtk.desktop deja-dup-monitor.desktop /etc/xdg/autostart/
-
-# In test.sh we accept START_VNC to start a vnc daemon.
-# Exposing this port allows it to work.
-EXPOSE 5900
-
-# This helps not forgetting setting DISPLAY=:0 when running
-# tests outside of test.sh
-ENV DISPLAY :0
-
-# Disable apport (Ubuntu app crash reporter) to avoid stealing focus from test runs
-ADD apport /etc/default/apport
-
-# Disable font antialiasing for now to match releng's setup
-ADD fonts.conf /home/worker/.fonts.conf
-
-# Set up first-run experience for interactive mode
-ADD motd /etc/taskcluster-motd
-ADD taskcluster-interactive-shell /bin/taskcluster-interactive-shell
-RUN chmod +x /bin/taskcluster-interactive-shell
-
-RUN chown -R worker:worker /home/worker
-
-# Set a default command useful for debugging
-CMD ["/bin/bash", "--login"]
deleted file mode 100644
--- a/testing/docker/desktop-test/deja-dup-monitor.desktop
+++ /dev/null
@@ -1,19 +0,0 @@
-[Desktop Entry]
-Version=1.0
-X-Ubuntu-Gettext-Domain=deja-dup
-
-Name=Backup Monitor
-Comment=Schedules backups at regular intervals
-
-Icon=deja-dup
-TryExec=/usr/lib/deja-dup/deja-dup/deja-dup-monitor
-Exec=/usr/lib/deja-dup/deja-dup/deja-dup-monitor
-
-# Bug 984944/1240084 - It prevents taking screenshots
-X-GNOME-Autostart-Delay=false
-
-StartupNotify=false
-NoDisplay=true
-
-Type=Application
-Categories=System;Utility;Archiving;
deleted file mode 100644
--- a/testing/docker/desktop-test/dot-files/config/user-dirs.locale
+++ /dev/null
@@ -1,1 +0,0 @@
-en_US
deleted file mode 100644
--- a/testing/docker/desktop-test/dot-files/pulse/default.pa
+++ /dev/null
@@ -1,164 +0,0 @@
-#!/usr/bin/pulseaudio -nF
-#
-# This file is part of PulseAudio.
-#
-# PulseAudio is free software; you can redistribute it and/or modify it
-# under the terms of the GNU Lesser General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# PulseAudio is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public License
-# along with PulseAudio; if not, write to the Free Software Foundation,
-# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-
-# This startup script is used only if PulseAudio is started per-user
-# (i.e. not in system mode)
-
-.nofail
-
-### Load something into the sample cache
-#load-sample-lazy x11-bell /usr/share/sounds/gtk-events/activate.wav
-#load-sample-lazy pulse-hotplug /usr/share/sounds/startup3.wav
-#load-sample-lazy pulse-coldplug /usr/share/sounds/startup3.wav
-#load-sample-lazy pulse-access /usr/share/sounds/generic.wav
-
-.fail
-
-### Automatically restore the volume of streams and devices
-load-module module-device-restore
-load-module module-stream-restore
-load-module module-card-restore
-
-### Automatically augment property information from .desktop files
-### stored in /usr/share/application
-load-module module-augment-properties
-
-### Load audio drivers statically
-### (it's probably better to not load these drivers manually, but instead
-### use module-udev-detect -- see below -- for doing this automatically)
-#load-module module-alsa-sink
-#load-module module-alsa-source device=hw:1,0
-#load-module module-oss device="/dev/dsp" sink_name=output source_name=input
-#load-module module-oss-mmap device="/dev/dsp" sink_name=output source_name=input
-#load-module module-null-sink
-#load-module module-pipe-sink
-
-### Automatically load driver modules depending on the hardware available
-.ifexists module-udev-detect.so
-load-module module-udev-detect
-.else
-### Use the static hardware detection module (for systems that lack udev/hal support)
-load-module module-detect
-.endif
-
-### Automatically connect sink and source if JACK server is present
-.ifexists module-jackdbus-detect.so
-.nofail
-load-module module-jackdbus-detect
-.fail
-.endif
-
-### Automatically load driver modules for Bluetooth hardware
-# This module causes a pulseaudio startup failure on "gecko-tester"
-#.ifexists module-bluetooth-discover.so
-#load-module module-bluetooth-discover
-#.endif
-
-### Load several protocols
-.ifexists module-esound-protocol-unix.so
-load-module module-esound-protocol-unix
-.endif
-load-module module-native-protocol-unix
-
-### Network access (may be configured with paprefs, so leave this commented
-### here if you plan to use paprefs)
-#load-module module-esound-protocol-tcp
-#load-module module-native-protocol-tcp
-#load-module module-zeroconf-publish
-
-### Load the RTP receiver module (also configured via paprefs, see above)
-#load-module module-rtp-recv
-
-### Load the RTP sender module (also configured via paprefs, see above)
-#load-module module-null-sink sink_name=rtp format=s16be channels=2 rate=44100 sink_properties="device.description='RTP Multicast Sink'"
-#load-module module-rtp-send source=rtp.monitor
-
-### Load additional modules from GConf settings. This can be configured with the paprefs tool.
-### Please keep in mind that the modules configured by paprefs might conflict with manually
-### loaded modules.
-.ifexists module-gconf.so
-.nofail
-load-module module-gconf
-.fail
-.endif
-
-### Automatically restore the default sink/source when changed by the user
-### during runtime
-### NOTE: This should be loaded as early as possible so that subsequent modules
-### that look up the default sink/source get the right value
-load-module module-default-device-restore
-
-### Automatically move streams to the default sink if the sink they are
-### connected to dies, similar for sources
-load-module module-rescue-streams
-
-### Make sure we always have a sink around, even if it is a null sink.
-load-module module-always-sink
-
-### Honour intended role device property
-load-module module-intended-roles
-
-### Automatically suspend sinks/sources that become idle for too long
-load-module module-suspend-on-idle
-
-### If autoexit on idle is enabled we want to make sure we only quit
-### when no local session needs us anymore.
-# This module causes a pulseaudio startup failure on "gecko-tester"
-#.ifexists module-console-kit.so
-#load-module module-console-kit
-#.endif
-
-### Enable positioned event sounds
-load-module module-position-event-sounds
-
-### Cork music streams when a phone stream is active
-#load-module module-cork-music-on-phone
-
-### Modules to allow autoloading of filters (such as echo cancellation)
-### on demand. module-filter-heuristics tries to determine what filters
-### make sense, and module-filter-apply does the heavy-lifting of
-### loading modules and rerouting streams.
-load-module module-filter-heuristics
-load-module module-filter-apply
-
-### Load DBus protocol
-#.ifexists module-dbus-protocol.so
-#load-module module-dbus-protocol
-#.endif
-
-# X11 modules should not be started from default.pa so that one daemon
-# can be shared by multiple sessions.
-
-### Load X11 bell module
-#load-module module-x11-bell sample=bell-windowing-system
-
-### Register ourselves in the X11 session manager
-#load-module module-x11-xsmp
-
-### Publish connection data in the X11 root window
-#.ifexists module-x11-publish.so
-#.nofail
-#load-module module-x11-publish
-#.fail
-#.endif
-
-load-module module-switch-on-port-available
-
-### Make some devices default
-#set-default-sink output
-#set-default-source input
deleted file mode 100644
--- a/testing/docker/desktop-test/fonts.conf
+++ /dev/null
@@ -1,5 +0,0 @@
-<match target="font">
-  <edit name="antialias" mode="assign">
-   <bool>false</bool>
-  </edit>
-</match>
deleted file mode 100644
--- a/testing/docker/desktop-test/tc-vcs-config.yml
+++ /dev/null
@@ -1,40 +0,0 @@
-# Default configuration used by the tc-vs tools these can be overridden by
-# passing the config you wish to use over the command line...
-git: git
-hg: hg
-
-repoCache:
-  # Repo url to clone when running repo init..
-  repoUrl: https://gerrit.googlesource.com/git-repo.git
-  # Version of repo to utilize...
-  repoRevision: master
-  # The root where all downloaded cache files are stored on the local machine...
-  cacheDir: '{{env.HOME}}/.tc-vcs-repo/'
-  # Name/prefixed used as part of the base url.
-  cacheName: sources/{{name}}.tar.gz
-  # Command used to upload the tarball
-  uploadTar: "curl --header 'Content-Type: application/x-tar' --header 'Content-Encoding: gzip' -X PUT --data-binary @'{{source}}' '{{url}}'"
-  # Large http get requests are often slower using nodes built in http layer so
-  # we utilize a subprocess which is responsible for fetching...
-  get: curl --connect-timeout 30 --speed-limit 500000 -L -o {{dest}} {{url}}
-  # Used to create clone tarball
-  compress: tar -czf {{dest}} {{source}}
-  # All cache urls use tar + gz this is the command used to extract those files
-  # downloaded by the "get" command.
-  extract: tar -x -z -C {{dest}} -f {{source}}
-
-cloneCache:
-  # The root where all downloaded cache files are stored on the local machine...
-  cacheDir: '{{env.HOME}}/.tc-vcs/'
-  # Command used to upload the tarball
-  uploadTar: "curl --header 'Content-Type: application/x-tar' --header 'Content-Encoding: gzip' -X PUT --data-binary @'{{source}}' '{{url}}'"
-  # Large http get requests are often slower using nodes built in http layer so
-  # we utilize a subprocess which is responsible for fetching...
-  get: curl --connect-timeout 30 --speed-limit 500000 -L -o {{dest}} {{url}}
-  # Used to create clone tarball
-  compress: tar -czf {{dest}} {{source}}
-  # All cache urls use tar + gz this is the command used to extract those files
-  # downloaded by the "get" command.
-  extract: tar -x -z --strip-components 1 -C {{dest}} -f {{source}}
-  # Name/prefixed used as part of the base url.
-  cacheName: clones/{{name}}.tar.gz
deleted file mode 100644
--- a/testing/docker/desktop-test/tester.env
+++ /dev/null
@@ -1,4 +0,0 @@
-GAIA_REV=tip
-GAIA_REF=tip
-GAIA_BASE_REPOSITORY=https://hg.mozilla.org/integration/gaia-central
-GAIA_HEAD_REPOSITORY=https://hg.mozilla.org/integration/gaia-central
deleted file mode 100644
--- a/testing/docker/desktop1604-test/Dockerfile
+++ /dev/null
@@ -1,108 +0,0 @@
-FROM          ubuntu:16.04
-MAINTAINER    Joel Maher <joel.maher@gmail.com>
-
-RUN useradd -d /home/worker -s /bin/bash -m worker
-WORKDIR /home/worker
-
-# %include testing/docker/recipes/tooltool.py
-ADD topsrcdir/testing/docker/recipes/tooltool.py /setup/tooltool.py
-
-# %include testing/docker/recipes/install-mercurial.sh
-ADD topsrcdir/testing/docker/recipes/install-mercurial.sh /setup/install-mercurial.sh
-
-# %include testing/docker/recipes/ubuntu1604-test-system-setup.sh
-ADD topsrcdir/testing/docker/recipes/ubuntu1604-test-system-setup.sh /setup/system-setup.sh
-RUN           bash /setup/system-setup.sh
-
-# Add wrapper scripts for xvfb allowing tasks to easily retry starting up xvfb
-# %include testing/docker/recipes/xvfb.sh
-ADD topsrcdir/testing/docker/recipes/xvfb.sh /home/worker/scripts/xvfb.sh
-
-# %include testing/docker/recipes/run-task
-ADD topsrcdir/testing/docker/recipes/run-task /home/worker/bin/run-task
-
-# %include taskcluster/scripts/tester/test-ubuntu.sh
-ADD topsrcdir/taskcluster/scripts/tester/test-ubuntu.sh /home/worker/bin/test-linux.sh
-
-# This will create a host mounted filesystem when the cache is stripped
-# on Try. This cancels out some of the performance losses of aufs. See
-# bug 1291940.
-VOLUME /home/worker/hg-shared
-VOLUME /home/worker/checkouts
-VOLUME /home/worker/workspace
-
-# Set variable normally configured at login, by the shells parent process, these
-# are taken from GNU su manual
-ENV           HOME          /home/worker
-ENV           SHELL         /bin/bash
-ENV           USER          worker
-ENV           LOGNAME       worker
-ENV           HOSTNAME      taskcluster-worker
-ENV           LANG          en_US.UTF-8
-ENV           LC_ALL        en_US.UTF-8
-
-# Add utilities and configuration
-COPY           dot-files/config              /home/worker/.config
-COPY           dot-files/pulse               /home/worker/.pulse
-COPY           bin                           /home/worker/bin
-RUN            chmod +x bin/*
-# TODO: remove this when buildbot is gone
-COPY           buildprops.json               /home/worker/buildprops.json
-COPY           tc-vcs-config.yml /etc/taskcluster-vcs.yml
-
-# TODO: remove
-ADD            https://raw.githubusercontent.com/taskcluster/buildbot-step/master/buildbot_step /home/worker/bin/buildbot_step
-RUN chmod u+x /home/worker/bin/buildbot_step
-
-# TODO: remove
-ADD            https://s3-us-west-2.amazonaws.com/test-caching/packages/linux64-stackwalk /usr/local/bin/linux64-minidump_stackwalk
-RUN chmod +x /usr/local/bin/linux64-minidump_stackwalk
-
-# allow the worker user to access video devices
-RUN usermod -a -G video worker
-
-RUN mkdir Documents; mkdir Pictures; mkdir Music; mkdir Videos; mkdir artifacts
-
-# install a new enough npm, plus tc-vcs and tc-npm-cache
-RUN npm install -g npm@^2.0.0 \
- && npm install -g taskcluster-vcs@2.3.12 \
- && npm install -g taskcluster-npm-cache@1.1.14 \
- && rm -rf ~/.npm
-ENV PATH $PATH:/home/worker/bin
-
-# TODO Re-enable worker when bug 1093833 lands
-#USER          worker
-
-# clean up
-RUN rm -Rf .cache && mkdir -p .cache
-
-# Disable Ubuntu update prompt
-# http://askubuntu.com/questions/515161/ubuntu-12-04-disable-release-notification-of-14-04-in-update-manager
-ADD release-upgrades /etc/update-manager/release-upgrades
-
-# Disable tools with on-login popups that interfere with tests; see bug 1240084 and bug 984944.
-ADD jockey-gtk.desktop deja-dup-monitor.desktop /etc/xdg/autostart/
-
-# In test.sh we accept START_VNC to start a vnc daemon.
-# Exposing this port allows it to work.
-EXPOSE 5900
-
-# This helps not forgetting setting DISPLAY=:0 when running
-# tests outside of test.sh
-ENV DISPLAY :0
-
-# Disable apport (Ubuntu app crash reporter) to avoid stealing focus from test runs
-ADD apport /etc/default/apport
-
-# Disable font antialiasing for now to match releng's setup
-ADD fonts.conf /home/worker/.fonts.conf
-
-# Set up first-run experience for interactive mode
-ADD motd /etc/taskcluster-motd
-ADD taskcluster-interactive-shell /bin/taskcluster-interactive-shell
-RUN chmod +x /bin/taskcluster-interactive-shell
-
-RUN chown -R worker:worker /home/worker
-
-# Set a default command useful for debugging
-CMD ["/bin/bash", "--login"]
deleted file mode 100644
--- a/testing/docker/desktop1604-test/apport
+++ /dev/null
@@ -1,1 +0,0 @@
-enabled=0
deleted file mode 100644
--- a/testing/docker/desktop1604-test/buildprops.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-  "properties": {
-    "buildername": ""
-  },
-  "sourcestamp": {
-    "changes": []
-  }
-}
deleted file mode 100644
--- a/testing/docker/desktop1604-test/dot-files/config/pip/pip.conf
+++ /dev/null
@@ -1,4 +0,0 @@
-[global]
-disable-pip-version-check = true
-trusted-host = pypi.pub.build.mozilla.org
-
deleted file mode 100644
--- a/testing/docker/desktop1604-test/dot-files/config/user-dirs.dirs
+++ /dev/null
@@ -1,15 +0,0 @@
-# This file is written by xdg-user-dirs-update
-# If you want to change or add directories, just edit the line you're
-# interested in. All local changes will be retained on the next run
-# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped
-# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
-# absolute path. No other format is supported.
-
-XDG_DESKTOP_DIR="$HOME/Desktop"
-XDG_DOWNLOAD_DIR="$HOME/Downloads"
-XDG_TEMPLATES_DIR="$HOME/Templates"
-XDG_PUBLICSHARE_DIR="$HOME/Public"
-XDG_DOCUMENTS_DIR="$HOME/Documents"
-XDG_MUSIC_DIR="$HOME/Music"
-XDG_PICTURES_DIR="$HOME/Pictures"
-XDG_VIDEOS_DIR="$HOME/Videos"
deleted file mode 100644
--- a/testing/docker/desktop1604-test/dot-files/config/user-dirs.locale
+++ /dev/null
@@ -1,1 +0,0 @@
-en_US
deleted file mode 100644
--- a/testing/docker/desktop1604-test/dot-files/pulse/default.pa
+++ /dev/null
@@ -1,164 +0,0 @@
-#!/usr/bin/pulseaudio -nF
-#
-# This file is part of PulseAudio.
-#
-# PulseAudio is free software; you can redistribute it and/or modify it
-# under the terms of the GNU Lesser General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# PulseAudio is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public License
-# along with PulseAudio; if not, write to the Free Software Foundation,
-# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-
-# This startup script is used only if PulseAudio is started per-user
-# (i.e. not in system mode)
-
-.nofail
-
-### Load something into the sample cache
-#load-sample-lazy x11-bell /usr/share/sounds/gtk-events/activate.wav
-#load-sample-lazy pulse-hotplug /usr/share/sounds/startup3.wav
-#load-sample-lazy pulse-coldplug /usr/share/sounds/startup3.wav
-#load-sample-lazy pulse-access /usr/share/sounds/generic.wav
-
-.fail
-
-### Automatically restore the volume of streams and devices
-load-module module-device-restore
-load-module module-stream-restore
-load-module module-card-restore
-
-### Automatically augment property information from .desktop files
-### stored in /usr/share/application
-load-module module-augment-properties
-
-### Load audio drivers statically
-### (it's probably better to not load these drivers manually, but instead
-### use module-udev-detect -- see below -- for doing this automatically)
-#load-module module-alsa-sink
-#load-module module-alsa-source device=hw:1,0
-#load-module module-oss device="/dev/dsp" sink_name=output source_name=input
-#load-module module-oss-mmap device="/dev/dsp" sink_name=output source_name=input
-#load-module module-null-sink
-#load-module module-pipe-sink
-
-### Automatically load driver modules depending on the hardware available
-.ifexists module-udev-detect.so
-load-module module-udev-detect
-.else
-### Use the static hardware detection module (for systems that lack udev/hal support)
-load-module module-detect
-.endif
-
-### Automatically connect sink and source if JACK server is present
-.ifexists module-jackdbus-detect.so
-.nofail
-load-module module-jackdbus-detect
-.fail
-.endif
-
-### Automatically load driver modules for Bluetooth hardware
-# This module causes a pulseaudio startup failure on "gecko-tester"
-#.ifexists module-bluetooth-discover.so
-#load-module module-bluetooth-discover
-#.endif
-
-### Load several protocols
-.ifexists module-esound-protocol-unix.so
-load-module module-esound-protocol-unix
-.endif
-load-module module-native-protocol-unix
-
-### Network access (may be configured with paprefs, so leave this commented
-### here if you plan to use paprefs)
-#load-module module-esound-protocol-tcp
-#load-module module-native-protocol-tcp
-#load-module module-zeroconf-publish
-
-### Load the RTP receiver module (also configured via paprefs, see above)
-#load-module module-rtp-recv
-
-### Load the RTP sender module (also configured via paprefs, see above)
-#load-module module-null-sink sink_name=rtp format=s16be channels=2 rate=44100 sink_properties="device.description='RTP Multicast Sink'"
-#load-module module-rtp-send source=rtp.monitor
-
-### Load additional modules from GConf settings. This can be configured with the paprefs tool.
-### Please keep in mind that the modules configured by paprefs might conflict with manually
-### loaded modules.
-.ifexists module-gconf.so
-.nofail
-load-module module-gconf
-.fail
-.endif
-
-### Automatically restore the default sink/source when changed by the user
-### during runtime
-### NOTE: This should be loaded as early as possible so that subsequent modules
-### that look up the default sink/source get the right value
-load-module module-default-device-restore
-
-### Automatically move streams to the default sink if the sink they are
-### connected to dies, similar for sources
-load-module module-rescue-streams
-
-### Make sure we always have a sink around, even if it is a null sink.
-load-module module-always-sink
-
-### Honour intended role device property
-load-module module-intended-roles
-
-### Automatically suspend sinks/sources that become idle for too long
-load-module module-suspend-on-idle
-
-### If autoexit on idle is enabled we want to make sure we only quit
-### when no local session needs us anymore.
-# This module causes a pulseaudio startup failure on "gecko-tester"
-#.ifexists module-console-kit.so
-#load-module module-console-kit
-#.endif
-
-### Enable positioned event sounds
-load-module module-position-event-sounds
-
-### Cork music streams when a phone stream is active
-#load-module module-cork-music-on-phone
-
-### Modules to allow autoloading of filters (such as echo cancellation)
-### on demand. module-filter-heuristics tries to determine what filters
-### make sense, and module-filter-apply does the heavy-lifting of
-### loading modules and rerouting streams.
-load-module module-filter-heuristics
-load-module module-filter-apply
-
-### Load DBus protocol
-#.ifexists module-dbus-protocol.so
-#load-module module-dbus-protocol
-#.endif
-
-# X11 modules should not be started from default.pa so that one daemon
-# can be shared by multiple sessions.
-
-### Load X11 bell module
-#load-module module-x11-bell sample=bell-windowing-system
-
-### Register ourselves in the X11 session manager
-#load-module module-x11-xsmp
-
-### Publish connection data in the X11 root window
-#.ifexists module-x11-publish.so
-#.nofail
-#load-module module-x11-publish
-#.fail
-#.endif
-
-load-module module-switch-on-port-available
-
-### Make some devices default
-#set-default-sink output
-#set-default-source input
deleted file mode 100644
--- a/testing/docker/desktop1604-test/jockey-gtk.desktop
+++ /dev/null
@@ -1,15 +0,0 @@
-[Desktop Entry]
-Name=Check for new hardware drivers
-Comment=Notify about new hardware drivers available for the system
-Icon=jockey
-Exec=sh -c "test -e /var/cache/jockey/check || exec jockey-gtk --check"
-Terminal=false
-Type=Application
-Categories=System;Settings;GTK;HardwareSettings;
-NotShowIn=KDE;
-X-Ubuntu-Gettext-Domain=jockey
-
-# Bug 984944/1240084 - It prevents taking screenshots
-X-GNOME-Autostart-Delay=false
-
-NoDisplay=true
deleted file mode 100644
--- a/testing/docker/desktop1604-test/motd
+++ /dev/null
@@ -1,6 +0,0 @@
-Welcome to your taskcluster interactive shell! The regularly scheduled task
-has been paused to give you a chance to set up your debugging environment.
-
-For your convenience, the exact mozharness command needed for this task can
-be invoked using the 'run-mozharness' command.
-
deleted file mode 100644
--- a/testing/docker/desktop1604-test/release-upgrades
+++ /dev/null
@@ -1,17 +0,0 @@
-# Default behavior for the release upgrader.
-
-[DEFAULT]
-# Default prompting behavior, valid options:
-#
-#  never  - Never check for a new release.
-#  normal - Check to see if a new release is available.  If more than one new
-#           release is found, the release upgrader will attempt to upgrade to
-#           the release that immediately succeeds the currently-running
-#           release.
-#  lts    - Check to see if a new LTS release is available.  The upgrader
-#           will attempt to upgrade to the first LTS release available after
-#           the currently-running one.  Note that this option should not be
-#           used if the currently-running release is not itself an LTS
-#           release, since in that case the upgrader won't be able to
-#           determine if a newer release is available.
-Prompt=never
deleted file mode 100644
--- a/testing/docker/desktop1604-test/tester.env
+++ /dev/null
@@ -1,4 +0,0 @@
-GAIA_REV=tip
-GAIA_REF=tip
-GAIA_BASE_REPOSITORY=https://hg.mozilla.org/integration/gaia-central
-GAIA_HEAD_REPOSITORY=https://hg.mozilla.org/integration/gaia-central
deleted file mode 100644
--- a/testing/docker/lint/Dockerfile
+++ /dev/null
@@ -1,31 +0,0 @@
-FROM          ubuntu:16.04
-MAINTAINER    Andrew Halberstadt <ahalberstadt@mozilla.com>
-
-RUN useradd -d /home/worker -s /bin/bash -m worker
-WORKDIR /home/worker
-
-RUN mkdir /build
-# %include testing/docker/recipes/tooltool.py
-ADD topsrcdir/testing/docker/recipes/tooltool.py /build/tooltool.py
-
-# %include testing/docker/recipes/install-mercurial.sh
-ADD topsrcdir/testing/docker/recipes/install-mercurial.sh /build/install-mercurial.sh
-ADD system-setup.sh /tmp/system-setup.sh
-RUN bash /tmp/system-setup.sh
-
-# %include testing/docker/recipes/run-task
-ADD topsrcdir/testing/docker/recipes/run-task /home/worker/bin/run-task
-RUN chown -R worker:worker /home/worker/bin && chmod 755 /home/worker/bin/*
-
-# Set variable normally configured at login, by the shells parent process, these
-# are taken from GNU su manual
-ENV           HOME          /home/worker
-ENV           SHELL         /bin/bash
-ENV           USER          worker
-ENV           LOGNAME       worker
-ENV           HOSTNAME      taskcluster-worker
-ENV           LANG          en_US.UTF-8
-ENV           LC_ALL        en_US.UTF-8
-
-# Set a default command useful for debugging
-CMD ["/bin/bash", "--login"]
deleted file mode 100644
--- a/testing/docker/tester/REGISTRY
+++ /dev/null
@@ -1,1 +0,0 @@
-taskcluster
deleted file mode 100644
--- a/testing/docker/tester/dot-config/pip/pip.conf
+++ /dev/null
@@ -1,4 +0,0 @@
-[global]
-disable-pip-version-check = true
-trusted-host = pypi.pub.build.mozilla.org
-
deleted file mode 100644
--- a/testing/docker/tester/tc-vcs-config.yml
+++ /dev/null
@@ -1,40 +0,0 @@
-# Default configuration used by the tc-vs tools these can be overridden by
-# passing the config you wish to use over the command line...
-git: git
-hg: hg
-
-repoCache:
-  # Repo url to clone when running repo init..
-  repoUrl: https://gerrit.googlesource.com/git-repo.git
-  # Version of repo to utilize...
-  repoRevision: master
-  # The root where all downloaded cache files are stored on the local machine...
-  cacheDir: '{{env.HOME}}/.tc-vcs-repo/'
-  # Name/prefixed used as part of the base url.
-  cacheName: sources/{{name}}.tar.gz
-  # Command used to upload the tarball
-  uploadTar: "curl --header 'Content-Type: application/x-tar' --header 'Content-Encoding: gzip' -X PUT --data-binary @'{{source}}' '{{url}}'"
-  # Large http get requests are often slower using nodes built in http layer so
-  # we utilize a subprocess which is responsible for fetching...
-  get: curl --connect-timeout 30 --speed-limit 500000 -L -o {{dest}} {{url}}
-  # Used to create clone tarball
-  compress: tar -czf {{dest}} {{source}}
-  # All cache urls use tar + gz this is the command used to extract those files
-  # downloaded by the "get" command.
-  extract: tar -x -z -C {{dest}} -f {{source}}
-
-cloneCache:
-  # The root where all downloaded cache files are stored on the local machine...
-  cacheDir: '{{env.HOME}}/.tc-vcs/'
-  # Command used to upload the tarball
-  uploadTar: "curl --header 'Content-Type: application/x-tar' --header 'Content-Encoding: gzip' -X PUT --data-binary @'{{source}}' '{{url}}'"
-  # Large http get requests are often slower using nodes built in http layer so
-  # we utilize a subprocess which is responsible for fetching...
-  get: curl --connect-timeout 30 --speed-limit 500000 -L -o {{dest}} {{url}}
-  # Used to create clone tarball
-  compress: tar -czf {{dest}} {{source}}
-  # All cache urls use tar + gz this is the command used to extract those files
-  # downloaded by the "get" command.
-  extract: tar -x -z --strip-components 1 -C {{dest}} -f {{source}}
-  # Name/prefixed used as part of the base url.
-  cacheName: clones/{{name}}.tar.gz