Bug 1286075: delete the legacy kind; r=mshal
authorDustin J. Mitchell <dustin@mozilla.com>
Thu, 08 Sep 2016 00:31:35 +0000
changeset 357220 e96a7223e0d0032ac9d17c477393d5f596349317
parent 357219 e612e0d4d0f17bfd1a75ecc4f3f3aff847a53245
child 357221 550404a4b851662a64fd9355fe176d932fcfe0eb
push id1324
push usermtabara@mozilla.com
push dateMon, 16 Jan 2017 13:07:44 +0000
treeherdermozilla-release@a01c49833940 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmshal
bugs1286075
milestone51.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 1286075: delete the legacy kind; r=mshal MozReview-Commit-ID: F99tUGUWj6d
taskcluster/ci/legacy/kind.yml
taskcluster/ci/legacy/routes.json
taskcluster/ci/legacy/tasks/branches/alder/job_flags.yml
taskcluster/ci/legacy/tasks/branches/ash/job_flags.yml
taskcluster/ci/legacy/tasks/branches/autoland/job_flags.yml
taskcluster/ci/legacy/tasks/branches/base_job_flags.yml
taskcluster/ci/legacy/tasks/branches/base_jobs.yml
taskcluster/ci/legacy/tasks/branches/mozilla-central/job_flags.yml
taskcluster/ci/legacy/tasks/branches/mozilla-inbound/job_flags.yml
taskcluster/ci/legacy/tasks/branches/stylo-try/job_flags.yml
taskcluster/ci/legacy/tasks/branches/stylo/job_flags.yml
taskcluster/ci/legacy/tasks/branches/try/job_flags.yml
taskcluster/ci/legacy/tasks/build.yml
taskcluster/ci/legacy/tasks/builds/android_api_15.yml
taskcluster/ci/legacy/tasks/builds/android_api_15_debug.yml
taskcluster/ci/legacy/tasks/builds/android_api_15_gradle.yml
taskcluster/ci/legacy/tasks/builds/android_api_15_gradle_dependencies.yml
taskcluster/ci/legacy/tasks/builds/android_api_15_partner_sample1.yml
taskcluster/ci/legacy/tasks/builds/android_checkstyle.yml
taskcluster/ci/legacy/tasks/builds/android_lint.yml
taskcluster/ci/legacy/tasks/builds/android_test.yml
taskcluster/ci/legacy/tasks/builds/android_x86.yml
taskcluster/ci/legacy/tasks/builds/b2g_aries_debug.yml
taskcluster/ci/legacy/tasks/builds/b2g_aries_eng.yml
taskcluster/ci/legacy/tasks/builds/b2g_base.yml
taskcluster/ci/legacy/tasks/builds/b2g_nexus_5l_debug.yml
taskcluster/ci/legacy/tasks/builds/b2g_nexus_5l_eng.yml
taskcluster/ci/legacy/tasks/builds/b2g_phone_base.yml
taskcluster/ci/legacy/tasks/builds/b2g_phone_eng_base.yml
taskcluster/ci/legacy/tasks/builds/base_linux32.yml
taskcluster/ci/legacy/tasks/builds/base_linux64.yml
taskcluster/ci/legacy/tasks/builds/base_macosx64.yml
taskcluster/ci/legacy/tasks/builds/base_win32.yml
taskcluster/ci/legacy/tasks/builds/base_win64.yml
taskcluster/ci/legacy/tasks/builds/dbg_linux32.yml
taskcluster/ci/legacy/tasks/builds/dbg_linux64.yml
taskcluster/ci/legacy/tasks/builds/dbg_linux64_asan.yml
taskcluster/ci/legacy/tasks/builds/dbg_macosx64.yml
taskcluster/ci/legacy/tasks/builds/dbg_win32.yml
taskcluster/ci/legacy/tasks/builds/dbg_win64.yml
taskcluster/ci/legacy/tasks/builds/firefox_docker_base.yml
taskcluster/ci/legacy/tasks/builds/firefox_l10n_base.yml
taskcluster/ci/legacy/tasks/builds/firefox_l10n_linux32.yml
taskcluster/ci/legacy/tasks/builds/firefox_l10n_linux64.yml
taskcluster/ci/legacy/tasks/builds/firefox_windows_base.yml
taskcluster/ci/legacy/tasks/builds/haz_linux.yml
taskcluster/ci/legacy/tasks/builds/haz_shell_linux.yml
taskcluster/ci/legacy/tasks/builds/linux64_clang.yml
taskcluster/ci/legacy/tasks/builds/linux64_gcc.yml
taskcluster/ci/legacy/tasks/builds/mobile_base.yml
taskcluster/ci/legacy/tasks/builds/mulet_haz_linux.yml
taskcluster/ci/legacy/tasks/builds/mulet_linux.yml
taskcluster/ci/legacy/tasks/builds/mulet_linux_dbg.yml
taskcluster/ci/legacy/tasks/builds/opt_linux32.yml
taskcluster/ci/legacy/tasks/builds/opt_linux64.yml
taskcluster/ci/legacy/tasks/builds/opt_linux64_artifact.yml
taskcluster/ci/legacy/tasks/builds/opt_linux64_asan.yml
taskcluster/ci/legacy/tasks/builds/opt_linux64_pgo.yml
taskcluster/ci/legacy/tasks/builds/opt_linux64_st-an.yml
taskcluster/ci/legacy/tasks/builds/opt_linux64_valgrind.yml
taskcluster/ci/legacy/tasks/builds/opt_macosx64.yml
taskcluster/ci/legacy/tasks/builds/opt_macosx64_st-an.yml
taskcluster/ci/legacy/tasks/builds/opt_win32.yml
taskcluster/ci/legacy/tasks/builds/opt_win64.yml
taskcluster/ci/legacy/tasks/builds/sm_arm64_sim.yml
taskcluster/ci/legacy/tasks/builds/sm_arm_sim.yml
taskcluster/ci/legacy/tasks/builds/sm_arm_sim_osx.yml
taskcluster/ci/legacy/tasks/builds/sm_asan.yml
taskcluster/ci/legacy/tasks/builds/sm_base.yml
taskcluster/ci/legacy/tasks/builds/sm_compacting.yml
taskcluster/ci/legacy/tasks/builds/sm_msan.yml
taskcluster/ci/legacy/tasks/builds/sm_nonunified.yml
taskcluster/ci/legacy/tasks/builds/sm_package.yml
taskcluster/ci/legacy/tasks/builds/sm_plain.yml
taskcluster/ci/legacy/tasks/builds/sm_plaindebug.yml
taskcluster/ci/legacy/tasks/builds/sm_rootanalysis.yml
taskcluster/ci/legacy/tasks/builds/sm_tsan.yml
taskcluster/ci/legacy/tasks/builds/sm_variant_base.yml
taskcluster/ci/legacy/tasks/docker_build.yml
taskcluster/ci/legacy/tasks/docker_test.yml
taskcluster/ci/legacy/tasks/harness_test.yml
taskcluster/ci/legacy/tasks/image.yml
taskcluster/ci/legacy/tasks/l10n.yml
taskcluster/ci/legacy/tasks/lint.yml
taskcluster/ci/legacy/tasks/phone_build.yml
taskcluster/ci/legacy/tasks/post-builds/upload_symbols.yml
taskcluster/ci/legacy/tasks/test.yml
taskcluster/ci/legacy/tasks/tests/harness_marionette.yml
taskcluster/ci/legacy/tasks/tests/mozharness-gecko.yml
taskcluster/ci/legacy/tasks/tests/mozlint-eslint.yml
taskcluster/ci/legacy/tasks/tests/mozlint-flake8.yml
taskcluster/ci/legacy/tasks/tests/mozlint-wpt.yml
taskcluster/ci/legacy/tasks/tests/sphinx.yml
taskcluster/ci/legacy/tasks/tests/taskgraph-tests.yml
taskcluster/ci/legacy/tasks/windows_build.yml
taskcluster/ci/legacy/tasks/windows_test.yml
taskcluster/docs/attributes.rst
taskcluster/docs/kinds.rst
taskcluster/taskgraph/task/nightly_fennec.py
taskcluster/taskgraph/task/transform.py
taskcluster/taskgraph/test/test_task_legacy.py
taskcluster/taskgraph/test/test_taskgraph.py
taskcluster/taskgraph/test/test_util_legacy_commit_parser.py
taskcluster/taskgraph/try_option_syntax.py
taskcluster/taskgraph/util/legacy_commit_parser.py
testing/mozharness/configs/routes.json
testing/mozharness/mozharness/mozilla/building/buildbase.py
testing/mozharness/scripts/desktop_l10n.py
testing/mozharness/scripts/mobile_l10n.py
deleted file mode 100644
--- a/taskcluster/ci/legacy/kind.yml
+++ /dev/null
@@ -1,6 +0,0 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-implementation: 'taskgraph.task.legacy:LegacyTask'
-legacy_path: '.'
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/branches/alder/job_flags.yml
+++ /dev/null
@@ -1,14 +0,0 @@
----
-# For complete sample of all build and test jobs,
-# see <gecko>/testing/taskcluster/tasks/branches/base_job_flags.yml
-
-$inherits:
-  from: tasks/branches/base_job_flags.yml
-
-builds:
-  linux64-mulet:
-    platforms:
-      - b2g
-    types:
-      opt:
-        task: tasks/builds/mulet_linux.yml
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/branches/ash/job_flags.yml
+++ /dev/null
@@ -1,30 +0,0 @@
----
-# For complete sample of all build and test jobs,
-# see <gecko>/testing/taskcluster/tasks/branches/base_job_flags.yml
-
-$inherits:
-  from: tasks/branches/base_job_flags.yml
-
-builds:
-  linux64:
-    platforms:
-      - Linux64
-    types:
-      opt:
-        task: tasks/builds/opt_linux64.yml
-      debug:
-        task: tasks/builds/dbg_linux64.yml
-  linux64-asan:
-    platforms:
-      - Linux64 ASan
-    types:
-      opt:
-        task: tasks/builds/opt_linux64_asan.yml
-      debug:
-        task: tasks/builds/dbg_linux64_asan.yml
-  linux64-pgo:
-    platforms:
-      - Linux64 PGO
-    types:
-      opt:
-        task: tasks/builds/opt_linux64_pgo.yml
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/branches/autoland/job_flags.yml
+++ /dev/null
@@ -1,24 +0,0 @@
----
-# For complete sample of all build and test jobs,
-# see <gecko>/testing/taskcluster/tasks/branches/base_job_flags.yml
-
-$inherits:
-  from: tasks/branches/base_jobs.yml
-
-builds:
-  aries-eng:
-    platforms:
-      - b2g
-    types:
-      opt:
-        task: tasks/builds/b2g_aries_eng.yml
-      debug:
-        task: tasks/builds/b2g_aries_debug.yml
-  nexus-5l-eng:
-    platforms:
-      - b2g
-    types:
-      opt:
-        task: tasks/builds/b2g_nexus_5l_eng.yml
-      debug:
-        task: tasks/builds/b2g_nexus_5l_debug.yml
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/branches/base_job_flags.yml
+++ /dev/null
@@ -1,81 +0,0 @@
----
-# List of all possible flags for each category of tests used in the case where
-# "all" is specified.
-flags:
-  builds:
-    - linux32_gecko  # b2g desktop linux 32 bit
-    - linux64_gecko  # b2g desktop linux 64 bit
-    - linux64-mulet  # Firefox desktop - b2g gecko linux 64 bit
-    - linux64-haz    # Firefox desktop browser, rooting hazard analysis
-    - linux64-shell-haz  # JS shell, rooting hazard analysis
-    - linux64-mulet-haz  # Firefox desktop - b2g gecko linux 64 bit, rooting hazard analysis
-    - macosx64_gecko # b2g desktop osx 64 bit
-    - win32_gecko    # b2g desktop win 32 bit
-    - nexus-5l-eng
-    - aries-eng
-    - android-api-15
-    - android-api-15-l10n
-    - android-api-15-gradle
-    - android-api-15-frontend
-    - android-partner-sample1
-    - android-x86
-    - linux
-    - linux-l10n    # Desktop l10n
-    - linux64
-    - linux64-l10n  # Desktop l10n
-    - linux64-st-an
-    - linux64-artifact
-    - linux64-asan
-    - linux64-pgo
-    - linux64-valgrind
-    - macosx64
-    - macosx64-st-an
-    - win32
-    - win64
-
-  tests:
-    - cppunit
-    - crashtest
-    - crashtest-e10s
-    - external-media-tests
-    - firefox-ui-functional-local
-    - firefox-ui-functional-local-e10s
-    - firefox-ui-functional-remote
-    - firefox-ui-functional-remote-e10s
-    - gtest
-    - jittests
-    - jsreftest
-    - jsreftest-e10s
-    - luciddream
-    - marionette
-    - marionette-e10s
-    - marionette-webapi
-    - mochitest
-    - mochitest-a11y
-    - mochitest-browser-chrome
-    - mochitest-browser-chrome-e10s
-    - mochitest-chrome
-    - mochitest-devtools-chrome
-    - mochitest-devtools-chrome-e10s
-    - mochitest-e10s
-    - mochitest-jetpack
-    - mochitest-media
-    - mochitest-media-e10s
-    - mochitest-webgl
-    - mochitest-webgl-e10s
-    - mochitest-gpu
-    - mochitest-gpu-e10s
-    - mochitest-clipboard
-    - mochitest-clipboard-e10s
-    - mochitest-valgrind
-    - mozmill
-    - reftest
-    - reftest-e10s
-    - reftest-no-accel
-    - reftest-no-accel-e10s
-    - robocop
-    - web-platform-tests
-    - web-platform-tests-e10s
-    - web-platform-tests-reftests
-    - web-platform-tests-reftests-e10s
-    - xpcshell
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/branches/base_jobs.yml
+++ /dev/null
@@ -1,396 +0,0 @@
----
-# For complete sample of all build and test jobs,
-# see <gecko>/testing/taskcluster/tasks/branches/base_job_flags.yml
-
-$inherits:
-  from: tasks/branches/base_job_flags.yml
-
-builds:
-  android-api-15:
-    platforms:
-      - Android
-    extra-builds:  # see RIDEALONG_BUILDS in `mach taskgraph`
-      - android-api-15-l10n
-    types:
-      opt:
-        task: tasks/builds/android_api_15.yml
-      debug:
-        task: tasks/builds/android_api_15_debug.yml
-  android-x86:
-    platforms:
-      - Android
-    types:
-      opt:
-        task: tasks/builds/android_x86.yml
-  android-api-15-gradle:
-    platforms:
-      - Android
-    types:
-      opt:
-        task: tasks/builds/android_api_15_gradle.yml
-  linux64-mulet:
-    platforms:
-      - Mulet Linux
-    types:
-      opt:
-        task: tasks/builds/mulet_linux.yml
-      debug:
-        task: tasks/builds/mulet_linux_dbg.yml
-  linux:
-    platforms:
-      - Linux
-    extra-builds:  # see RIDEALONG_BUILDS in `mach taskgraph`
-      - linux-l10n
-    types:
-      opt:
-        task: tasks/builds/opt_linux32.yml
-      debug:
-        task: tasks/builds/dbg_linux32.yml
-  linux64:
-    platforms:
-      - Linux64
-    extra-builds:  # see RIDEALONG_BUILDS in `mach taskgraph`
-      - linux64-l10n
-      - sm-plain
-      - sm-nonunified
-      - sm-arm-sim
-      - sm-arm64-sim
-      - sm-compacting
-      - sm-rootanalysis
-      - sm-package
-      - sm-asan
-      - sm-msan
-    types:
-      opt:
-        task: tasks/builds/opt_linux64.yml
-      debug:
-        task: tasks/builds/dbg_linux64.yml
-  linux64-artifact:
-    platforms:
-      - Linux64
-    types:
-      opt:
-        task: tasks/builds/opt_linux64_artifact.yml
-  linux64-st-an:
-    platforms:
-      - Linux64 Static Analysis
-    types:
-      opt:
-        task: tasks/builds/opt_linux64_st-an.yml
-  linux64-asan:
-    platforms:
-      - Linux64 ASan
-    types:
-      opt:
-        task: tasks/builds/opt_linux64_asan.yml
-      debug:
-        task: tasks/builds/dbg_linux64_asan.yml
-  linux64-haz:
-    platforms:
-      - Linux64
-    types:
-      debug:
-        task: tasks/builds/haz_linux.yml
-  linux64-shell-haz:
-    platforms:
-      - Linux64
-    types:
-      debug:
-        task: tasks/builds/haz_shell_linux.yml
-    when:
-      file_patterns:
-       - js/public/**
-       - js/src/**
-  linux64-pgo:
-    platforms:
-      - Linux64 PGO
-    types:
-      opt:
-        task: tasks/builds/opt_linux64_pgo.yml
-  linux64-valgrind:
-    platforms:
-      - Linux64 Valgrind
-    types:
-      opt:
-        task: tasks/builds/opt_linux64_valgrind.yml
-  macosx64:
-    platforms:
-      - MacOSX64
-    types:
-      opt:
-        task: tasks/builds/opt_macosx64.yml
-      debug:
-        task: tasks/builds/dbg_macosx64.yml
-  macosx64-st-an:
-    platforms:
-      - MacOSX64 Static Analysis
-    types:
-      opt:
-        task: tasks/builds/opt_macosx64_st-an.yml
-  sm-plain:
-    platforms:
-      - Linux64
-    types:
-      opt:
-        task: tasks/builds/sm_plain.yml
-      debug:
-        task: tasks/builds/sm_plaindebug.yml
-    when:
-      file_patterns:
-       - js/public/**
-       - js/src/**
-    when:
-      file_patterns:
-       - js/public/**
-       - js/src/**
-  sm-nonunified:
-    platforms:
-      - Linux64
-    types:
-      debug:
-        task: tasks/builds/sm_nonunified.yml
-    when:
-      file_patterns:
-       - js/public/**
-       - js/src/**
-  sm-arm-sim:
-    platforms:
-      - Linux64
-    types:
-      debug:
-        task: tasks/builds/sm_arm_sim.yml
-    when:
-      file_patterns:
-       - js/public/**
-       - js/src/**
-  sm-arm64-sim:
-    platforms:
-      - Linux64
-    types:
-      debug:
-        task: tasks/builds/sm_arm64_sim.yml
-    when:
-      file_patterns:
-       - js/public/**
-       - js/src/**
-  sm-arm-sim-osx:
-    platforms:
-      - Linux64
-    types:
-      debug:
-        task: tasks/builds/sm_arm_sim_osx.yml
-    when:
-      file_patterns:
-       - js/public/**
-       - js/src/**
-  sm-compacting:
-    platforms:
-      - Linux64
-    types:
-      debug:
-        task: tasks/builds/sm_compacting.yml
-    when:
-      file_patterns:
-       - js/public/**
-       - js/src/**
-  sm-package:
-    platforms:
-      - Linux64
-    types:
-      opt:
-        task: tasks/builds/sm_package.yml
-    when:
-      # Make sure this list stays in sync with the files and directories copied
-      # by `js/src/make-source-package.sh`!
-      file_patterns:
-        - build/**
-        - configure.py
-        - dom/bindings/**
-        - intl/icu/**
-        - js/moz.configure
-        - js/public/**
-        - js/src/**
-        - layout/tools/reftest/reftest/**
-        - media/webrtc/trunk/tools/gyp/**
-        - memory/**
-        - mfbt/**
-        - modules/fdlibm/**
-        - modules/zlib/src/**
-        - mozglue/**
-        - moz.configure
-        - nsprpub/**
-        - python/**
-        - taskcluster/moz.build
-        - testing/mozbase/**
-        - test.mozbuild
-        - toolkit/mozapps/installer/package-name.mk
-        - toolkit/mozapps/installer/upload-files.mk
-  sm-rootanalysis:
-    platforms:
-      - Linux64
-    types:
-      debug:
-        task: tasks/builds/sm_rootanalysis.yml
-    when:
-      file_patterns:
-       - js/public/**
-       - js/src/**
-  sm-asan:
-    platforms:
-      - Linux64
-    types:
-      opt:
-        task: tasks/builds/sm_asan.yml
-    when:
-      file_patterns:
-       - js/public/**
-       - js/src/**
-  sm-msan:
-    platforms:
-      - Linux64
-    types:
-      opt:
-        task: tasks/builds/sm_msan.yml
-    when:
-      file_patterns:
-       - js/public/**
-       - js/src/**
-  win32:
-    platforms:
-      - win32
-    types:
-      opt:
-        task: tasks/builds/opt_win32.yml
-      debug:
-        task: tasks/builds/dbg_win32.yml
-  win64:
-    platforms:
-      - win64
-    types:
-      opt:
-        task: tasks/builds/opt_win64.yml
-      debug:
-        task: tasks/builds/dbg_win64.yml
-
-# Miscellaneous tasks.
-tasks:
-  mozlint-eslint:
-    task: tasks/tests/mozlint-eslint.yml
-    root: true
-    when:
-      file_patterns:
-        # Files that are likely audited.
-        - '**/*.js'
-        - '**/*.jsm'
-        - '**/*.jsx'
-        - '**/*.html'
-        - '**/*.xhtml'
-        - '**/*.xml'
-        # 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/**'
-  mozlint-flake8:
-    task: tasks/tests/mozlint-flake8.yml
-    root: true
-    when:
-      file_patterns:
-        - '**/*.py'
-        - '**/.flake8'
-        - 'python/mozlint/**'
-        - 'tools/lint/**'
-        - 'testing/docker/lint/**'
-  wptlint-gecko:
-    task: tasks/tests/mozlint-wpt.yml
-    root: true
-    when:
-      file_patterns:
-        - 'testing/web-platform/tests/**'
-        - 'python/mozlint/**'
-        - 'tools/lint/**'
-        - 'testing/docker/lint/**'
-  sphinx:
-    task: tasks/tests/sphinx.yml
-    root: true
-    when:
-      file_patterns:
-        - '**/*.py'
-        - '**/*.rst'
-        - 'tools/docs/**'
-  taskgraph-tests:
-    task: tasks/tests/taskgraph-tests.yml
-    root: true
-    when:
-      file_patterns:
-        - 'taskcluster/**/*.py'
-        - 'config/mozunit.py'
-        - 'python/mach/**/*.py'
-  android-api-15-gradle-dependencies:
-    task: tasks/builds/android_api_15_gradle_dependencies.yml
-    root: true
-    when:
-      file_patterns:
-        - 'mobile/android/config/**'
-        - 'testing/docker/android-gradle-build/**'
-        - 'testing/mozharness/configs/builds/releng_sub_android_configs/*gradle_dependencies.py'
-        - '**/*.gradle'
-  android-test:
-    task: tasks/builds/android_test.yml
-    root: true
-    when:
-      file_patterns:
-        - 'mobile/android/base/**'
-        - 'mobile/android/tests/background/junit4/**'
-  android-checkstyle:
-    task: tasks/builds/android_checkstyle.yml
-    root: true
-    when:
-      file_patterns:
-        - 'mobile/android/**/checkstyle.xml'
-        - 'mobile/android/**/*.gradle'
-        - 'mobile/android/**/*.java'
-  android-lint:
-    task: tasks/builds/android_lint.yml
-    root: true
-    when:
-      file_patterns:
-        - 'mobile/android/**/*.java'
-        - 'mobile/android/**/*.jpeg'
-        - 'mobile/android/**/*.jpg'
-        - 'mobile/android/**/*.png'
-        - 'mobile/android/**/*.svg'
-        - 'mobile/android/**/*.xml' # Manifest & android resources
-        - 'mobile/android/**/build.gradle'
-  mozharness:
-    task: tasks/tests/mozharness-gecko.yml
-    root: true
-    when:
-      file_patterns:
-        - 'testing/mozharness/**'
-  marionette-harness:
-    task: tasks/tests/harness_marionette.yml
-    root: true
-    when:
-        file_patterns:
-          - 'testing/marionette/harness/**'
-          - 'testing/mozharness/scripts/marionette_harness_tests.py'
-          - 'testing/config/marionette_harness_test_requirements.txt'
-  linux64-gcc:
-    task: tasks/builds/linux64_gcc.yml
-    root: true
-    when:
-        file_patterns:
-          - 'build/unix/build-gcc/**'
-          - 'taskcluster/scripts/misc/build-gcc-linux.sh'
-  linux64-clang:
-    task: tasks/builds/linux64_clang.yml
-    root: true
-    when:
-        file_patterns:
-          - 'build/build-clang/**'
-          - 'taskcluster/scripts/misc/build-clang-linux.sh'
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/branches/mozilla-central/job_flags.yml
+++ /dev/null
@@ -1,24 +0,0 @@
----
-# For complete sample of all build and test jobs,
-# see <gecko>/testing/taskcluster/tasks/branches/base_job_flags.yml
-
-$inherits:
-  from: tasks/branches/base_jobs.yml
-
-builds:
-  aries-eng:
-    platforms:
-      - b2g
-    types:
-      opt:
-        task: tasks/builds/b2g_aries_eng.yml
-      debug:
-        task: tasks/builds/b2g_aries_debug.yml
-  nexus-5l-eng:
-    platforms:
-      - b2g
-    types:
-      opt:
-        task: tasks/builds/b2g_nexus_5l_eng.yml
-      debug:
-        task: tasks/builds/b2g_nexus_5l_debug.yml
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/branches/mozilla-inbound/job_flags.yml
+++ /dev/null
@@ -1,24 +0,0 @@
----
-# For complete sample of all build and test jobs,
-# see <gecko>/testing/taskcluster/tasks/branches/base_job_flags.yml
-
-$inherits:
-  from: tasks/branches/base_jobs.yml
-
-builds:
-  aries-eng:
-    platforms:
-      - b2g
-    types:
-      opt:
-        task: tasks/builds/b2g_aries_eng.yml
-      debug:
-        task: tasks/builds/b2g_aries_debug.yml
-  nexus-5l-eng:
-    platforms:
-      - b2g
-    types:
-      opt:
-        task: tasks/builds/b2g_nexus_5l_eng.yml
-      debug:
-        task: tasks/builds/b2g_nexus_5l_debug.yml
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/branches/stylo-try/job_flags.yml
+++ /dev/null
@@ -1,104 +0,0 @@
----
-# For complete sample of all build and test jobs,
-# see <gecko>/testing/taskcluster/tasks/branches/base_job_flags.yml
-
-$inherits:
-  from: tasks/branches/base_jobs.yml
-
-flags:
-  post-build:
-    - upload-symbols
-
-builds:
-  linux:
-    platforms:
-      - Linux
-    types:
-      opt:
-        task: tasks/builds/opt_linux32.yml
-      debug:
-        task: tasks/builds/dbg_linux32.yml
-  linux64:
-    platforms:
-      - Linux64
-    extra-builds:  # see RIDEALONG_BUILDS in `mach taskgraph`
-      - linux64-l10n
-      - sm-plain
-      - sm-nonunified
-      - sm-arm-sim
-      - sm-arm64-sim
-      - sm-compacting
-      - sm-rootanalysis
-      - sm-package
-      - sm-tsan
-    types:
-      opt:
-        task: tasks/builds/opt_linux64.yml
-      debug:
-        task: tasks/builds/dbg_linux64.yml
-  linux64-st-an:
-    platforms:
-      - Linux64 Static Analysis
-    types:
-      opt:
-        task: tasks/builds/opt_linux64_st-an.yml
-  linux64-pgo:
-    platforms:
-      - Linux64 PGO
-    types:
-      opt:
-        task: tasks/builds/opt_linux64_pgo.yml
-  linux64-mulet:
-    platforms:
-      - Mulet Linux
-    types:
-      opt:
-        task: tasks/builds/mulet_linux.yml
-      debug:
-        task: tasks/builds/mulet_linux_dbg.yml
-  linux64-mulet-haz:
-    platforms:
-      - Mulet Linux
-    types:
-      debug:
-        task: tasks/builds/mulet_haz_linux.yml
-  macosx64:
-    platforms:
-      - MacOSX64
-    types:
-      opt:
-        task: tasks/builds/opt_macosx64.yml
-      debug:
-        task: tasks/builds/dbg_macosx64.yml
-  linux64-asan:
-    platforms:
-      - Linux64 ASan
-    types:
-      opt:
-        task: tasks/builds/opt_linux64_asan.yml
-      debug:
-        task: tasks/builds/dbg_linux64_asan.yml
-  macosx64-st-an:
-    platforms:
-      - MacOSX64 Static Analysis
-    types:
-      opt:
-        task: tasks/builds/opt_macosx64_st-an.yml
-  sm-tsan:
-    platforms:
-      - Linux64
-    types:
-      opt:
-        task: tasks/builds/sm_tsan.yml
-    when:
-      file_patterns:
-       - js/public/**
-       - js/src/**
-
-post-build:
-  upload-symbols:
-    allowed_build_tasks:
-      - tasks/builds/opt_linux64.yml
-      - tasks/builds/dbg_linux64.yml
-      - tasks/builds/android_api_15.yml
-    task: tasks/post-builds/upload_symbols.yml
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/branches/stylo/job_flags.yml
+++ /dev/null
@@ -1,6 +0,0 @@
----
-# For complete sample of all build and test jobs,
-# see <gecko>/testing/taskcluster/tasks/branches/base_job_flags.yml
-
-$inherits:
-  from: tasks/branches/base_jobs.yml
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/branches/try/job_flags.yml
+++ /dev/null
@@ -1,172 +0,0 @@
----
-# For complete sample of all build and test jobs,
-# see <gecko>/testing/taskcluster/tasks/branches/base_job_flags.yml
-
-$inherits:
-  from: tasks/branches/base_jobs.yml
-
-# Flags specific to this branch
-flags:
-  post-build:
-    - upload-symbols
-
-builds:
-  android-partner-sample1:
-    platforms:
-      - Android
-    types:
-      opt:
-        task: tasks/builds/android_api_15_partner_sample1.yml
-  linux:
-    platforms:
-      - Linux
-    types:
-      opt:
-        task: tasks/builds/opt_linux32.yml
-      debug:
-        task: tasks/builds/dbg_linux32.yml
-  linux-l10n:
-    platforms:
-      - Linux
-    types:
-      opt:
-        task: tasks/builds/firefox_l10n_linux32.yml
-    when:
-      file_patterns:
-        - browser/locales/all-locales
-        - python/compare-locales/**
-        - testing/mozharness/configs/single_locale/**
-        - testing/mozharness/mozharness/mozilla/l10n/locales.py
-        - testing/mozharness/scripts/desktop_l10n.py
-        - toolkit/locales/**
-        - toolkit/mozapps/installer/**
-  linux64:
-    platforms:
-      - Linux64
-    extra-builds:  # see RIDEALONG_BUILDS in `mach taskgraph`
-      - linux64-l10n
-      - sm-plain
-      - sm-nonunified
-      - sm-arm-sim
-      - sm-arm64-sim
-      - sm-compacting
-      - sm-rootanalysis
-      - sm-package
-      - sm-tsan
-    types:
-      opt:
-        task: tasks/builds/opt_linux64.yml
-      debug:
-        task: tasks/builds/dbg_linux64.yml
-  linux64-l10n:
-    platforms:
-      - Linux64
-    types:
-      opt:
-        task: tasks/builds/firefox_l10n_linux64.yml
-    when:
-      file_patterns:
-        - browser/locales/all-locales
-        - python/compare-locales/**
-        - testing/mozharness/configs/single_locale/**
-        - testing/mozharness/mozharness/mozilla/l10n/locales.py
-        - testing/mozharness/scripts/desktop_l10n.py
-        - toolkit/locales/**
-        - toolkit/mozapps/installer/**
-  linux64-st-an:
-    platforms:
-      - Linux64 Static Analysis
-    types:
-      opt:
-        task: tasks/builds/opt_linux64_st-an.yml
-  linux64-pgo:
-    platforms:
-      - Linux64 PGO
-    types:
-      opt:
-        task: tasks/builds/opt_linux64_pgo.yml
-  linux64-mulet:
-    platforms:
-      - Mulet Linux
-    types:
-      opt:
-        task: tasks/builds/mulet_linux.yml
-      debug:
-        task: tasks/builds/mulet_linux_dbg.yml
-  linux64-mulet-haz:
-    platforms:
-      - Mulet Linux
-    types:
-      debug:
-        task: tasks/builds/mulet_haz_linux.yml
-  macosx64:
-    platforms:
-      - MacOSX64
-    types:
-      opt:
-        task: tasks/builds/opt_macosx64.yml
-      debug:
-        task: tasks/builds/dbg_macosx64.yml
-  linux64-asan:
-    platforms:
-      - Linux64 ASan
-    types:
-      opt:
-        task: tasks/builds/opt_linux64_asan.yml
-      debug:
-        task: tasks/builds/dbg_linux64_asan.yml
-  macosx64-st-an:
-    platforms:
-      - MacOSX64 Static Analysis
-    types:
-      opt:
-        task: tasks/builds/opt_macosx64_st-an.yml
-  android-api-15-l10n:
-    platforms:
-      - Android
-    types:
-      opt:
-        task: tasks/builds/android_l10n_api_15.yml
-    when:
-      file_patterns:
-        - mobile/android/locales/all-locales
-        - python/compare-locales/**
-        - testing/mozharness/configs/single_locale/**
-        - testing/mozharness/mozharness/mozilla/l10n/locales.py
-        - testing/mozharness/scripts/desktop_l10n.py
-        - toolkit/locales/**
-        - toolkit/mozapps/installer/**
-  aries-eng:
-    platforms:
-      - b2g
-    types:
-      opt:
-        task: tasks/builds/b2g_aries_eng.yml
-      debug:
-        task: tasks/builds/b2g_aries_debug.yml
-  nexus-5l-eng:
-    platforms:
-      - b2g
-    types:
-      opt:
-        task: tasks/builds/b2g_nexus_5l_eng.yml
-      debug:
-        task: tasks/builds/b2g_nexus_5l_debug.yml
-  sm-tsan:
-    platforms:
-      - Linux64
-    types:
-      opt:
-        task: tasks/builds/sm_tsan.yml
-    when:
-      file_patterns:
-       - js/public/**
-       - js/src/**
-
-post-build:
-  upload-symbols:
-    allowed_build_tasks:
-      - tasks/builds/opt_linux64.yml
-      - tasks/builds/dbg_linux64.yml
-      - tasks/builds/android_api_15.yml
-    task: tasks/post-builds/upload_symbols.yml
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/build.yml
+++ /dev/null
@@ -1,46 +0,0 @@
-# This is the "base" task which contains the common values all builds must
-# provide.
----
-taskId: {{build_slugid}}
-
-task:
-  created:
-    relative-datestamp: "0 seconds"
-  deadline:
-    relative-datestamp: "24 hours"
-  metadata:
-    source: '{{source}}'
-    owner: mozilla-taskcluster-maintenance@mozilla.com
-
-  tags:
-    createdForUser: {{owner}}
-
-  provisionerId: aws-provisioner-v1
-  schedulerId: task-graph-scheduler
-
-  payload:
-    # Two hours is long but covers edge cases (and matches bb based infra)
-    maxRunTime: 7200
-
-    env:
-      # Common environment variables for checking out gecko
-      GECKO_BASE_REPOSITORY: '{{base_repository}}'
-      GECKO_HEAD_REPOSITORY: '{{head_repository}}'
-      GECKO_HEAD_REV: '{{head_rev}}'
-      GECKO_HEAD_REF: '{{head_ref}}'
-      TOOLTOOL_REPO: 'https://github.com/mozilla/build-tooltool'
-      TOOLTOOL_REV: 'master'
-      MOZ_BUILD_DATE: '{{pushdate}}'
-      MOZ_SCM_LEVEL: '{{level}}'
-
-  extra:
-    build_product: '{{build_product}}'
-    build_name: '{{build_name}}'
-    build_type: '{{build_type}}'
-    index:
-      rank: {{rank}}
-    treeherder:
-      jobKind: build
-      groupSymbol: tc
-      groupName: Submitted by taskcluster
-      symbol: B
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/builds/android_api_15.yml
+++ /dev/null
@@ -1,65 +0,0 @@
-$inherits:
-  from: 'tasks/builds/mobile_base.yml'
-  variables:
-    build_name: 'android-api-15'
-    build_type: 'opt'
-task:
-  metadata:
-      name: '[TC] Android armv7 API 15+'
-      description: 'Android armv7 API 15+'
-
-  workerType: android-api-15
-
-  routes:
-    - 'index.buildbot.branches.{{project}}.android-api-15'
-    - 'index.buildbot.revisions.{{head_rev}}.{{project}}.android-api-15'
-
-  scopes:
-    - 'docker-worker:cache:level-{{level}}-{{project}}-build-android-api-15-opt-workspace'
-    - 'docker-worker:cache:tooltool-cache'
-    - 'docker-worker:relengapi-proxy:tooltool.download.internal'
-    - 'docker-worker:relengapi-proxy:tooltool.download.public'
-
-  payload:
-    cache:
-      level-{{level}}-{{project}}-build-android-api-15-opt-workspace: '/home/worker/workspace'
-      tooltool-cache: '/home/worker/tooltool-cache'
-
-    features:
-      relengAPIProxy: true
-
-    env:
-      # inputs to mozharness
-      MOZHARNESS_SCRIPT: 'mozharness/scripts/fx_desktop_build.py'
-      # TODO: make these additional configuration files go away
-      MOZHARNESS_CONFIG: >
-          builds/releng_base_android_64_builds.py
-          disable_signing.py
-          platform_supports_post_upload_to_latest.py
-      MOZHARNESS_ACTIONS: "get-secrets build multi-l10n update"
-      MH_CUSTOM_BUILD_VARIANT_CFG: api-15
-      MH_BRANCH: {{project}}
-      MH_BUILD_POOL: taskcluster
-      TOOLTOOL_CACHE: '/home/worker/tooltool-cache'
-
-    command: ["/bin/bash", "bin/build.sh"]
-
-  extra:
-    treeherderEnv:
-      - production
-      - staging
-    treeherder:
-      machine:
-        # see https://github.com/mozilla/treeherder/blob/master/ui/js/values.js
-        platform: android-4-0-armv7-api15
-      groupSymbol: tc
-      groupName: Submitted by taskcluster
-      symbol: B
-      tier: 2
-    # Rather then enforcing particular conventions we require that all build
-    # tasks provide the "build" extra field to specify where the build and tests
-    # files are located.
-    locations:
-      build: 'public/build/target.apk'
-      mozharness: 'public/build/mozharness.zip'
-      test_packages: 'public/build/target.test_packages.json'
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/builds/android_api_15_debug.yml
+++ /dev/null
@@ -1,67 +0,0 @@
-$inherits:
-  from: 'tasks/builds/mobile_base.yml'
-  variables:
-    build_name: 'android-api-15'
-    build_type: 'debug'
-task:
-  metadata:
-      name: '[TC] Android armv7 API 15+ Dbg'
-      description: 'Android armv7 API 15+ Dbg'
-
-  workerType: android-api-15
-
-  routes:
-    - 'index.buildbot.branches.{{project}}.android-api-15-debug'
-    - 'index.buildbot.revisions.{{head_rev}}.{{project}}.android-api-15-debug'
-
-  scopes:
-    - 'docker-worker:cache:level-{{level}}-{{project}}-build-android-api-15-debug-workspace'
-    - 'docker-worker:cache:tooltool-cache'
-    - 'docker-worker:relengapi-proxy:tooltool.download.internal'
-    - 'docker-worker:relengapi-proxy:tooltool.download.public'
-
-  payload:
-    cache:
-      level-{{level}}-{{project}}-build-android-api-15-debug-workspace: '/home/worker/workspace'
-      tooltool-cache: '/home/worker/tooltool-cache'
-
-    features:
-      relengAPIProxy: true
-
-    env:
-      # inputs to mozharness
-      MOZHARNESS_SCRIPT: 'mozharness/scripts/fx_desktop_build.py'
-      # TODO: make these additional configuration files go away
-      MOZHARNESS_CONFIG: >
-          builds/releng_base_android_64_builds.py
-          disable_signing.py
-          platform_supports_post_upload_to_latest.py
-      MOZHARNESS_ACTIONS: "get-secrets build multi-l10n update"
-      MH_CUSTOM_BUILD_VARIANT_CFG: api-15-debug
-      MH_BRANCH: {{project}}
-      MH_BUILD_POOL: taskcluster
-      TOOLTOOL_CACHE: '/home/worker/tooltool-cache'
-
-    command: ["/bin/bash", "bin/build.sh"]
-
-  extra:
-    treeherderEnv:
-      - production
-      - staging
-    treeherder:
-      machine:
-        # see https://github.com/mozilla/treeherder/blob/master/ui/js/values.js
-        platform: android-4-0-armv7-api15
-      groupSymbol: tc
-      groupName: Submitted by taskcluster
-      symbol: B
-      tier: 1
-      collection:
-        debug: true
-    # Rather then enforcing particular conventions we require that all build
-    # tasks provide the "build" extra field to specify where the build and tests
-    # files are located.
-    locations:
-      build: 'public/build/target.apk'
-      mozharness: 'public/build/mozharness.zip'
-      test_packages: 'public/build/target.test_packages.json'
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/builds/android_api_15_gradle.yml
+++ /dev/null
@@ -1,66 +0,0 @@
-$inherits:
-  from: 'tasks/builds/mobile_base.yml'
-  variables:
-    build_name: 'android-api-15-gradle'
-    build_type: 'opt'
-task:
-  metadata:
-      name: '[TC] Android armv7 API 15+ Gradle'
-      description: 'Android armv7 API 15+ Gradle'
-
-  workerType: android-api-15
-
-  routes:
-    - 'index.buildbot.branches.{{project}}.android-api-15-gradle'
-    - 'index.buildbot.revisions.{{head_rev}}.{{project}}.android-api-15-gradle'
-
-  scopes:
-    - 'docker-worker:cache:level-{{level}}-{{project}}-build-android-api-15-gradle-opt-workspace'
-    - 'docker-worker:cache:tooltool-cache'
-    - 'docker-worker:relengapi-proxy:tooltool.download.internal'
-    - 'docker-worker:relengapi-proxy:tooltool.download.public'
-
-  payload:
-    cache:
-      level-{{level}}-{{project}}-build-android-api-15-gradle-opt-workspace: '/home/worker/workspace'
-      tooltool-cache: '/home/worker/tooltool-cache'
-
-    features:
-      relengAPIProxy: true
-
-    env:
-      # inputs to mozharness
-      MOZHARNESS_SCRIPT: 'mozharness/scripts/fx_desktop_build.py'
-      # TODO: make these additional configuration files go away
-      MOZHARNESS_CONFIG: >
-          builds/releng_base_android_64_builds.py
-          disable_signing.py
-          platform_supports_post_upload_to_latest.py
-      MOZHARNESS_ACTIONS: "get-secrets build multi-l10n update"
-      TOOLTOOL_CACHE: /home/worker/tooltool-cache
-      MH_CUSTOM_BUILD_VARIANT_CFG: api-15-gradle
-      MH_BRANCH: {{project}}
-      MH_BUILD_POOL: taskcluster
-      GRADLE_USER_HOME: '/home/worker/workspace/build/src/dotgradle'
-
-    command: ["/bin/bash", "bin/build.sh"]
-
-  extra:
-    treeherderEnv:
-      - production
-      - staging
-    treeherder:
-      machine:
-        # see https://github.com/mozilla/treeherder/blob/master/ui/js/values.js
-        platform: android-4-0-armv7-api15
-      groupSymbol: tc
-      groupName: Submitted by taskcluster
-      symbol: Bg
-      tier: 2
-    # Rather then enforcing particular conventions we require that all build
-    # tasks provide the "build" extra field to specify where the build and tests
-    # files are located.
-    locations:
-      build: 'public/build/target.apk'
-      mozharness: 'public/build/mozharness.zip'
-      test_packages: 'public/build/target.test_packages.json'
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/builds/android_api_15_gradle_dependencies.yml
+++ /dev/null
@@ -1,84 +0,0 @@
-# A build-like task to fetch Android Gradle dependencies from jcentral and
-# package them for consumption by tooltool users.  Normally invoked manually.
-
-$inherits:
-  from: 'tasks/builds/mobile_base.yml'
-  variables:
-    build_name: 'android-api-15-gradle-dependencies'
-    build_type: 'opt'
-docker-image: android-gradle-build
-task:
-  metadata:
-      name: '[TC] Android armv7 API 15+ gradle dependencies'
-      description: 'Android armv7 API 15+ gradle dependencies'
-
-  workerType: android-api-15
-
-  routes:
-    - 'index.buildbot.branches.{{project}}.android-api-15-gradle-dependencies'
-    - 'index.buildbot.revisions.{{head_rev}}.{{project}}.android-api-15-gradle-dependencies'
-
-  scopes:
-    - 'docker-worker:cache:level-{{level}}-{{project}}-build-android-api-15-gradle-dependencies-workspace'
-    - 'docker-worker:cache:tooltool-cache'
-    - 'docker-worker:relengapi-proxy:tooltool.download.internal'
-    - 'docker-worker:relengapi-proxy:tooltool.download.public'
-
-  payload:
-    cache:
-      level-{{level}}-{{project}}-build-android-api-15-gradle-dependencies-workspace: '/home/worker/workspace'
-      tooltool-cache: '/home/worker/tooltool-cache'
-
-    features:
-      relengAPIProxy: true
-
-    env:
-      # inputs to mozharness
-      MOZHARNESS_SCRIPT: 'mozharness/scripts/fx_desktop_build.py'
-      # TODO: make these additional configuration files go away
-      MOZHARNESS_CONFIG: >
-          builds/releng_base_android_64_builds.py
-          disable_signing.py
-          platform_supports_post_upload_to_latest.py
-      MOZHARNESS_ACTIONS: "get-secrets build multi-l10n update"
-      MH_CUSTOM_BUILD_VARIANT_CFG: api-15-gradle-dependencies
-      MH_BRANCH: {{project}}
-      MH_BUILD_POOL: taskcluster
-      GRADLE_USER_HOME: '/home/worker/workspace/build/src/dotgradle-online'
-      TOOLTOOL_CACHE: '/home/worker/tooltool-cache'
-
-    maxRunTime: 36000
-
-    image:
-      type: 'task-image'
-      path: 'public/image.tar'
-      taskId:
-        task-reference: "<docker-image>"
-
-    command:
-      - /bin/bash
-      - -c
-      - >
-        /home/worker/bin/before.sh &&
-        /home/worker/bin/build.sh &&
-        /home/worker/bin/after.sh &&
-        true
-
-  extra:
-    treeherderEnv:
-      - production
-      - staging
-    treeherder:
-      machine:
-        # see https://github.com/mozilla/treeherder/blob/master/ui/js/values.js
-        platform: android-4-0-armv7-api15
-      groupSymbol: tc
-      groupName: Submitted by taskcluster
-      symbol: Deps
-      tier: 2
-    # Rather then enforcing particular conventions we require that all build
-    # tasks provide the "build" extra field to specify where the build and tests
-    # files are located.
-    locations:
-      build: 'public/build/target.linux-x86_64.tar.bz2'
-      tests: 'public/build/target.tests.zip'
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/builds/android_api_15_partner_sample1.yml
+++ /dev/null
@@ -1,74 +0,0 @@
-$inherits:
-  from: 'tasks/builds/mobile_base.yml'
-  variables:
-    build_name: 'android-api-15-partner-sample1'
-    build_type: 'opt'
-task:
-  metadata:
-      name: '[TC] Android armv7 API 15+ partner sample 1'
-      description: 'Android armv7 API 15+ partner sample 1'
-
-  workerType: android-api-15
-
-  routes:
-    - 'index.buildbot.branches.{{project}}.android-api-15-partner-sample1'
-    - 'index.buildbot.revisions.{{head_rev}}.{{project}}.android-api-15-partner-sample1'
-
-  scopes:
-    - 'docker-worker:cache:level-{{level}}-{{project}}-build-android-api-15-workspace'
-    - 'docker-worker:cache:tooltool-cache'
-    - 'docker-worker:relengapi-proxy:tooltool.download.internal'
-    - 'docker-worker:relengapi-proxy:tooltool.download.public'
-
-  payload:
-    cache:
-      level-{{level}}-{{project}}-build-android-api-15-workspace: '/home/worker/workspace'
-      tooltool-cache: '/home/worker/tooltool-cache'
-
-    features:
-      relengAPIProxy: true
-
-    env:
-      # inputs to mozharness
-      MOZHARNESS_SCRIPT: 'mozharness/scripts/fx_desktop_build.py'
-      # TODO: make these additional configuration files go away
-      MOZHARNESS_CONFIG: >
-          builds/releng_base_android_64_builds.py
-          disable_signing.py
-          platform_supports_post_upload_to_latest.py
-      MOZHARNESS_ACTIONS: 'get-secrets build multi-l10n update'
-      MH_CUSTOM_BUILD_VARIANT_CFG: api-15-partner-sample1
-      MH_BRANCH: {{project}}
-      MH_BUILD_POOL: taskcluster
-      TOOLTOOL_CACHE: '/home/worker/tooltool-cache'
-
-      # space separated list of repositories required for this build
-      # for each ITEM in list you want checked out, you must also supply tc-vcs args:
-      # e.g. ${ITEM}_BASE_REPOSITORY
-      EXTRA_CHECKOUT_REPOSITORIES: >
-          PARTNER
-
-      PARTNER_BASE_REPOSITORY: 'https://github.com/mozilla/fennec-distribution-sample'
-      PARTNER_HEAD_REPOSITORY: 'https://github.com/mozilla/fennec-distribution-sample'
-      PARTNER_HEAD_REV: master
-      PARTNER_DEST_DIR: '/home/worker/workspace/build/partner'
-
-    maxRunTime: 36000
-
-    command: ["/bin/bash", "bin/build.sh"]
-
-  extra:
-    treeherderEnv:
-      - production
-      - staging
-    treeherder:
-      tier: 2
-      machine:
-        # see https://github.com/mozilla/treeherder/blob/master/ui/js/values.js
-        platform: android-4-0-armv7-api15-partner1
-    # Rather then enforcing particular conventions we require that all build
-    # tasks provide the "build" extra field to specify where the build and tests
-    # files are located.
-    locations:
-      build: 'public/build/target.linux-x86_64.tar.bz2'
-      tests: 'public/build/target.tests.zip'
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/builds/android_checkstyle.yml
+++ /dev/null
@@ -1,73 +0,0 @@
-$inherits:
-  from: 'tasks/builds/mobile_base.yml'
-  variables:
-    build_name: 'android-checkstyle'
-    build_type: 'opt'
-task:
-  metadata:
-      name: '[TC] Android checkstyle'
-      description: 'Android checkstyle'
-
-  workerType: android-api-15
-
-  routes:
-    - 'index.buildbot.branches.{{project}}.android-checkstyle'
-    - 'index.buildbot.revisions.{{head_rev}}.{{project}}.android-checkstyle'
-
-  scopes:
-    - 'docker-worker:cache:level-{{level}}-{{project}}-build-android-checkstyle-workspace'
-    - 'docker-worker:cache:tooltool-cache'
-    - 'docker-worker:relengapi-proxy:tooltool.download.internal'
-    - 'docker-worker:relengapi-proxy:tooltool.download.public'
-
-  payload:
-    cache:
-      level-{{level}}-{{project}}-build-android-checkstyle-workspace: '/home/worker/workspace'
-      tooltool-cache: '/home/worker/tooltool-cache'
-
-    features:
-      relengAPIProxy: true
-
-    env:
-      # inputs to mozharness
-      MOZHARNESS_SCRIPT: 'mozharness/scripts/fx_desktop_build.py'
-      # TODO: make these additional configuration files go away
-      MOZHARNESS_CONFIG: >
-          builds/releng_base_android_64_builds.py
-          disable_signing.py
-          platform_supports_post_upload_to_latest.py
-      MOZHARNESS_ACTIONS: "get-secrets build multi-l10n update"
-      MH_CUSTOM_BUILD_VARIANT_CFG: android-checkstyle
-      MH_BRANCH: {{project}}
-      MH_BUILD_POOL: taskcluster
-      GRADLE_USER_HOME: '/home/worker/workspace/build/src/dotgradle'
-
-    maxRunTime: 36000
-
-    command: ["/bin/bash", "bin/build.sh"]
-
-    artifacts:
-      'public/android/checkstyle/checkstyle.xml':
-        type: file
-        path: '/home/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/app/reports/checkstyle/checkstyle.xml'
-        expires:
-          relative-datestamp: "1 year"
-
-  extra:
-    treeherderEnv:
-      - production
-      - staging
-    treeherder:
-      machine:
-        # see https://github.com/mozilla/treeherder/blob/master/ui/js/values.js
-        platform: android-4-0-armv7-api15
-      groupSymbol: tc
-      groupName: Submitted by taskcluster
-      symbol: checkstyle
-      tier: 2
-    # Rather then enforcing particular conventions we require that all build
-    # tasks provide the "build" extra field to specify where the build and tests
-    # files are located.
-    locations:
-      build: 'public/build/target.linux-x86_64.tar.bz2'
-      tests: 'public/build/target.tests.zip'
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/builds/android_lint.yml
+++ /dev/null
@@ -1,83 +0,0 @@
-$inherits:
-  from: 'tasks/builds/mobile_base.yml'
-  variables:
-    build_name: 'android-lint'
-    build_type: 'opt'
-task:
-  metadata:
-      name: '[TC] Android lint'
-      description: 'Android lint'
-
-  workerType: android-api-15
-
-  routes:
-    - 'index.buildbot.branches.{{project}}.android-lint'
-    - 'index.buildbot.revisions.{{head_rev}}.{{project}}.android-lint'
-
-  scopes:
-    - 'docker-worker:cache:level-{{level}}-{{project}}-build-android-lint-workspace'
-    - 'docker-worker:cache:tooltool-cache'
-    - 'docker-worker:relengapi-proxy:tooltool.download.internal'
-    - 'docker-worker:relengapi-proxy:tooltool.download.public'
-
-  payload:
-    cache:
-      level-{{level}}-{{project}}-build-android-lint-workspace: '/home/worker/workspace'
-      tooltool-cache: '/home/worker/tooltool-cache'
-
-    features:
-      relengAPIProxy: true
-
-    env:
-      # inputs to mozharness
-      MOZHARNESS_SCRIPT: 'mozharness/scripts/fx_desktop_build.py'
-      # TODO: make these additional configuration files go away
-      MOZHARNESS_CONFIG: >
-          builds/releng_base_android_64_builds.py
-          disable_signing.py
-          platform_supports_post_upload_to_latest.py
-      MOZHARNESS_ACTIONS: "get-secrets build multi-l10n update"
-      MH_CUSTOM_BUILD_VARIANT_CFG: android-lint
-      MH_BRANCH: {{project}}
-      MH_BUILD_POOL: taskcluster
-      GRADLE_USER_HOME: '/home/worker/workspace/build/src/dotgradle'
-
-    maxRunTime: 36000
-
-    command: ["/bin/bash", "bin/build.sh"]
-
-    artifacts:
-      'public/android/lint/lint-results-automationDebug.html':
-        type: file
-        path: '/home/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/app/outputs/lint-results-automationDebug.html'
-        expires:
-          relative-datestamp: "1 year"
-      'public/android/lint/lint-results-automationDebug.xml':
-        type: file
-        path: '/home/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/app/outputs/lint-results-automationDebug.xml'
-        expires:
-          relative-datestamp: "1 year"
-      'public/android/lint/lint-results-automationDebug_files':
-        type: directory
-        path: '/home/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/app/outputs/lint-results-automationDebug_files'
-        expires:
-          relative-datestamp: "1 year"
-
-  extra:
-    treeherderEnv:
-      - production
-      - staging
-    treeherder:
-      machine:
-        # see https://github.com/mozilla/treeherder/blob/master/ui/js/values.js
-        platform: android-4-0-armv7-api15
-      groupSymbol: tc
-      groupName: Submitted by taskcluster
-      symbol: lint
-      tier: 2
-    # Rather then enforcing particular conventions we require that all build
-    # tasks provide the "build" extra field to specify where the build and tests
-    # files are located.
-    locations:
-      build: 'public/build/target.linux-x86_64.tar.bz2'
-      tests: 'public/build/target.tests.zip'
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/builds/android_test.yml
+++ /dev/null
@@ -1,73 +0,0 @@
-$inherits:
-  from: 'tasks/builds/mobile_base.yml'
-  variables:
-    build_name: 'android-test'
-    build_type: 'opt'
-task:
-  metadata:
-      name: '[TC] Android armv7 test'
-      description: 'Android armv7 unit tests'
-
-  workerType: android-api-15
-
-  routes:
-    - 'index.buildbot.branches.{{project}}.android-test'
-    - 'index.buildbot.revisions.{{head_rev}}.{{project}}.android-test'
-
-  scopes:
-    - 'docker-worker:cache:level-{{level}}-{{project}}-build-android-test-workspace'
-    - 'docker-worker:cache:tooltool-cache'
-    - 'docker-worker:relengapi-proxy:tooltool.download.internal'
-    - 'docker-worker:relengapi-proxy:tooltool.download.public'
-
-  payload:
-    cache:
-      level-{{level}}-{{project}}-build-android-test-workspace: '/home/worker/workspace'
-      tooltool-cache: '/home/worker/tooltool-cache'
-
-    features:
-      relengAPIProxy: true
-
-    env:
-      # inputs to mozharness
-      MOZHARNESS_SCRIPT: 'mozharness/scripts/fx_desktop_build.py'
-      # TODO: make these additional configuration files go away
-      MOZHARNESS_CONFIG: >
-          builds/releng_base_android_64_builds.py
-          disable_signing.py
-          platform_supports_post_upload_to_latest.py
-      MOZHARNESS_ACTIONS: "get-secrets build multi-l10n update"
-      MH_CUSTOM_BUILD_VARIANT_CFG: android-test
-      MH_BRANCH: {{project}}
-      MH_BUILD_POOL: taskcluster
-      GRADLE_USER_HOME: '/home/worker/workspace/build/src/dotgradle'
-
-    maxRunTime: 36000
-
-    command: ["/bin/bash", "bin/build.sh"]
-
-    artifacts:
-      'public/android/unittest':
-        type: directory
-        path: '/home/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/app/reports/tests'
-        expires:
-          relative-datestamp: "1 year"
-
-  extra:
-    treeherderEnv:
-      - production
-      - staging
-    treeherder:
-      machine:
-        # see https://github.com/mozilla/treeherder/blob/master/ui/js/values.js
-        platform: android-4-0-armv7-api15
-      groupSymbol: tc
-      groupName: Submitted by taskcluster
-      symbol: test
-      tier: 2
-    # Rather then enforcing particular conventions we require that all build
-    # tasks provide the "build" extra field to specify where the build and tests
-    # files are located.
-    locations:
-      build: 'public/build/target.linux-x86_64.tar.bz2'
-      tests: 'public/build/target.tests.zip'
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/builds/android_x86.yml
+++ /dev/null
@@ -1,65 +0,0 @@
-$inherits:
-  from: 'tasks/builds/mobile_base.yml'
-  variables:
-    build_name: 'android-x86'
-    build_type: 'opt'
-task:
-  metadata:
-      name: '[TC] Android x86'
-      description: 'Android x86'
-
-  workerType: android-api-15
-
-  routes:
-    - 'index.buildbot.branches.{{project}}.android-x86'
-    - 'index.buildbot.revisions.{{head_rev}}.{{project}}.android-x86'
-
-  scopes:
-    - 'docker-worker:cache:level-{{level}}-{{project}}-build-android-x86-opt-workspace'
-    - 'docker-worker:cache:tooltool-cache'
-    - 'docker-worker:relengapi-proxy:tooltool.download.internal'
-    - 'docker-worker:relengapi-proxy:tooltool.download.public'
-
-  payload:
-    cache:
-      level-{{level}}-{{project}}-build-android-x86-opt-workspace: '/home/worker/workspace'
-      tooltool-cache: '/home/worker/tooltool-cache'
-
-    features:
-      relengAPIProxy: true
-
-    env:
-      # inputs to mozharness
-      MOZHARNESS_SCRIPT: 'mozharness/scripts/fx_desktop_build.py'
-      # TODO: make these additional configuration files go away
-      MOZHARNESS_CONFIG: >
-          builds/releng_base_android_64_builds.py
-          disable_signing.py
-          platform_supports_post_upload_to_latest.py
-      MOZHARNESS_ACTIONS: "get-secrets build multi-l10n update"
-      MH_CUSTOM_BUILD_VARIANT_CFG: x86
-      MH_BRANCH: {{project}}
-      MH_BUILD_POOL: taskcluster
-      TOOLTOOL_CACHE: /home/worker/tooltool-cache
-
-    command: ["/bin/bash", "bin/build.sh"]
-
-  extra:
-    treeherderEnv:
-      - production
-      - staging
-    treeherder:
-      machine:
-        # see https://github.com/mozilla/treeherder/blob/master/ui/js/values.js
-        platform: android-4-2-x86
-      groupSymbol: tc
-      groupName: Submitted by taskcluster
-      symbol: B
-      tier: 1
-    # Rather then enforcing particular conventions we require that all build
-    # tasks provide the "build" extra field to specify where the build and tests
-    # files are located.
-    locations:
-      build: 'public/build/target.apk'
-      mozharness: 'public/build/mozharness.zip'
-      test_packages: 'public/build/target.test_packages.json'
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/builds/b2g_aries_debug.yml
+++ /dev/null
@@ -1,37 +0,0 @@
-$inherits:
-  from: 'tasks/builds/b2g_phone_eng_base.yml'
-  variables:
-    build_name: 'aries'
-    build_type: 'debug'
-task:
-  scopes:
-    - 'docker-worker:cache:level-{{level}}-{{project}}-build-aries-eng-debug'
-    - 'docker-worker:cache:level-{{level}}-{{project}}-build-aries-eng-debug-objdir-gecko'
-    - 'docker-worker:relengapi-proxy:tooltool.download.internal'
-    - 'docker-worker:relengapi-proxy:tooltool.download.public'
-  metadata:
-    name: '[TC] B2G Aries Debug'
-
-  payload:
-    cache:
-      level-{{level}}-{{project}}-build-aries-eng-debug: /home/worker/workspace
-      level-{{level}}-{{project}}-build-aries-eng-debug-objdir-gecko: /home/worker/objdir-gecko
-    features:
-      relengAPIProxy: true
-    env:
-      TARGET: 'aries'
-      B2G_DEBUG: 1
-  extra:
-    treeherderEnv:
-      - production
-      - staging
-    treeherder:
-      symbol: Bd
-      groupSymbol: Aries
-      groupName: Aries Device Image
-      machine:
-        platform: b2g-device-image
-      collection:
-        debug: true
-    locations:
-      img: 'private/build/aries.zip'
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/builds/b2g_aries_eng.yml
+++ /dev/null
@@ -1,34 +0,0 @@
-$inherits:
-  from: 'tasks/builds/b2g_phone_eng_base.yml'
-  variables:
-    build_name: 'aries-eng'
-    build_type: 'opt'
-task:
-  scopes:
-    - 'docker-worker:cache:level-{{level}}-{{project}}-build-aries-eng-opt'
-    - 'docker-worker:cache:level-{{level}}-{{project}}-build-aries-eng-opt-objdir-gecko'
-    - 'docker-worker:relengapi-proxy:tooltool.download.internal'
-    - 'docker-worker:relengapi-proxy:tooltool.download.public'
-  metadata:
-    name: '[TC] B2G Aries Eng'
-
-  payload:
-    cache:
-      level-{{level}}-{{project}}-build-aries-eng-opt: /home/worker/workspace
-      level-{{level}}-{{project}}-build-aries-eng-opt-objdir-gecko: /home/worker/objdir-gecko
-    features:
-      relengAPIProxy: true
-    env:
-      TARGET: 'aries'
-  extra:
-    treeherderEnv:
-      - production
-      - staging
-    treeherder:
-      symbol: Be
-      groupSymbol: Aries
-      groupName: Aries Device Image
-      machine:
-        platform: b2g-device-image
-    locations:
-      img: 'private/build/aries.zip'
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/builds/b2g_base.yml
+++ /dev/null
@@ -1,16 +0,0 @@
-$inherits:
-  from: 'tasks/docker_build.yml'
-  variables:
-    build_product: 'b2g'
-docker-image: builder
-task:
-  payload:
-    image:
-      type: 'task-image'
-      path: 'public/image.tar'
-      taskId:
-        task-reference: "<docker-image>"
-  extra:
-    locations:
-      test_packages: 'public/build/target.test_packages.json'
-      mozharness: 'public/build/mozharness.zip'
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/builds/b2g_nexus_5l_debug.yml
+++ /dev/null
@@ -1,37 +0,0 @@
-$inherits:
-  from: 'tasks/builds/b2g_phone_eng_base.yml'
-  variables:
-    build_name: 'nexus-5-l-eng'
-    build_type: 'debug'
-task:
-  scopes:
-    - 'docker-worker:cache:level-{{level}}-{{project}}-build-nexus-5l-eng-debug'
-    - 'docker-worker:cache:level-{{level}}-{{project}}-build-nexus-5l-eng-debug-objdir-gecko'
-    - 'docker-worker:relengapi-proxy:tooltool.download.internal'
-    - 'docker-worker:relengapi-proxy:tooltool.download.public'
-  metadata:
-    name: '[TC] B2G Nexus 5-L Debug'
-
-  payload:
-    cache:
-      level-{{level}}-{{project}}-build-nexus-5l-eng-debug: /home/worker/workspace
-      level-{{level}}-{{project}}-build-nexus-5l-eng-debug-objdir-gecko: /home/worker/objdir-gecko
-    features:
-      relengAPIProxy: true
-    env:
-      TARGET: 'nexus-5-l'
-      B2G_DEBUG: 1
-  extra:
-    treeherderEnv:
-      - production
-      - staging
-    treeherder:
-      symbol: Bd
-      groupSymbol: Nexus 5-L
-      groupName: Nexus 5-L Device Image
-      machine:
-        platform: b2g-device-image
-      collection:
-        debug: true
-    locations:
-      img: 'private/build/nexus-5-l.zip'
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/builds/b2g_nexus_5l_eng.yml
+++ /dev/null
@@ -1,34 +0,0 @@
-$inherits:
-  from: 'tasks/builds/b2g_phone_eng_base.yml'
-  variables:
-    build_name: 'nexus-5-l-eng'
-    build_type: 'opt'
-task:
-  scopes:
-    - 'docker-worker:cache:level-{{level}}-{{project}}-build-nexus-5l-eng-opt'
-    - 'docker-worker:cache:level-{{level}}-{{project}}-build-nexus-5l-eng-opt-objdir-gecko'
-    - 'docker-worker:relengapi-proxy:tooltool.download.internal'
-    - 'docker-worker:relengapi-proxy:tooltool.download.public'
-  metadata:
-    name: '[TC] B2G Nexus 5-L Eng'
-
-  payload:
-    cache:
-      level-{{level}}-{{project}}-build-nexus-5l-eng-opt: /home/worker/workspace
-      level-{{level}}-{{project}}-build-nexus-5l-eng-opt-objdir-gecko: /home/worker/objdir-gecko
-    features:
-      relengAPIProxy: true
-    env:
-      TARGET: 'nexus-5-l'
-  extra:
-    treeherderEnv:
-      - production
-      - staging
-    treeherder:
-      symbol: Be
-      groupSymbol: Nexus 5-L
-      groupName: Nexus 5-L Device Image
-      machine:
-        platform: b2g-device-image
-    locations:
-      img: 'private/build/nexus-5-l.zip'
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/builds/b2g_phone_base.yml
+++ /dev/null
@@ -1,27 +0,0 @@
-$inherits:
-  from: 'tasks/phone_build.yml'
-task:
-  metadata:
-    description: |
-      Android phones + b2g environment used in full stack testing.
-  payload:
-    env:
-      MOZILLA_OFFICIAL: '1'
-      ENABLE_DEFAULT_BOOTANIMATION: 'true'
-      B2G_UPDATER: '1'
-      REPO_TRACE: 1
-      VARIANT: user
-
-    # Emulators can take a very long time to build!
-    maxRunTime: 14400
-
-  extra:
-    # Rather then enforcing particular conventions we require that all build
-    # tasks provide the "build" extra field to specify where the build and tests
-    # files are located.
-    locations:
-      build: 'private/build/b2g-android-arm.tar.gz'
-      tests: 'private/build/gaia.zip'
-      symbols: 'private/build/b2g-crashreporter-symbols.zip'
-      sources: 'private/build/sources.xml'
-
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/builds/b2g_phone_eng_base.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-$inherits:
-  from: 'tasks/builds/b2g_phone_base.yml'
-task:
-  workerType: flame-kk
-
-  extra:
-    treeherder:
-      tier: 3
-
-  payload:
-    env:
-      DEBUG: 0
-      VARIANT: eng
-      GAIA_OPTIMIZE: '1'
-      B2G_SYSTEM_APPS: '1'
-      MOZ_TELEMETRY_REPORTING: '1'
-      MOZ_CRASHREPORTER_NO_REPORT: '1'
-      GAIA_KEYBOARD_LAYOUTS: 'en,pt-BR,es,de,fr,pl,zh-Hans-Pinyin,zh-Hant-Zhuyin,en-Dvorak'
-      B2G_UPDATE_CHANNEL: 'default'
-      MOZHARNESS_CONFIG: b2g/taskcluster-phone-eng.py
-    command: ["/bin/bash", "-c", "checkout-gecko workspace && cd ./workspace/gecko/taskcluster/scripts/phone-builder && buildbot_step 'Build' ./build-phone.sh $HOME/workspace"]
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/builds/base_linux32.yml
+++ /dev/null
@@ -1,53 +0,0 @@
-$inherits:
-  from: 'tasks/builds/firefox_docker_base.yml'
-  variables:
-    build_name: 'linux'
-task:
-  #workerType: ..
-
-  routes:
-    - 'index.buildbot.branches.{{project}}.linux'
-    - 'index.buildbot.revisions.{{head_rev}}.{{project}}.linux'
-
-  scopes:
-    - 'docker-worker:cache:tooltool-cache'
-    - 'docker-worker:relengapi-proxy:tooltool.download.public'
-    - 'docker-worker:cache:level-{{level}}-{{project}}-build-{{build_name}}-{{build_type}}-workspace'
-
-  payload:
-    cache:
-      tooltool-cache: '/home/worker/tooltool-cache'
-      level-{{level}}-{{project}}-build-{{build_name}}-{{build_type}}-workspace: '/home/worker/workspace'
-
-    features:
-      relengAPIProxy: true
-
-    env:
-      MOZHARNESS_SCRIPT: 'mozharness/scripts/fx_desktop_build.py'
-      MOZHARNESS_CONFIG: 'builds/releng_base_linux_32_builds.py balrog/production.py'
-      MOZHARNESS_ACTIONS: 'get-secrets build check-test generate-build-stats update'
-      MH_BRANCH: {{project}}
-      MH_BUILD_POOL: taskcluster
-      # image paths
-      TOOLTOOL_CACHE: '/home/worker/tooltool-cache'
-      NEED_XVFB: true
-
-    maxRunTime: 36000
-
-    command: ["/bin/bash", "bin/build.sh"]
-
-  extra:
-    treeherderEnv:
-      - production
-      - staging
-    treeherder:
-      machine:
-        # see https://github.com/mozilla/treeherder/blob/master/ui/js/values.js
-        platform: linux32
-    # Rather then enforcing particular conventions we require that all build
-    # tasks provide the "build" extra field to specify where the build and tests
-    # files are located, relative to the task's artifacts URL
-    locations:
-      build: 'public/build/target.tar.bz2'
-      tests: 'public/build/target.tests.zip'
-
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/builds/base_linux64.yml
+++ /dev/null
@@ -1,47 +0,0 @@
-$inherits:
-  from: 'tasks/builds/firefox_docker_base.yml'
-  variables:
-    build_name: 'linux64'
-task:
-  #workerType: ..
-
-  scopes:
-    - 'docker-worker:cache:tooltool-cache'
-    - 'docker-worker:relengapi-proxy:tooltool.download.public'
-    - 'docker-worker:cache:level-{{level}}-{{project}}-build-{{build_name}}-{{build_type}}-workspace'
-
-  payload:
-    cache:
-      tooltool-cache: '/home/worker/tooltool-cache'
-      level-{{level}}-{{project}}-build-{{build_name}}-{{build_type}}-workspace: '/home/worker/workspace'
-
-    features:
-      relengAPIProxy: true
-
-    env:
-      MOZHARNESS_SCRIPT: 'mozharness/scripts/fx_desktop_build.py'
-      MOZHARNESS_CONFIG: 'builds/releng_base_linux_64_builds.py balrog/production.py'
-      MOZHARNESS_ACTIONS: 'get-secrets build check-test generate-build-stats update'
-      MH_BRANCH: {{project}}
-      MH_BUILD_POOL: taskcluster
-      # image paths
-      TOOLTOOL_CACHE: '/home/worker/tooltool-cache'
-      NEED_XVFB: true
-
-    maxRunTime: 36000
-
-    command: ["/bin/bash", "bin/build.sh"]
-
-  extra:
-    treeherderEnv:
-      - production
-      - staging
-    treeherder:
-      machine:
-        # see https://github.com/mozilla/treeherder/blob/master/ui/js/values.js
-        platform: linux64
-    # Rather then enforcing particular conventions we require that all build
-    # tasks provide the "build" extra field to specify where the build and tests
-    # files are located, relative to the task's artifacts URL
-    locations:
-      build: 'public/build/target.tar.bz2'
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/builds/base_macosx64.yml
+++ /dev/null
@@ -1,50 +0,0 @@
-$inherits:
-  from: 'tasks/builds/firefox_docker_base.yml'
-task:
-
-  scopes:
-    - 'docker-worker:cache:tooltool-cache'
-    - 'docker-worker:cache:level-{{level}}-{{project}}-build-{{build_name}}-{{build_type}}-workspace'
-    - 'docker-worker:relengapi-proxy:tooltool.download.internal'
-    - 'docker-worker:relengapi-proxy:tooltool.download.public'
-
-  routes:
-    - 'index.buildbot.branches.{{project}}.{{build_name}}'
-    - 'index.buildbot.revisions.{{head_rev}}.{{project}}.{{build_name}}'
-
-  payload:
-    cache:
-      tooltool-cache: '/home/worker/tooltool-cache'
-      level-{{level}}-{{project}}-build-{{build_name}}-{{build_type}}-workspace: '/home/worker/workspace'
-
-    features:
-      relengAPIProxy: true
-
-    env:
-      MOZHARNESS_SCRIPT: 'mozharness/scripts/fx_desktop_build.py'
-      MOZHARNESS_CONFIG: 'builds/releng_base_mac_64_cross_builds.py balrog/production.py'
-      MOZHARNESS_ACTIONS: 'get-secrets build generate-build-stats update'
-      MH_BRANCH: {{project}}
-      MH_BUILD_POOL: taskcluster
-      # image paths
-      TOOLTOOL_CACHE: '/home/worker/tooltool-cache'
-
-    maxRunTime: 36000
-
-    command: ["/bin/bash", "bin/build.sh"]
-
-  extra:
-    treeherderEnv:
-      - production
-      - staging
-    treeherder:
-      machine:
-        # see https://github.com/mozilla/treeherder/blob/master/ui/js/values.js
-        platform: osx-10-7
-    # Rather then enforcing particular conventions we require that all build
-    # tasks provide the "build" extra field to specify where the build and tests
-    # files are located.
-    locations:
-      build: 'public/build/target.dmg'
-      tests: 'public/build/target.tests.zip'
-
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/builds/base_win32.yml
+++ /dev/null
@@ -1,5 +0,0 @@
-$inherits:
-  from: 'tasks/builds/firefox_windows_base.yml'
-  variables:
-    build_name: 'win32'
-    platform: 'windowsxp'
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/builds/base_win64.yml
+++ /dev/null
@@ -1,5 +0,0 @@
-$inherits:
-  from: 'tasks/builds/firefox_windows_base.yml'
-  variables:
-    build_name: 'win64'
-    platform: 'windows8-64'
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/builds/dbg_linux32.yml
+++ /dev/null
@@ -1,30 +0,0 @@
-$inherits:
-  from: 'tasks/builds/base_linux32.yml'
-  variables:
-    build_name: 'linux'
-    build_type: 'debug'
-task:
-  metadata:
-      name: '[TC] Linux32 Debug'
-      description: 'Linux32 Debug'
-
-  routes:
-    - 'coalesce.v1.builds.{{project}}.dbg_linux32'
-
-  workerType: 'gecko-{{level}}-b-linux'
-
-  payload:
-    supersederUrl: 'https://coalesce.mozilla-releng.net/v1/list/builds.{{project}}.dbg_linux32'
-
-    env:
-      MH_CUSTOM_BUILD_VARIANT_CFG: 'debug'
-
-  extra:
-    treeherder:
-      groupSymbol: tc
-      groupName: Submitted by taskcluster
-      symbol: B
-      tier: 2
-      collection:
-        debug: true
-
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/builds/dbg_linux64.yml
+++ /dev/null
@@ -1,29 +0,0 @@
-$inherits:
-  from: 'tasks/builds/base_linux64.yml'
-  variables:
-    build_name: 'linux64'
-    build_type: 'debug'
-task:
-  metadata:
-      name: '[TC] Linux64 Debug'
-      description: 'Linux64 Debug'
-
-  routes:
-    - 'index.buildbot.branches.{{project}}.linux64-debug'
-    - 'index.buildbot.revisions.{{head_rev}}.{{project}}.linux64-debug'
-
-  workerType: 'gecko-{{level}}-b-linux'
-
-  payload:
-    env:
-      MH_CUSTOM_BUILD_VARIANT_CFG: 'debug'
-
-  extra:
-    treeherder:
-      groupSymbol: tc
-      groupName: Submitted by taskcluster
-      symbol: B
-      tier: 1
-      collection:
-        debug: true
-
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/builds/dbg_linux64_asan.yml
+++ /dev/null
@@ -1,31 +0,0 @@
-$inherits:
-  from: 'tasks/builds/base_linux64.yml'
-  variables:
-    build_name: 'linux64-asan'
-    build_type: 'debug'
-task:
-  metadata:
-      name: '[TC] Linux64 ASan Debug'
-      description: 'Linux64 ASan Debug'
-
-  routes:
-    - 'index.buildbot.branches.{{project}}.linux64-asan'
-    - 'index.buildbot.revisions.{{head_rev}}.{{project}}.linux64-asan'
-
-  workerType: gecko-{{level}}-b-linux
-
-  payload:
-    env:
-      MH_CUSTOM_BUILD_VARIANT_CFG: 'asan-tc-and-debug'
-
-  extra:
-    treeherder:
-      groupSymbol: tc
-      groupName: Submitted by taskcluster
-      symbol: Bd
-      machine:
-        # see https://github.com/mozilla/treeherder/blob/master/ui/js/values.js
-        platform: linux64
-      collection:
-        asan: true
-      tier: 1
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/builds/dbg_macosx64.yml
+++ /dev/null
@@ -1,23 +0,0 @@
-$inherits:
-  from: 'tasks/builds/base_macosx64.yml'
-  variables:
-    build_name: 'macosx64'
-    build_type: 'debug'
-task:
-  metadata:
-      name: '[TC] MacOSX64 Debug'
-      description: 'MacOSX64 Debug'
-
-  workerType: dbg-macosx64
-
-  payload:
-    env:
-      MH_CUSTOM_BUILD_VARIANT_CFG: 'cross-debug'
-  extra:
-    treeherder:
-      groupSymbol: tc
-      groupName: Submitted by taskcluster
-      symbol: B
-      tier: 2
-      collection:
-        debug: true
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/builds/dbg_win32.yml
+++ /dev/null
@@ -1,10 +0,0 @@
-$inherits:
-  from: 'tasks/builds/base_win32.yml'
-  variables:
-    build_type: 'debug'
-
-task:
-  extra:
-    treeherder:
-      collection:
-        debug: true
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/builds/dbg_win64.yml
+++ /dev/null
@@ -1,10 +0,0 @@
-$inherits:
-  from: 'tasks/builds/base_win64.yml'
-  variables:
-    build_type: 'debug'
-
-task:
-  extra:
-    treeherder:
-      collection:
-        debug: true
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/builds/firefox_docker_base.yml
+++ /dev/null
@@ -1,20 +0,0 @@
-$inherits:
-  from: 'tasks/docker_build.yml'
-  variables:
-    build_product: 'firefox'
-docker-image: desktop-build
-task:
-  scopes:
-    - 'secrets:get:project/releng/gecko/build/level-{{level}}/*'
-  extra:
-    locations:
-      mozharness: 'public/build/mozharness.zip'
-      test_packages: 'public/build/target.test_packages.json'
-  payload:
-    image:
-      type: 'task-image'
-      path: 'public/image.tar'
-      taskId:
-        task-reference: "<docker-image>"
-    features:
-      taskclusterProxy: true
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/builds/firefox_l10n_base.yml
+++ /dev/null
@@ -1,51 +0,0 @@
-$inherits:
-  from: 'tasks/l10n.yml'
-  variables:
-    platform: 'linux64'
-    build_name: 'linux64-l10n'
-    build_product: 'firefox'
-    build_type: 'opt'
-docker-image: desktop-build
-task:
-  scopes:
-    - 'docker-worker:cache:tooltool-cache'
-    - 'docker-worker:relengapi-proxy:tooltool.download.public'
-    - 'docker-worker:cache:level-{{level}}-{{project}}-l10n-{{build_name}}-workspace'
-
-  payload:
-    image:
-      type: 'task-image'
-      path: 'public/image.tar'
-      taskId:
-        task-reference: "<docker-image>"
-    cache:
-      tooltool-cache: '/home/worker/tooltool-cache'
-      level-{{level}}-{{project}}-l10n-{{build_name}}-workspace: '/home/worker/workspace'
-
-    features:
-      relengAPIProxy: true
-
-    env:
-      MOZHARNESS_SCRIPT: 'mozharness/scripts/desktop_l10n.py'
-      MOZHARNESS_CONFIG: 'single_locale/tc_{{platform}}.py'
-      MOZHARNESS_ACTIONS: 'clone-locales list-locales setup repack summary'
-      MOZHARNESS_OPTIONS: 'environment-config=single_locale/production.py branch-config=single_locale/{{project}}.py platform-config=single_locale/{{platform}}.py total-chunks=1 this-chunk=1'
-      JOB_SCRIPT: 'taskcluster/scripts/builder/build-l10n.sh'
-      MH_BRANCH: {{project}}
-      MH_BUILD_POOL: taskcluster
-      # image paths
-      TOOLTOOL_CACHE: '/home/worker/tooltool-cache'
-      NEED_XVFB: true
-
-    maxRunTime: 36000
-
-    command: ["/bin/bash", "bin/build.sh"]
-
-  extra:
-    treeherderEnv:
-      - production
-      - staging
-    treeherder:
-      machine:
-        # see https://github.com/mozilla/treeherder/blob/master/ui/js/values.js
-        platform: {{platform}}
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/builds/firefox_l10n_linux32.yml
+++ /dev/null
@@ -1,19 +0,0 @@
-$inherits:
-  from: 'tasks/builds/firefox_l10n_base.yml'
-  variables:
-    build_name: 'linux32-l10n'
-    platform: 'linux32'
-task:
-  metadata:
-      name: '[TC] Linux32 L10n'
-      description: 'Linux32 L10n'
-
-  workerType: 'gecko-{{level}}-b-linux'
-
-  extra:
-    treeherder:
-      groupSymbol: tc
-      groupName: Submitted by taskcluster
-      tier: 2
-      symbol: L10n
-
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/builds/firefox_l10n_linux64.yml
+++ /dev/null
@@ -1,19 +0,0 @@
-$inherits:
-  from: 'tasks/builds/firefox_l10n_base.yml'
-  variables:
-    build_name: 'linux64-l10n'
-    platform: 'linux64'
-task:
-  metadata:
-      name: '[TC] Linux64 L10n'
-      description: 'Linux64 L10n'
-
-  workerType: 'gecko-{{level}}-b-linux'
-
-  extra:
-    treeherder:
-      groupSymbol: tc
-      groupName: Submitted by taskcluster
-      tier: 2
-      symbol: L10n
-
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/builds/firefox_windows_base.yml
+++ /dev/null
@@ -1,14 +0,0 @@
-$inherits:
-  from: 'tasks/windows_build.yml'
-  variables:
-    build_product: 'firefox'
-task:
-  metadata:
-    name: '[TC] Firefox {{build_name}} ({{build_type}})'
-    description: 'Firefox {{build_name}} {{build_type}}'
-  payload:
-    command:
-      - 'mkdir .\build\src'
-      - 'hg share c:\builds\hg-shared\mozilla-central .\build\src'
-      - 'hg pull -u -R .\build\src --rev %GECKO_HEAD_REV% %GECKO_HEAD_REPOSITORY%'
-      - 'c:\mozilla-build\python\python.exe .\build\src\testing\mozharness\scripts\fx_desktop_build.py --config builds\taskcluster_firefox_{{build_name}}_{{build_type}}.py --branch {{project}} --skip-buildbot-actions --work-dir %cd:Z:=z:%\build'
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/builds/haz_linux.yml
+++ /dev/null
@@ -1,60 +0,0 @@
-$inherits:
-  from: 'tasks/builds/firefox_docker_base.yml'
-  variables:
-    build_name: 'browser-haz'
-    build_type: 'debug'
-task:
-  metadata:
-    name: '[TC] Browser Hazard Linux'
-    description: Browser Hazard Analysis Linux
-
-  workerType: 'gecko-{{level}}-b-linux'
-
-  scopes:
-    - 'docker-worker:cache:tooltool-cache'
-    - 'docker-worker:relengapi-proxy:tooltool.download.public'
-    - 'docker-worker:cache:level-{{level}}-{{project}}-build-linux64-haz-debug-workspace'
-
-  payload:
-    cache:
-      level-{{level}}-{{project}}-build-linux64-haz-debug-workspace: '/home/worker/workspace'
-      tooltool-cache: '/home/worker/tooltool-cache'
-
-    features:
-      relengAPIProxy: true
-
-    env:
-      MOZCONFIG: 'browser/config/mozconfigs/linux64/hazards'
-      TOOLTOOL_CACHE: '/home/worker/tooltool-cache'
-      TOOLTOOL_MANIFEST: 'browser/config/tooltool-manifests/linux64/hazard.manifest'
-
-    maxRunTime: 36000
-
-    command:
-      - /bin/bash
-      - -c
-      - >
-        tc-vcs checkout workspace/gecko "$GECKO_BASE_REPOSITORY" "$GECKO_HEAD_REPOSITORY" "$GECKO_HEAD_REV" "$GECKO_HEAD_REF" &&
-        cd ./workspace/gecko/taskcluster/scripts/builder &&
-        ./build-haz-linux.sh --project browser $HOME/workspace
-
-  extra:
-    treeherderEnv:
-      - production
-      - staging
-    treeherder:
-      machine:
-        # see https://github.com/mozilla/treeherder/blob/master/ui/js/values.js
-        platform: linux64
-      groupSymbol: tc
-      groupName: Submitted by taskcluster for your pleasure
-      symbol: H
-      tier: 1
-      collection:
-        debug: true
-    # Rather then enforcing particular conventions we require that all build
-    # tasks provide the "build" extra field to specify where the build and tests
-    # files are located.
-    locations:
-      build: null
-      tests: null
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/builds/haz_shell_linux.yml
+++ /dev/null
@@ -1,59 +0,0 @@
-$inherits:
-  from: 'tasks/builds/firefox_docker_base.yml'
-  variables:
-    build_name: 'shell-haz'
-    build_type: 'debug'
-task:
-  metadata:
-    name: '[TC] JS Shell Hazard Linux'
-    description: JS Shell Hazard Analysis Linux
-
-  workerType: 'gecko-{{level}}-b-linux'
-
-  scopes:
-    - 'docker-worker:cache:tooltool-cache'
-    - 'docker-worker:relengapi-proxy:tooltool.download.public'
-    - 'docker-worker:cache:level-{{level}}-{{project}}-build-linux64-shell-haz-debug-workspace'
-
-  payload:
-    cache:
-      level-{{level}}-{{project}}-build-linux64-shell-haz-debug-workspace: '/home/worker/workspace'
-      tooltool-cache: '/home/worker/tooltool-cache'
-
-    features:
-      relengAPIProxy: true
-
-    env:
-      TOOLTOOL_CACHE: '/home/worker/tooltool-cache'
-      TOOLTOOL_MANIFEST: 'browser/config/tooltool-manifests/linux64/hazard.manifest'
-
-    maxRunTime: 36000
-
-    command:
-      - /bin/bash
-      - -c
-      - >
-        tc-vcs checkout workspace/gecko "$GECKO_BASE_REPOSITORY" "$GECKO_HEAD_REPOSITORY" "$GECKO_HEAD_REV" "$GECKO_HEAD_REF" &&
-        cd ./workspace/gecko/taskcluster/scripts/builder &&
-        ./build-haz-linux.sh --project shell $HOME/workspace
-
-  extra:
-    treeherderEnv:
-      - production
-      - staging
-    treeherder:
-      machine:
-        # see https://github.com/mozilla/treeherder/blob/master/ui/js/values.js
-        platform: linux64
-      groupSymbol: SM-tc
-      groupName: SpiderMonkey, submitted by taskcluster
-      symbol: H
-      tier: 1
-      collection:
-        debug: true
-    # Rather then enforcing particular conventions we require that all build
-    # tasks provide the "build" extra field to specify where the build and tests
-    # files are located.
-    locations:
-      build: null
-      tests: null
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/builds/linux64_clang.yml
+++ /dev/null
@@ -1,59 +0,0 @@
-$inherits:
-  from: 'tasks/build.yml'
-  variables:
-    build_product: firefox
-    build_name: 'linux64-clang'
-    build_type: 'opt'
-
-docker-image: desktop-build
-task:
-  metadata:
-    name: '[TC] Clang'
-    description: 'Clang'
-
-  workerType: 'gecko-{{level}}-b-linux'
-
-  scopes:
-    - 'docker-worker:cache:level-{{level}}-{{project}}-tc-vcs'
-    - 'docker-worker:cache:tooltool-cache'
-
-  payload:
-    image:
-      type: 'task-image'
-      path: 'public/image.tar'
-      taskId:
-        task-reference: "<docker-image>"
-
-    cache:
-      level-{{level}}-{{project}}-tc-vcs: '/home/worker/.tc-vcs'
-      tooltool-cache: '/home/worker/tooltool-cache'
-
-    env:
-      TOOLS_DISABLE: 'true'
-      TOOLTOOL_CACHE: '/home/worker/tooltool-cache'
-
-    maxRunTime: 36000
-
-    command: ["/bin/bash", "-c", "cd /home/worker/ && ./bin/checkout-sources.sh && ./workspace/build/src/taskcluster/scripts/misc/build-clang-linux.sh" ]
-
-    artifacts:
-      'public':
-        type: directory
-        path: '/home/worker/workspace/artifacts/'
-        expires:
-          relative-datestamp: "1 year"
-
-  extra:
-    treeherderEnv:
-      - staging
-      - production
-    treeherder:
-      groupSymbol: Cc
-      groupName: Compilers, submitted by taskcluster
-      symbol: Clang
-      tier: 1
-      machine:
-        platform: linux64
-    locations:
-        build: null
-        tests: null
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/builds/linux64_gcc.yml
+++ /dev/null
@@ -1,59 +0,0 @@
-$inherits:
-  from: 'tasks/build.yml'
-  variables:
-    build_product: firefox
-    build_name: 'linux64-gcc'
-    build_type: 'opt'
-
-docker-image: desktop-build
-task:
-  metadata:
-    name: '[TC] GCC'
-    description: 'GCC'
-
-  workerType: 'gecko-{{level}}-b-linux'
-
-  scopes:
-    - 'docker-worker:cache:level-{{level}}-{{project}}-tc-vcs'
-    - 'docker-worker:cache:tooltool-cache'
-
-  payload:
-    image:
-      type: 'task-image'
-      path: 'public/image.tar'
-      taskId:
-        task-reference: "<docker-image>"
-
-    cache:
-      level-{{level}}-{{project}}-tc-vcs: '/home/worker/.tc-vcs'
-      tooltool-cache: '/home/worker/tooltool-cache'
-
-    env:
-      TOOLS_DISABLE: 'true'
-      TOOLTOOL_CACHE: '/home/worker/tooltool-cache'
-
-    maxRunTime: 36000
-
-    command: ["/bin/bash", "-c", "cd /home/worker/ && ./bin/checkout-sources.sh && ./workspace/build/src/taskcluster/scripts/misc/build-gcc-linux.sh" ]
-
-    artifacts:
-      'public':
-        type: directory
-        path: '/home/worker/workspace/artifacts/'
-        expires:
-          relative-datestamp: "1 year"
-
-  extra:
-    treeherderEnv:
-      - staging
-      - production
-    treeherder:
-      groupSymbol: Cc
-      groupName: Compilers, submitted by taskcluster
-      symbol: GCC
-      tier: 1
-      machine:
-        platform: linux64
-    locations:
-        build: null
-        tests: null
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/builds/mobile_base.yml
+++ /dev/null
@@ -1,13 +0,0 @@
-$inherits:
-  from: 'tasks/docker_build.yml'
-  variables:
-    build_product: 'mobile'
-docker-image: desktop-build
-task:
-  payload:
-    image:
-      type: 'task-image'
-      path: 'public/image.tar'
-      taskId:
-        task-reference: "<docker-image>"
-
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/builds/mulet_haz_linux.yml
+++ /dev/null
@@ -1,60 +0,0 @@
-$inherits:
-  from: 'tasks/builds/b2g_base.yml'
-  variables:
-    build_name: 'mulet-haz'
-    build_type: 'debug'
-task:
-  metadata:
-    name: '[TC] Mulet Hazard Linux'
-    description: Mulet Hazard Analysis Linux
-
-  workerType: mulet-debug
-
-  routes:
-    - 'index.buildbot.branches.{{project}}.linux64-haz-mulet'
-    - 'index.buildbot.revisions.{{head_rev}}.{{project}}.linux64-haz-mulet'
-
-  scopes:
-    - 'docker-worker:cache:level-{{level}}-{{project}}-build-mulet-haz-linux-workspace'
-    - 'docker-worker:cache:tooltool-cache'
-    - 'docker-worker:relengapi-proxy:tooltool.download.public'
-
-  payload:
-    cache:
-      level-{{level}}-{{project}}-build-mulet-haz-linux-workspace: '/home/worker/workspace'
-      tooltool-cache: '/home/worker/tooltool-cache'
-
-    features:
-      relengAPIProxy: true
-
-    env:
-      MOZCONFIG: 'b2g/dev/config/mozconfigs/linux64/mulet-hazards'
-      TOOLTOOL_MANIFEST: 'gecko/b2g/dev/config/tooltool-manifests/linux64/hazard.manifest'
-      TOOLTOOL_CACHE: '/home/worker/tooltool-cache'
-
-    maxRunTime: 36000
-
-    command:
-      - /bin/bash
-      - -c
-      - >
-        checkout-gecko workspace &&
-        cd ./workspace/gecko/taskcluster/scripts/builder &&
-        buildbot_step 'Build' ./build-mulet-haz-linux.sh $HOME/workspace
-
-  extra:
-    treeherderEnv:
-      - production
-      - staging
-    treeherder:
-      groupSymbol: "tc"
-      symbol: "H"
-      tier: 3
-      machine:
-        platform: mulet-linux64
-    # Rather then enforcing particular conventions we require that all build
-    # tasks provide the "build" extra field to specify where the build and tests
-    # files are located.
-    locations:
-      build: null
-      tests: null
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/builds/mulet_linux.yml
+++ /dev/null
@@ -1,59 +0,0 @@
-$inherits:
-  from: 'tasks/builds/b2g_base.yml'
-  variables:
-    build_name: 'mulet'
-    build_type: 'opt'
-task:
-  metadata:
-    name: '[TC] Mulet Linux'
-    description: Mulet Linux
-
-  workerType: mulet-opt
-
-  routes:
-    - 'index.buildbot.branches.{{project}}.linux64-mulet'
-    - 'index.buildbot.revisions.{{head_rev}}.{{project}}.linux64-mulet'
-
-  scopes:
-    - 'docker-worker:cache:level-{{level}}-{{project}}-build-linux64-mulet-opt-workspace'
-    - 'docker-worker:cache:tooltool-cache'
-    - 'docker-worker:relengapi-proxy:tooltool.download.public'
-
-  payload:
-    cache:
-      level-{{level}}-{{project}}-build-linux64-mulet-opt-workspace: '/home/worker/workspace'
-      tooltool-cache: '/home/worker/tools/tooltool-cache'
-
-    features:
-      relengAPIProxy: true
-
-    env:
-      MOZCONFIG: 'b2g/dev/config/mozconfigs/linux64/mulet'
-      TOOLTOOL_MANIFEST: 'b2g/dev/config/tooltool-manifests/linux64/releng.manifest'
-
-    maxRunTime: 3600
-
-    command:
-      - /bin/bash
-      - -c
-      - >
-        checkout-gecko workspace &&
-        cd ./workspace/gecko/taskcluster/scripts/builder &&
-        buildbot_step 'Build' ./build-mulet-linux.sh $HOME/workspace
-
-  extra:
-    treeherderEnv:
-      - production
-      - staging
-    treeherder:
-      # Disable "TC" prefix...
-      groupSymbol: "?"
-      tier: 3
-      machine:
-        platform: mulet-linux64
-    # Rather then enforcing particular conventions we require that all build
-    # tasks provide the "build" extra field to specify where the build and tests
-    # files are located.
-    locations:
-      build: 'public/build/target.tar.bz2'
-      test_packages: 'public/build/target.test_packages.json'
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/builds/mulet_linux_dbg.yml
+++ /dev/null
@@ -1,61 +0,0 @@
-$inherits:
-  from: 'tasks/builds/b2g_base.yml'
-  variables:
-    build_name: 'mulet'
-    build_type: 'dbg'
-task:
-  metadata:
-    name: '[TC] Mulet Linux Dbg'
-    description: Mulet Linux Dbg
-
-  workerType: mulet-debug
-
-  routes:
-    - 'index.buildbot.branches.{{project}}.linux64-mulet'
-    - 'index.buildbot.revisions.{{head_rev}}.{{project}}.linux64-mulet'
-
-  scopes:
-    - 'docker-worker:cache:level-{{level}}-{{project}}-build-linux64-mulet-debug-workspace'
-    - 'docker-worker:cache:tooltool-cache'
-    - 'docker-worker:relengapi-proxy:tooltool.download.public'
-
-  payload:
-    cache:
-      level-{{level}}-{{project}}-build-linux64-mulet-debug-workspace: '/home/worker/workspace'
-      tooltool-cache: '/home/worker/tools/tooltool-cache'
-
-    features:
-      relengAPIProxy: true
-
-    env:
-      MOZCONFIG: 'b2g/dev/config/mozconfigs/linux64/mulet_dbg'
-      TOOLTOOL_MANIFEST: 'b2g/dev/config/tooltool-manifests/linux64/releng.manifest'
-
-    maxRunTime: 3600
-
-    command:
-      - /bin/bash
-      - -c
-      - >
-        checkout-gecko workspace &&
-        cd ./workspace/gecko/taskcluster/scripts/builder &&
-        buildbot_step 'Build' ./build-mulet-linux.sh $HOME/workspace
-
-  extra:
-    treeherderEnv:
-      - production
-      - staging
-    treeherder:
-      # Disable "TC" prefix...
-      groupSymbol: "?"
-      tier: 3
-      machine:
-        platform: mulet-linux64
-      collection:
-        debug: true
-    # Rather then enforcing particular conventions we require that all build
-    # tasks provide the "build" extra field to specify where the build and tests
-    # files are located.
-    locations:
-      build: 'public/build/target.tar.bz2'
-      test_packages: 'public/build/target.test_packages.json'
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/builds/opt_linux32.yml
+++ /dev/null
@@ -1,24 +0,0 @@
-$inherits:
-  from: 'tasks/builds/base_linux32.yml'
-  variables:
-    build_name: 'linux'
-    build_type: 'opt'
-task:
-  metadata:
-      name: '[TC] Linux32 Opt'
-      description: 'Linux32 Opt'
-
-  routes:
-      - 'coalesce.v1.builds.{{project}}.opt_linux32'
-
-  workerType: 'gecko-{{level}}-b-linux'
-
-  payload:
-      supersederUrl: 'https://coalesce.mozilla-releng.net/v1/list/builds.{{project}}.opt_linux32'
-
-  extra:
-    treeherder:
-      groupSymbol: tc
-      groupName: Submitted by taskcluster
-      symbol: B
-      tier: 2
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/builds/opt_linux64.yml
+++ /dev/null
@@ -1,22 +0,0 @@
-$inherits:
-  from: 'tasks/builds/base_linux64.yml'
-  variables:
-    build_name: 'linux64'
-    build_type: 'opt'
-task:
-  metadata:
-      name: '[TC] Linux64 Opt'
-      description: 'Linux64 Opt'
-
-  routes:
-    - 'index.buildbot.branches.{{project}}.linux64'
-    - 'index.buildbot.revisions.{{head_rev}}.{{project}}.linux64'
-
-  workerType: 'gecko-{{level}}-b-linux'
-
-  extra:
-    treeherder:
-      groupSymbol: tc
-      groupName: Submitted by taskcluster
-      symbol: B
-      tier: 2
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/builds/opt_linux64_artifact.yml
+++ /dev/null
@@ -1,29 +0,0 @@
-$inherits:
-  from: 'tasks/builds/base_linux64.yml'
-  variables:
-    build_name: 'linux64-artifact'
-    build_type: 'opt'
-task:
-  metadata:
-      name: '[TC] Linux64 Artifact Opt'
-      description: 'Linux64 Opt Artifact build'
-
-  routes:
-    - 'index.buildbot.branches.{{project}}.linux64-artifact'
-    - 'index.buildbot.revisions.{{head_rev}}.{{project}}.linux64-artifact'
-
-  workerType: 'gecko-{{level}}-b-linux'
-
-  payload:
-    env:
-      MOZHARNESS_SCRIPT: 'mozharness/scripts/fx_desktop_build.py'
-      MOZHARNESS_CONFIG: 'builds/releng_sub_linux_configs/64_artifact.py balrog/production.py'
-      MOZHARNESS_ACTIONS: 'get-secrets build generate-build-stats'
-      DIST_UPLOADS: ''
-      DIST_TARGET_UPLOADS: ''
-
-  extra:
-    treeherder:
-      groupSymbol: "?"
-      symbol: AB
-      tier: 2
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/builds/opt_linux64_asan.yml
+++ /dev/null
@@ -1,31 +0,0 @@
-$inherits:
-  from: 'tasks/builds/base_linux64.yml'
-  variables:
-    build_name: 'linux64-asan'
-    build_type: 'opt'
-task:
-  metadata:
-      name: '[TC] Linux64 ASan Opt'
-      description: 'Linux64 ASan Opt'
-
-  routes:
-    - 'index.buildbot.branches.{{project}}.linux64-asan'
-    - 'index.buildbot.revisions.{{head_rev}}.{{project}}.linux64-asan'
-
-  workerType: gecko-{{level}}-b-linux
-
-  payload:
-    env:
-      MH_CUSTOM_BUILD_VARIANT_CFG: 'asan-tc'
-
-  extra:
-    treeherder:
-      groupSymbol: tc
-      groupName: Submitted by taskcluster
-      machine:
-        # see https://github.com/mozilla/treeherder/blob/master/ui/js/values.js
-        platform: linux64
-      symbol: Bo
-      collection:
-        asan: true
-      tier: 1
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/builds/opt_linux64_pgo.yml
+++ /dev/null
@@ -1,35 +0,0 @@
-$inherits:
-  from: 'tasks/builds/base_linux64.yml'
-  variables:
-    build_name: 'linux64-pgo'
-    build_type: 'opt'
-task:
-  metadata:
-      name: '[TC] Linux64 PGO Opt'
-      description: 'Linux64 PGO Opt'
-
-  routes:
-    - 'index.buildbot.branches.{{project}}.linux64-pgo'
-    - 'index.buildbot.revisions.{{head_rev}}.{{project}}.linux64-pgo'
-    - 'coalesce.v1.builds.{{project}}.linux64-pgo'
-
-  workerType: 'gecko-{{level}}-b-linux'
-
-  payload:
-    supersederUrl: 'https://coalesce.mozilla-releng.net/v1/list/builds.{{project}}.linux64-pgo'
-
-    env:
-      # add various options to mozharness command line run
-      MOZHARNESS_OPTIONS: 'enable-pgo'
-
-  extra:
-    treeherder:
-      groupSymbol: tc
-      groupName: Submitted by taskcluster
-      machine:
-        # see https://github.com/mozilla/treeherder/blob/master/ui/js/values.js
-        platform: linux64
-      symbol: B
-      tier: 2
-      collection:
-        pgo: true
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/builds/opt_linux64_st-an.yml
+++ /dev/null
@@ -1,29 +0,0 @@
-$inherits:
-  from: 'tasks/builds/base_linux64.yml'
-  variables:
-    build_name: 'linux64-st-an'
-    build_type: 'opt'
-task:
-  metadata:
-      name: '[TC] Linux64 Static Analysis Opt'
-      description: 'Linux64 Static Analysis Opt'
-
-  routes:
-    - 'index.buildbot.branches.{{project}}.linux64-st-an'
-    - 'index.buildbot.revisions.{{head_rev}}.{{project}}.linux64-st-an'
-
-  workerType: 'gecko-{{level}}-b-linux'
-
-  payload:
-    env:
-      MOZHARNESS_SCRIPT: 'mozharness/scripts/fx_desktop_build.py'
-      MOZHARNESS_CONFIG: 'builds/releng_sub_linux_configs/64_stat_and_opt.py balrog/production.py'
-      MOZHARNESS_ACTIONS: 'get-secrets build generate-build-stats'
-      DIST_UPLOADS: ''
-      DIST_TARGET_UPLOADS: ''
-
-  extra:
-    treeherder:
-      groupSymbol: "?"
-      symbol: S
-      tier: 1
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/builds/opt_linux64_valgrind.yml
+++ /dev/null
@@ -1,32 +0,0 @@
-$inherits:
-  from: 'tasks/builds/base_linux64.yml'
-  variables:
-    build_name: 'linux64-valgrind'
-    build_type: 'opt'
-task:
-  metadata:
-      name: '[TC] Linux64 Valgrind Opt'
-      description: 'Linux64 Valgrind Opt'
-
-  routes:
-    - 'index.buildbot.branches.{{project}}.linux64-valgrind'
-    - 'index.buildbot.revisions.{{head_rev}}.{{project}}.linux64-valgrind'
-
-  workerType: 'gecko-{{level}}-b-linux'
-
-  payload:
-    env:
-      MH_CUSTOM_BUILD_VARIANT_CFG: 'valgrind'
-      MOZHARNESS_ACTIONS: 'get-secrets build valgrind-test generate-build-stats'
-
-    maxRunTime: 72000
-
-  extra:
-    treeherder:
-      groupSymbol: tc
-      groupName: Submitted by taskcluster
-      symbol: V
-      machine:
-        # see https://github.com/mozilla/treeherder/blob/master/ui/js/values.js
-        platform: linux64
-      tier: 1
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/builds/opt_macosx64.yml
+++ /dev/null
@@ -1,18 +0,0 @@
-$inherits:
-  from: 'tasks/builds/base_macosx64.yml'
-  variables:
-    build_name: 'macosx64'
-    build_type: 'opt'
-task:
-  metadata:
-      name: '[TC] MacOSX64 Opt'
-      description: 'MacOSX64 Opt'
-
-  workerType: opt-macosx64
-
-  extra:
-    treeherder:
-      groupSymbol: tc
-      groupName: Submitted by taskcluster
-      symbol: B
-      tier: 2
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/builds/opt_macosx64_st-an.yml
+++ /dev/null
@@ -1,23 +0,0 @@
-$inherits:
-  from: 'tasks/builds/base_macosx64.yml'
-  variables:
-    build_name: 'macosx64-st-an'
-    build_type: 'opt'
-task:
-  metadata:
-      name: '[TC] MacOSX64 Static Analysis Opt'
-      description: 'MacOSX64 Static Analysis Opt'
-
-  workerType: opt-macosx64
-
-  payload:
-    env:
-      MH_CUSTOM_BUILD_VARIANT_CFG: 'cross-opt'
-      DIST_UPLOADS: ''
-      DIST_TARGET_UPLOADS: ''
-  extra:
-    treeherder:
-      groupSymbol: "?"
-      groupName: Submitted by taskcluster
-      symbol: S
-      tier: 1
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/builds/opt_win32.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-$inherits:
-  from: 'tasks/builds/base_win32.yml'
-  variables:
-    build_type: 'opt'
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/builds/opt_win64.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-$inherits:
-  from: 'tasks/builds/base_win64.yml'
-  variables:
-    build_type: 'opt'
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/builds/sm_arm64_sim.yml
+++ /dev/null
@@ -1,15 +0,0 @@
-$inherits:
-  from: 'tasks/builds/sm_variant_base.yml'
-  variables:
-    build_name: 'sm-arm64-sim'
-    build_type: 'debug'
-task:
-  payload:
-    env:
-        SPIDERMONKEY_VARIANT: 'arm64-sim'
-  metadata:
-    name: '[TC] Spidermonkey ARM64 simulator'
-    description: 'Spidermonkey ARM64 simulator'
-  extra:
-    treeherder:
-      symbol: arm64
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/builds/sm_arm_sim.yml
+++ /dev/null
@@ -1,15 +0,0 @@
-$inherits:
-  from: 'tasks/builds/sm_variant_base.yml'
-  variables:
-    build_name: 'sm-arm-sim'
-    build_type: 'debug'
-task:
-  payload:
-    env:
-        SPIDERMONKEY_VARIANT: 'arm-sim'
-  metadata:
-    name: '[TC] Spidermonkey ARM sim'
-    description: 'Spidermonkey ARM sim'
-  extra:
-    treeherder:
-      symbol: arm
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/builds/sm_arm_sim_osx.yml
+++ /dev/null
@@ -1,15 +0,0 @@
-$inherits:
-  from: 'tasks/builds/sm_variant_base.yml'
-  variables:
-    build_name: 'sm-arm-sim-osx'
-    build_type: 'debug'
-task:
-  payload:
-    env:
-      SPIDERMONKEY_VARIANT: 'arm-sim-osx'
-  metadata:
-    name: '[TC] Spidermonkey ARM Simulator OSX'
-    description: 'Spidermonkey ARM Simulator OSX'
-  extra:
-    treeherder:
-      symbol: arm
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/builds/sm_asan.yml
+++ /dev/null
@@ -1,17 +0,0 @@
-$inherits:
-  from: 'tasks/builds/sm_variant_base.yml'
-  variables:
-    build_name: 'sm-asan'
-    build_type: 'opt'
-task:
-  payload:
-    env:
-      SPIDERMONKEY_VARIANT: 'asan'
-      TOOLTOOL_MANIFEST: 'browser/config/tooltool-manifests/linux64/asan.manifest'
-  metadata:
-    name: '[TC] Spidermonkey Address Sanitizer'
-    description: 'Spidermonkey Address Sanitizer'
-  extra:
-    treeherder:
-      symbol: asan
-      tier: 1
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/builds/sm_base.yml
+++ /dev/null
@@ -1,42 +0,0 @@
-$inherits:
-  from: 'tasks/builds/firefox_docker_base.yml'
-task:
-  workerType: 'gecko-{{level}}-b-linux'
-
-  routes:
-    - 'index.buildbot.branches.{{project}}.sm-plain'
-    - 'index.buildbot.revisions.{{head_rev}}.{{project}}.sm-plain'
-
-  scopes:
-    - 'docker-worker:cache:tooltool-cache'
-    - 'docker-worker:cache:level-{{level}}-{{project}}-build-spidermonkey-workspace'
-
-  payload:
-    cache:
-      tooltool-cache: '/home/worker/tooltool-cache'
-      level-{{level}}-{{project}}-build-spidermonkey-workspace: '/home/worker/workspace'
-
-    env:
-      MOZHARNESS_DISABLE: 'true'
-      TOOLS_DISABLE: 'true'
-      TOOLTOOL_CACHE: '/home/worker/tooltool-cache'
-
-    maxRunTime: 36000
-
-  extra:
-    treeherderEnv:
-      - staging
-      - production
-    treeherder:
-      groupSymbol: SM-tc
-      groupName: Spider Monkey, submitted by taskcluster
-      machine:
-        # see https://github.com/mozilla/treeherder/blob/master/ui/js/values.js
-        platform: linux64
-      tier: 1
-    # Rather then enforcing particular conventions we require that all build
-    # tasks provide the "build" extra field to specify where the build and tests
-    # files are located.
-    locations:
-      build: 'public/build/target.spidermonkey.tar.bz2'
-      tests: 'public/build/target.spidermonkey.tar.bz2'
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/builds/sm_compacting.yml
+++ /dev/null
@@ -1,15 +0,0 @@
-$inherits:
-  from: 'tasks/builds/sm_variant_base.yml'
-  variables:
-    build_name: 'sm-compacting'
-    build_type: 'debug'
-task:
-  payload:
-    env:
-      SPIDERMONKEY_VARIANT: 'compacting'
-  metadata:
-    name: '[TC] Spidermonkey Compactng'
-    description: 'Spidermonkey Compacting'
-  extra:
-    treeherder:
-      symbol: cgc
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/builds/sm_msan.yml
+++ /dev/null
@@ -1,17 +0,0 @@
-$inherits:
-  from: 'tasks/builds/sm_variant_base.yml'
-  variables:
-    build_name: 'sm-msan'
-    build_type: 'opt'
-task:
-  payload:
-    env:
-      SPIDERMONKEY_VARIANT: 'msan'
-      TOOLTOOL_MANIFEST: 'browser/config/tooltool-manifests/linux64/msan.manifest'
-  metadata:
-    name: '[TC] Spidermonkey Memory Sanitizer'
-    description: 'Spidermonkey Memory Sanitizer'
-  extra:
-    treeherder:
-      symbol: msan
-      tier: 1
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/builds/sm_nonunified.yml
+++ /dev/null
@@ -1,17 +0,0 @@
-$inherits:
-  from: 'tasks/builds/sm_variant_base.yml'
-  variables:
-    build_name: 'sm-nonunified'
-    build_type: 'debug'
-task:
-  payload:
-    env:
-      SPIDERMONKEY_VARIANT: 'nonunified'
-  metadata:
-    name: '[TC] Spidermonkey Non-Unified Debug'
-    description: 'Spidermonkey Non-Unified Debug'
-  extra:
-    treeherder:
-      symbol: nu
-      collection:
-        debug: true
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/builds/sm_package.yml
+++ /dev/null
@@ -1,18 +0,0 @@
-$inherits:
-  from: 'tasks/builds/sm_base.yml'
-  variables:
-    build_name: 'sm-package'
-    build_type: 'opt'
-task:
-  payload:
-    env:
-      SPIDERMONKEY_VARIANT: 'plain'
-
-    command: [ "/bin/bash", "-c", "cd /home/worker/ && ./bin/checkout-sources.sh && ./workspace/build/src/taskcluster/scripts/builder/build-sm-package.sh" ]
-
-  metadata:
-    name: '[TC] Spidermonkey Package'
-    description: 'Spidermonkey Package'
-  extra:
-    treeherder:
-      symbol: pkg
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/builds/sm_plain.yml
+++ /dev/null
@@ -1,15 +0,0 @@
-$inherits:
-  from: 'tasks/builds/sm_variant_base.yml'
-  variables:
-    build_name: 'sm-plain'
-    build_type: 'opt'
-task:
-  payload:
-    env:
-      SPIDERMONKEY_VARIANT: 'plain'
-  metadata:
-    name: '[TC] Spidermonkey Plain'
-    description: 'Spidermonkey Plain'
-  extra:
-    treeherder:
-      symbol: p
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/builds/sm_plaindebug.yml
+++ /dev/null
@@ -1,17 +0,0 @@
-$inherits:
-  from: 'tasks/builds/sm_variant_base.yml'
-  variables:
-    build_name: 'sm-plaindebug'
-    build_type: 'debug'
-task:
-  payload:
-    env:
-      SPIDERMONKEY_VARIANT: 'plaindebug'
-  metadata:
-    name: '[TC] Spidermonkey Plain Debug'
-    description: 'Spidermonkey Plain Debug'
-  extra:
-    treeherder:
-      symbol: p
-      collection:
-        debug: true
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/builds/sm_rootanalysis.yml
+++ /dev/null
@@ -1,15 +0,0 @@
-$inherits:
-  from: 'tasks/builds/sm_variant_base.yml'
-  variables:
-    build_name: 'sm-rootanalysis'
-    build_type: 'debug'
-task:
-  payload:
-    env:
-      SPIDERMONKEY_VARIANT: 'rootanalysis'
-  metadata:
-    name: '[TC] Spidermonkey Root Analysis'
-    description: 'Spidermonkey Root Analysis'
-  extra:
-    treeherder:
-      symbol: r
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/builds/sm_tsan.yml
+++ /dev/null
@@ -1,17 +0,0 @@
-$inherits:
-  from: 'tasks/builds/sm_variant_base.yml'
-  variables:
-    build_name: 'sm-tsan'
-    build_type: 'opt'
-task:
-  payload:
-    env:
-      SPIDERMONKEY_VARIANT: 'tsan'
-      TOOLTOOL_MANIFEST: 'browser/config/tooltool-manifests/linux64/tsan.manifest'
-  metadata:
-    name: '[TC] Spidermonkey Thread Sanitizer'
-    description: 'Spidermonkey Thread Sanitizer'
-  extra:
-    treeherder:
-      symbol: tsan
-      tier: 3
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/builds/sm_variant_base.yml
+++ /dev/null
@@ -1,5 +0,0 @@
-$inherits:
-  from: 'tasks/builds/sm_base.yml'
-task:
-  payload:
-    command: ["/bin/bash", "-c", "cd /home/worker/ && ./bin/checkout-sources.sh && ./workspace/build/src/taskcluster/scripts/builder/build-sm.sh" ]
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/docker_build.yml
+++ /dev/null
@@ -1,27 +0,0 @@
-$inherits:
-  from: 'tasks/build.yml'
-
-
-task:
-  workerType: b2gbuild
-
-  routes:
-    - 'index.gecko.v1.{{project}}.revision.linux.{{head_rev}}.{{build_name}}.{{build_type}}'
-    - 'index.gecko.v1.{{project}}.latest.linux.{{build_name}}.{{build_type}}'
-
-  scopes:
-    # docker build tasks use tc-vcs so include the scope.
-    - 'docker-worker:cache:level-{{level}}-{{project}}-tc-vcs'
-
-  payload:
-
-    cache:
-      level-{{level}}-{{project}}-tc-vcs: '/home/worker/.tc-vcs'
-
-    # All docker builds share a common artifact directory for ease of uploading.
-    artifacts:
-      'public/build':
-        type: directory
-        path: '/home/worker/artifacts/'
-        expires:
-          relative-datestamp: '1 year'
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/docker_test.yml
+++ /dev/null
@@ -1,29 +0,0 @@
-$inherits:
-  from: 'tasks/test.yml'
-
-docker-image: tester
-task:
-  workerType: b2gtest
-
-  scopes:
-    - 'docker-worker:feature:allowPtrace'
-
-  payload:
-    image:
-      type: 'task-image'
-      path: 'public/image.tar'
-      taskId:
-        task-reference: "<docker-image>"
-
-    # Docker builds share a common artifact directory for ease of uploading.
-    artifacts:
-      'public/logs/':
-        type: directory
-        path: '/home/worker/workspace/build/upload/logs/'
-        expires:
-          relative-datestamp: '1 year'
-      'public/test_info/':
-        type: directory
-        path: '/home/worker/workspace/build/blobber_upload_dir/'
-        expires:
-          relative-datestamp: '1 year'
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/harness_test.yml
+++ /dev/null
@@ -1,72 +0,0 @@
-# This is the "base" task which contains the common values all harness
-# unit tests must provide.
-# It's inspired by build.yml, since harness unit tests just depend on
-# checking out the source tree.
----
-taskId: {{build_slugid}}
-docker-image: desktop-build
-task:
-  created:
-    relative-datestamp: '0 seconds'
-  deadline:
-    relative-datestamp: '24 hours'
-  metadata:
-    source: '{{source}}'
-    owner: mozilla-taskcluster-maintenance@mozilla.com
-  tags:
-    createdForUser: {{owner}}
-  workerType: desktop-test-xlarge
-  provisionerId: aws-provisioner-v1
-  schedulerId: task-graph-scheduler
-  scopes:
-    - 'docker-worker:cache:level-{{level}}-{{project}}-tc-vcs'
-    - 'docker-worker:cache:level-{{level}}-{{project}}-test-workspace'
-  payload:
-    # 30 minutes should be more than enough for harness unit tests
-    maxRunTime: 1800
-    image:
-      type: 'task-image'
-      path: 'public/image.tar'
-      taskId:
-        task-reference: "<docker-image>"
-    cache:
-      # The taskcluster-vcs tooling stores the large clone caches in this
-      # directory and will reuse them for new requests this saves about 20s~
-      # and is the most generic cache possible.
-      level-{{level}}-{{project}}-tc-vcs: '/home/worker/.tc-vcs'
-      level-{{level}}-{{project}}-test-workspace: '/home/worker/workspace'
-    artifacts:
-      'public/logs/':
-        type: directory
-        path: '/home/worker/workspace/build/upload/logs/'
-        expires:
-          relative-datestamp: '1 year'
-    command:
-      - bash
-      - /home/worker/bin/build.sh
-    env:
-      # Common environment variables for checking out gecko
-      GECKO_BASE_REPOSITORY: '{{base_repository}}'
-      GECKO_HEAD_REPOSITORY: '{{head_repository}}'
-      GECKO_HEAD_REV: '{{head_rev}}'
-      GECKO_HEAD_REF: '{{head_ref}}'
-      TOOLTOOL_REPO: 'https://github.com/mozilla/build-tooltool'
-      TOOLTOOL_REV: 'master'
-      TOOLS_DISABLE: true
-      MOZ_BUILD_DATE: '{{pushdate}}'
-      MOZ_SCM_LEVEL: '{{level}}'
-
-  extra:
-    # These definitions are expected of build tasks but not used in our case
-    build_product: '{{build_product}}'
-    build_name: '{{build_name}}'
-    build_type: '{{build_type}}'
-    locations:
-        build: null
-        tests: null
-    index:
-      rank: {{rank}}
-    treeherder:
-      jobKind: test
-      groupSymbol: tc
-      groupName: Submitted by taskcluster
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/image.yml
+++ /dev/null
@@ -1,56 +0,0 @@
-# This is the "base" task which contains the common values all builds must
-# provide.
----
-taskId: '{{image_slugid}}'
-
-task:
-  created:
-    relative-datestamp: '0 seconds'
-  deadline:
-    relative-datestamp: '24 hours'
-  metadata:
-    name: 'Docker Artifact Image Builder'
-    description: 'Builder for docker images as artifacts'
-    source: '{{source}}'
-    owner: mozilla-taskcluster-maintenance@mozilla.com
-  tags:
-    createdForUser: {{owner}}
-
-  workerType: taskcluster-images
-  provisionerId: aws-provisioner-v1
-  schedulerId: task-graph-scheduler
-
-  payload:
-    env:
-      HASH: '{{context_hash}}'
-      PROJECT: '{{project}}'
-      CONTEXT_URL: '{{context_url}}'
-      CONTEXT_PATH: '{{context_path}}'
-      BASE_REPOSITORY: '{{base_repository}}'
-      HEAD_REPOSITORY: '{{head_repository}}'
-      HEAD_REV: '{{head_rev}}'
-      HEAD_REF: '{{head_ref}}'
-    features:
-      dind: true
-    image: '{{#docker_image}}image_builder{{/docker_image}}'
-    command:
-      - /bin/bash
-      - -c
-      - /home/worker/bin/build_image.sh
-    maxRunTime: 3600
-    artifacts:
-      '{{artifact_path}}':
-        type: 'file'
-        path: '/artifacts/image.tar'
-        expires:
-          relative-datestamp: '1 year'
-  extra:
-    treeherderEnv:
-      - staging
-      - production
-    treeherder:
-      jobKind: other
-      build:
-        platform: 'taskcluster-images'
-      symbol: 'I'
-
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/l10n.yml
+++ /dev/null
@@ -1,69 +0,0 @@
-# This is the "base" task which contains the common values all builds must
-# provide.
----
-taskId: {{build_slugid}}
-
-task:
-  created:
-    relative-datestamp: '0 seconds'
-  deadline:
-    relative-datestamp: '24 hours'
-  metadata:
-    source: '{{source}}'
-    owner: mozilla-taskcluster-maintenance@mozilla.com
-
-  tags:
-    createdForUser: {{owner}}
-
-  workerType: b2gbuild
-  provisionerId: aws-provisioner-v1
-  schedulerId: task-graph-scheduler
-
-  scopes:
-    # Nearly all of our build tasks use tc-vcs so just include the scope across
-    # the board.
-    - 'docker-worker:cache:level-{{level}}-{{project}}-tc-vcs'
-
-  payload:
-    # Two hours is long but covers edge cases (and matches bb based infra)
-    maxRunTime: 7200
-
-    cache:
-      level-{{level}}-{{project}}-tc-vcs: '/home/worker/.tc-vcs'
-
-    # All builds share a common artifact directory for ease of uploading.
-    artifacts:
-      'public/build':
-        type: directory
-        path: '/home/worker/artifacts/'
-        expires:
-          relative-datestamp: '1 year'
-
-
-    env:
-      # Common environment variables for checking out gecko
-      GECKO_BASE_REPOSITORY: '{{base_repository}}'
-      GECKO_HEAD_REPOSITORY: '{{head_repository}}'
-      GECKO_HEAD_REV: '{{head_rev}}'
-      GECKO_HEAD_REF: '{{head_ref}}'
-      TOOLTOOL_REPO: 'https://github.com/mozilla/build-tooltool'
-      TOOLTOOL_REV: 'master'
-      MOZ_BUILD_DATE: '{{pushdate}}'
-      MOZ_SCM_LEVEL: '{{level}}'
-
-  extra:
-    # Don't set locations yet
-    locations:
-      build: null
-      tests: null
-    build_product: '{{build_product}}'
-    build_name: '{{build_name}}'
-    build_type: '{{build_type}}'
-    index:
-      rank: {{pushlog_id}}
-    treeherder:
-      groupSymbol: tc
-      groupName: Submitted by taskcluster
-      tier: 2
-      symbol: L10n
-      jobKind: build
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/lint.yml
+++ /dev/null
@@ -1,50 +0,0 @@
-# This is the "base" task which contains the common values all linting tests must
-# provide.
----
-taskId: {{build_slugid}}
-
-task:
-  created:
-    relative-datestamp: '0 seconds'
-  deadline:
-    relative-datestamp: '24 hours'
-  metadata:
-    source: http://todo.com/soon
-    owner: mozilla-taskcluster-maintenance@mozilla.com
-
-  tags:
-    createdForUser: {{owner}}
-
-  workerType: b2gtest
-  provisionerId: aws-provisioner-v1
-  schedulerId: task-graph-scheduler
-
-  scopes:
-    - 'docker-worker:cache:level-{{level}}-hg-shared'
-    - 'docker-worker:cache:level-{{level}}-checkouts'
-    - 'secrets:get:project/taskcluster/gecko/hgfingerprint'
-
-  payload:
-    # Thirty minutes should be enough for lint checks
-    maxRunTime: 1800
-
-    cache:
-      level-{{level}}-hg-shared: '/home/worker/hg-shared'
-      level-{{level}}-checkouts: '/home/worker/checkouts'
-
-    env:
-      GECKO_BASE_REPOSITORY: '{{base_repository}}'
-      GECKO_HEAD_REPOSITORY: '{{head_repository}}'
-      GECKO_HEAD_REV: '{{head_rev}}'
-
-    features:
-      taskclusterProxy: true
-
-  extra:
-    build_product: '{{build_product}}'
-    build_name: {{build_name}}
-    build_type: {{build_type}}
-    index:
-      rank: {{rank}}
-    treeherder:
-      jobKind: test
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/phone_build.yml
+++ /dev/null
@@ -1,76 +0,0 @@
-# This is the "base" task which contains the common values all builds must
-# provide.
----
-taskId: {{build_slugid}}
-docker-image: phone-builder
-task:
-  created:
-    relative-datestamp: '0 seconds'
-  deadline:
-    relative-datestamp: '24 hours'
-  metadata:
-    source: '{{source}}'
-    owner: mozilla-taskcluster-maintenance@mozilla.com
-
-  tags:
-    createdForUser: {{owner}}
-
-  workerType: b2gbuild
-  provisionerId: aws-provisioner-v1
-  schedulerId: task-graph-scheduler
-
-  routes:
-    - 'index.gecko.v1.{{project}}.revision.linux.{{head_rev}}.{{build_name}}.{{build_type}}'
-    - 'index.gecko.v1.{{project}}.latest.linux.{{build_name}}.{{build_type}}'
-
-  scopes:
-    # Nearly all of our build tasks use tc-vcs so just include the scope across
-    # the board.
-    - 'docker-worker:cache:level-{{level}}-{{project}}-tc-vcs'
-
-  payload:
-    image:
-      type: 'task-image'
-      path: 'public/image.tar'
-      taskId:
-        task-reference: "<docker-image>"
-
-    # One hour is a good value for most builds
-    maxRunTime: 3600
-
-    cache:
-      level-{{level}}-{{project}}-tc-vcs: '/home/worker/.tc-vcs'
-
-    # All builds share a common artifact directory for ease of uploading.
-    artifacts:
-      'private/build':
-        type: directory
-        path: '/home/worker/artifacts/'
-        expires:
-          relative-datestamp: '1 year'
-      'public/build':
-        type: directory
-        path: '/home/worker/artifacts-public/'
-        expires:
-          relative-datestamp: '1 year'
-
-
-    env:
-      # Common environment variables for checking out gecko
-      MOZ_BUILD_DATE: '{{pushdate}}'
-      GECKO_BASE_REPOSITORY: '{{base_repository}}'
-      GECKO_HEAD_REPOSITORY: '{{head_repository}}'
-      GECKO_HEAD_REV: '{{head_rev}}'
-      GECKO_HEAD_REF: '{{head_ref}}'
-
-  extra:
-    build_product: 'b2g'
-    build_name: '{{build_name}}'
-    build_type: '{{build_type}}'
-    index:
-      rank: {{rank}}
-    treeherder:
-      jobKind: build
-      groupSymbol: tc
-      groupName: Submitted by taskcluster
-      symbol: B
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/post-builds/upload_symbols.yml
+++ /dev/null
@@ -1,34 +0,0 @@
-# This is a sample task for uploading debug symbols to the socorro api
----
-taskId: {{taskId}}
-
-task:
-  created:
-    relative-datestamp: '0 seconds'
-  deadline:
-    relative-datestamp: '24 hours'
-  metadata:
-    source: '{{source}}'
-    owner: amiyaguchi@mozilla.com
-    name: '[TC] Upload Symbols'
-    description: 'Upload Symbols'
-  tags:
-    createdForUser: {{owner}}
-
-  workerType: symbol-upload
-  provisionerId: aws-provisioner-v1
-  schedulerId: task-graph-scheduler
-
-  scopes: ['docker-worker:image:taskclusterprivate/upload_symbols:0.0.3']
-
-  payload:
-    image: 'taskclusterprivate/upload_symbols:0.0.3'
-
-    maxRunTime: 600
-
-    command: ["/bin/bash", "bin/upload.sh"]
-
-    env:
-      GECKO_HEAD_REPOSITORY: '{{head_repository}}'
-      GECKO_HEAD_REV: '{{head_rev}}'
-      ARTIFACT_TASKID: {"task-reference": "<{{build_slugid}}>"}
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/test.yml
+++ /dev/null
@@ -1,28 +0,0 @@
-# This task is the base for most tests in gecko.
-task:
-  created:
-    relative-datestamp: '0 seconds'
-  deadline:
-    relative-datestamp: '24 hours'
-  metadata:
-    source: '{{source}}'
-    owner: mozilla-taskcluster-maintenance@mozilla.com
-  tags:
-    createdForUser: {{owner}}
-  provisionerId: aws-provisioner-v1
-  schedulerId: task-graph-scheduler
-
-  payload:
-    maxRunTime: 3600
-    env:
-      MOZILLA_BUILD_URL: {"task-reference": "https://queue.taskcluster.net/v1/task/<{{build_slugid}}>/artifacts/{{build_location}}"}
-      MOZHARNESS_URL: {"task-reference": "https://queue.taskcluster.net/v1/task/<{{build_slugid}}>/artifacts/{{mozharness_location}}"}
-
-  extra:
-    chunks:
-      total: 1
-      current: {{chunk}}
-    treeherder:
-      jobKind: test
-      groupSymbol: tc
-      groupName: Submitted by taskcluster
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/tests/harness_marionette.yml
+++ /dev/null
@@ -1,38 +0,0 @@
----
-$inherits:
-    from: 'tasks/harness_test.yml'
-    variables:
-      build_product: 'harness_test'
-      build_name: 'marionette-harness-pytest'
-      build_type: 'opt'
-
-task:
-  metadata:
-    name: '[TC] - Marionette harness unit test'
-    description: 'Marionette harness unit test'
-
-  payload:
-    command:
-      - --tests=testing/marionette/harness/marionette/tests/harness_unit
-      # Avoid overwriting /home/workspace/build/src
-      - --work-dir=mozharness_workspace
-    env:
-      JOB_SCRIPT: 'taskcluster/scripts/tester/harness-test-linux.sh'
-      MOZHARNESS_SCRIPT: >
-          testing/mozharness/scripts/marionette_harness_tests.py
-    artifacts:
-      'public/logs/':
-        type: directory
-        path: '/home/worker/workspace/mozharness_workspace/upload/logs/'
-        expires:
-          relative-datestamp: '1 year'
-  extra:
-    treeherder:
-      symbol: Mn-h
-      tier: 2
-      machine:
-        # see https://github.com/mozilla/treeherder/blob/master/ui/js/values.js
-        platform: linux64
-    treeherderEnv:
-        - production
-        - staging
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/tests/mozharness-gecko.yml
+++ /dev/null
@@ -1,49 +0,0 @@
----
-$inherits:
-    from: 'tasks/lint.yml'
-    variables:
-      build_product: 'lint'
-      build_name: 'mozharness-tox'
-      build_type: 'opt'
-
-docker-image: lint
-task:
-  metadata:
-    name: '[TC] - Mozharness Tox'
-    description: 'Mozharness integration tests'
-
-  scopes:
-    - 'docker-worker:cache:level-{{level}}-{{project}}-dotcache'
-
-  payload:
-    image:
-      type: 'task-image'
-      path: 'public/image.tar'
-      taskId:
-        task-reference: "<docker-image>"
-
-    cache:
-      level-{{level}}-{{project}}-dotcache: '/home/worker/.cache'
-
-    command:
-      - /home/worker/bin/run-task
-      - '--vcs-checkout=/home/worker/checkouts/gecko'
-      - '--'
-      - bash
-      - -cx
-      - >
-          cd /home/worker/checkouts/gecko/testing/mozharness &&
-          /usr/bin/pip2 install tox &&
-          /home/worker/.local/bin/tox -e py27-hg3.7
-  extra:
-    locations:
-        build: null
-        tests: null
-    treeherder:
-        machine:
-            platform: lint
-        symbol: MH
-        tier: 2
-    treeherderEnv:
-        - production
-        - staging
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/tests/mozlint-eslint.yml
+++ /dev/null
@@ -1,47 +0,0 @@
----
-$inherits:
-    from: 'tasks/lint.yml'
-    variables:
-      build_product: 'lint'
-      build_name: 'eslint-gecko'
-      build_type: 'opt'
-
-docker-image: lint
-task:
-  metadata:
-    name: '[TC] - ESLint'
-    description: 'JavaScript ESLint linter'
-
-  payload:
-    image:
-      type: 'task-image'
-      path: 'public/image.tar'
-      taskId:
-        task-reference: "<docker-image>"
-
-    command:
-      - /home/worker/bin/run-task
-      - '--vcs-checkout=/home/worker/checkouts/gecko'
-      - '--'
-      - bash
-      - -cx
-      - >
-          cd /home/worker/checkouts/gecko/tools/lint/eslint &&
-          /build/tooltool.py fetch -m manifest.tt &&
-          tar xvfz eslint.tar.gz &&
-          rm eslint.tar.gz &&
-          ln -s ../eslint-plugin-mozilla node_modules &&
-          cd ../../.. &&
-          ./mach lint -l eslint -f treeherder --quiet
-  extra:
-    locations:
-      build: null
-      tests: null
-    treeherder:
-      machine:
-        platform: lint
-      symbol: ES
-      tier: 1
-    treeherderEnv:
-      - production
-      - staging
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/tests/mozlint-flake8.yml
+++ /dev/null
@@ -1,40 +0,0 @@
----
-$inherits:
-  from: 'tasks/lint.yml'
-  variables:
-    build_product: 'lint'
-    build_name: 'mozlint-flake8'
-    build_type: 'opt'
-
-docker-image: lint
-task:
-  metadata:
-    name: '[TC] - Flake8'
-    description: 'Python flake8 linter'
-  payload:
-    image:
-      type: 'task-image'
-      path: 'public/image.tar'
-      taskId:
-        task-reference: "<docker-image>"
-    command:
-      - /home/worker/bin/run-task
-      - '--vcs-checkout=/home/worker/checkouts/gecko'
-      - '--'
-      - bash
-      - -cx
-      - >
-          cd /home/worker/checkouts/gecko &&
-          ./mach lint -l flake8 -f treeherder
-  extra:
-    locations:
-      build: null
-      tests: null
-    treeherder:
-      machine:
-        platform: lint
-      symbol: f8
-      tier: 2
-    treeherderEnv:
-      - production
-      - staging
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/tests/mozlint-wpt.yml
+++ /dev/null
@@ -1,40 +0,0 @@
----
-$inherits:
-  from: 'tasks/lint.yml'
-  variables:
-    build_product: 'lint'
-    build_name: 'wpt-lint-gecko'
-    build_type: 'opt'
-
-docker-image: lint
-task:
-  metadata:
-    name: '[TC] - wpt-lint'
-    description: 'web-platform-tests linter'
-  payload:
-    image:
-      type: 'task-image'
-      path: 'public/image.tar'
-      taskId:
-        task-reference: "<docker-image>"
-    command:
-      - /home/worker/bin/run-task
-      - '--vcs-checkout=/home/worker/checkouts/gecko'
-      - '--'
-      - bash
-      - -cx
-      - >
-          cd /home/worker/checkouts/gecko &&
-          ./mach lint -l wpt -f treeherder
-  extra:
-    locations:
-      build: null
-      tests: null
-    treeherder:
-      machine:
-        platform: lint
-      symbol: W
-      tier: 2
-    treeherderEnv:
-      - production
-      - staging
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/tests/sphinx.yml
+++ /dev/null
@@ -1,54 +0,0 @@
----
-$inherits:
-  from: 'tasks/lint.yml'
-  variables:
-    build_product: 'lint'
-    build_name: 'sphinx'
-    build_type: 'opt'
-
-docker-image: lint
-task:
-  metadata:
-    name: '[TC] - Sphinx'
-    description: 'Sphinx in-tree docs'
-
-  payload:
-    image:
-      type: 'task-image'
-      path: 'public/image.tar'
-      taskId:
-        task-reference: '<docker-image>'
-
-    command:
-      - /home/worker/bin/run-task
-      - '--vcs-checkout=/home/worker/checkouts/gecko'
-      - '--'
-      - bash
-      - -cx
-      - >
-        cd /home/worker/checkouts/gecko &&
-        ./mach doc --outdir docs-out --no-open &&
-        rm -rf docs-out/html/Mozilla_Source_Tree_Docs/_venv &&
-        mv docs-out/html/Mozilla_Source_Tree_Docs docs &&
-        tar -czf docs.tar.gz docs
-
-    artifacts:
-      'public/docs.tar.gz':
-        type: file
-        path: '/home/worker/checkouts/gecko/docs.tar.gz'
-        expires:
-          relative-datestamp: '1 year'
-
-  extra:
-    locations:
-      build: null
-      tests: null
-    treeherder:
-      machine:
-        platform: lint
-      groupSymbol: tc
-      symbol: 'Doc'
-      tier: 1
-    treeherderEnv:
-      - production
-      - staging
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/tests/taskgraph-tests.yml
+++ /dev/null
@@ -1,41 +0,0 @@
----
-$inherits:
-  from: 'tasks/lint.yml'
-  variables:
-    build_product: 'lint'
-    build_name: 'taskgraph-tests'
-    build_type: 'opt'
-
-docker-image: lint
-task:
-  metadata:
-    name: '[TC] - Taskgraph Tests'
-    description: 'Run test suite for taskcluster/taskgraph'
-  payload:
-    image:
-      type: 'task-image'
-      path: 'public/image.tar'
-      taskId:
-        task-reference: "<docker-image>"
-    command:
-      - /home/worker/bin/run-task
-      - '--vcs-checkout=/home/worker/checkouts/gecko'
-      - '--'
-      - bash
-      - -cx
-      - >
-          cd /home/worker/checkouts/gecko &&
-          ./mach taskgraph python-tests
-  extra:
-    locations:
-      build: null
-      tests: null
-    treeherder:
-      machine:
-        # this should probably get a fresh new platform, but linux64 is what, for example, marionette uses
-        platform: linux64
-      symbol: tg
-      tier: 2
-    treeherderEnv:
-      - production
-      - staging
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/windows_build.yml
+++ /dev/null
@@ -1,22 +0,0 @@
-$inherits:
-  from: 'tasks/build.yml'
-
-task:
-  workerType: gecko-{{level}}-b-win2012
-  payload:
-    artifacts:
-      -
-        type: 'directory'
-        path: 'public\build'
-        expires:
-          relative-datestamp: '1 year'
-  extra:
-    treeherderEnv:
-      - staging
-      - production
-    treeherder:
-      tier: 2
-      jobKind: build
-      machine:
-        # https://github.com/mozilla/treeherder/blob/master/ui/js/values.js
-        platform: {{platform}}
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/windows_test.yml
+++ /dev/null
@@ -1,16 +0,0 @@
-$inherits:
-  from: 'tasks/test.yml'
-
-task:
-  payload:
-    artifacts:
-      -
-        type: 'directory'
-        path: 'public\logs'
-        expires:
-          relative-datestamp: '1 year'
-      -
-        type: 'directory'
-        path: 'public\test_info'
-        expires:
-          relative-datestamp: '1 year'
--- a/taskcluster/docs/attributes.rst
+++ b/taskcluster/docs/attributes.rst
@@ -12,18 +12,17 @@ task may not have a value for every attr
 
 The attributes, and acceptable values, are defined here.  In general, attribute
 names and values are the short, lower-case form, with underscores.
 
 kind
 ====
 
 A task's ``kind`` attribute gives the name of the kind that generated it, e.g.,
-``build`` or ``legacy``.
-
+``build`` or ``spidermonkey``.
 
 run_on_projects
 ===============
 
 The projects where this task should be in the target task set.  This is how
 requirements like "only run this on inbound" get implemented.  These are
 either project names or the aliases
 
@@ -88,51 +87,32 @@ unittest_flavor
 
 If a unittest suite has subdivisions, those are represented as flavors.  Not
 all suites have flavors, in which case this attribute should be set to match
 the suite.  Examples: ``mochitest-devtools-chrome-chunked`` or ``a11y``.
 
 unittest_try_name
 =================
 
-(deprecated) This is the name used to refer to a unit test via try syntax.  It
+This is the name used to refer to a unit test via try syntax.  It
 may not match either of ``unittest_suite`` or ``unittest_flavor``.
 
 talos_try_name
 ==============
 
-(deprecated) This is the name used to refer to a talos job via try syntax.
+This is the name used to refer to a talos job via try syntax.
 
 test_chunk
 ==========
 
 This is the chunk number of a chunked test suite (talos or unittest).  Note
 that this is a string!
 
 e10s
 ====
 
 For test suites which distinguish whether they run with or without e10s, this
 boolean value identifies this particular run.
 
-legacy_kind
-===========
-
-(deprecated) The kind of task as created by the legacy kind.  This is valid
-only for the ``legacy`` kind.  One of ``build``, ``unittest,``, ``talos``,
-``post_build``, or ``job``.
-
-job
-===
-
-(deprecated) The name of the job (corresponding to a ``-j`` option or the name
-of a post-build job).  This is valid only for the ``legacy`` kind.
-
-post_build
-==========
-
-(deprecated) The name of the post-build activity.  This is valid only for the
-``legacy`` kind.
-
 image_name
 ==========
 
 For the ``docker_image`` kind, this attribute contains the docker image name.
--- a/taskcluster/docs/kinds.rst
+++ b/taskcluster/docs/kinds.rst
@@ -127,22 +127,16 @@ Windows.
 android-test
 ............
 
 The ``android-test`` kind defines tests for Android builds.
 
 It is very similar to ``desktop-test``, but the details of running the tests
 differ substantially, so they are defined separately.
 
-legacy
-------
-
-The legacy kind is the old, templated-yaml-based task definition mechanism.  It
-is still used for builds and generic tasks, but not for long!
-
 docker-image
 ------------
 
 Tasks of the ``docker-image`` kind build the Docker images in which other
 Docker tasks run.
 
 The tasks to generate each docker image have predictable labels:
 ``build-docker-image-<name>``.
--- a/taskcluster/taskgraph/task/nightly_fennec.py
+++ b/taskcluster/taskgraph/task/nightly_fennec.py
@@ -1,30 +1,115 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
+"""
+Temporary placeholder for nightly builds
+"""
+
 from __future__ import absolute_import, print_function, unicode_literals
 
 import logging
 import json
 import os
 import time
+from collections import namedtuple
 
 from . import base
-from .legacy import query_vcs_info, decorate_task_json_routes, gaia_info, \
-    mklabel
+from slugid import nice as slugid
 from taskgraph.util.templates import Templates
 from taskgraph.util.docker import docker_image
 
 
 logger = logging.getLogger(__name__)
 GECKO = os.path.realpath(os.path.join(__file__, '..', '..', '..', '..'))
 ARTIFACT_URL = 'https://queue.taskcluster.net/v1/task/{}/artifacts/{}'
 INDEX_URL = 'https://index.taskcluster.net/v1/task/{}'
+TASKID_PLACEHOLDER = 'TaskLabel=={}'
+
+
+def mklabel():
+    return TASKID_PLACEHOLDER.format(slugid())
+
+
+def gaia_info():
+    '''Fetch details from in tree gaia.json (which links this version of
+    gecko->gaia) and construct the usual base/head/ref/rev pairing...'''
+    gaia = json.load(open(os.path.join(GECKO, 'b2g', 'config', 'gaia.json')))
+
+    if gaia['git'] is None or \
+       gaia['git']['remote'] == '' or \
+       gaia['git']['git_revision'] == '' or \
+       gaia['git']['branch'] == '':
+
+        # Just use the hg params...
+        return {
+            'gaia_base_repository': 'https://hg.mozilla.org/{}'.format(gaia['repo_path']),
+            'gaia_head_repository': 'https://hg.mozilla.org/{}'.format(gaia['repo_path']),
+            'gaia_ref': gaia['revision'],
+            'gaia_rev': gaia['revision']
+        }
+
+    else:
+        # Use git
+        return {
+            'gaia_base_repository': gaia['git']['remote'],
+            'gaia_head_repository': gaia['git']['remote'],
+            'gaia_rev': gaia['git']['git_revision'],
+            'gaia_ref': gaia['git']['branch'],
+        }
+
+
+def decorate_task_json_routes(task, json_routes, parameters):
+    """Decorate the given task with routes.json routes.
+
+    :param dict task: task definition.
+    :param json_routes: the list of routes to use from routes.json
+    :param parameters: dictionary of parameters to use in route templates
+    """
+    routes = task.get('routes', [])
+    for route in json_routes:
+        routes.append(route.format(**parameters))
+
+    task['routes'] = routes
+
+
+def query_vcs_info(repository, revision):
+    """Query the pushdate and pushid of a repository/revision.
+
+    This is intended to be used on hg.mozilla.org/mozilla-central and
+    similar. It may or may not work for other hg repositories.
+    """
+    if not repository or not revision:
+        logger.warning('cannot query vcs info because vcs info not provided')
+        return None
+
+    VCSInfo = namedtuple('VCSInfo', ['pushid', 'pushdate', 'changesets'])
+
+    try:
+        import requests
+        url = '%s/json-automationrelevance/%s' % (repository.rstrip('/'),
+                                                  revision)
+        logger.debug("Querying version control for metadata: %s", url)
+        contents = requests.get(url).json()
+
+        changesets = []
+        for c in contents['changesets']:
+            changesets.append({k: c[k] for k in ('desc', 'files', 'node')})
+
+        pushid = contents['changesets'][-1]['pushid']
+        pushdate = contents['changesets'][-1]['pushdate'][0]
+
+        return VCSInfo(pushid, pushdate, changesets)
+
+    except Exception:
+        logger.exception("Error querying VCS info for '%s' revision '%s'",
+                         repository, revision)
+        return None
 
 
 class NightlyFennecTask(base.Task):
 
     def __init__(self, *args, **kwargs):
         self.task_dict = kwargs.pop('task_dict')
         super(NightlyFennecTask, self).__init__(*args, **kwargs)
 
--- a/taskcluster/taskgraph/task/transform.py
+++ b/taskcluster/taskgraph/task/transform.py
@@ -87,8 +87,14 @@ class TransformTask(base.Task):
         if 'files-changed' in self.when:
             changed = files_changed.check(
                 params, self.when['files-changed'])
             if not changed:
                 logger.debug('no files found matching a pattern in `when.files-changed` for '
                              + self.label)
                 return True, None
         return False, None
+
+    @classmethod
+    def from_json(cls, task_dict):
+        # when reading back from JSON, we lose the "when" information
+        task_dict['when'] = {}
+        return cls(task_dict['attributes']['kind'], task_dict)
deleted file mode 100644
--- a/taskcluster/taskgraph/test/test_task_legacy.py
+++ /dev/null
@@ -1,35 +0,0 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-from __future__ import absolute_import, print_function, unicode_literals
-
-import unittest
-
-from ..task.legacy import (
-    validate_build_task,
-    BuildTaskValidationException
-)
-from mozunit import main
-
-
-class TestValidateBuildTask(unittest.TestCase):
-
-    def test_validate_missing_extra(self):
-        with self.assertRaises(BuildTaskValidationException):
-            validate_build_task({})
-
-    def test_validate_valid(self):
-        with self.assertRaises(BuildTaskValidationException):
-            validate_build_task({
-                'extra': {
-                    'locations': {
-                        'build': '',
-                        'tests': ''
-                    }
-                }
-            })
-
-
-if __name__ == '__main__':
-    main()
--- a/taskcluster/taskgraph/test/test_taskgraph.py
+++ b/taskcluster/taskgraph/test/test_taskgraph.py
@@ -3,37 +3,34 @@
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 from __future__ import absolute_import, print_function, unicode_literals
 
 import unittest
 
 from ..graph import Graph
 from ..task.docker_image import DockerImageTask
-from ..task.legacy import LegacyTask
+from ..task.transform import TransformTask
 from ..taskgraph import TaskGraph
 from mozunit import main
 
 
 class TestTargetTasks(unittest.TestCase):
 
     def test_from_json(self):
-        legacy_dict = {
-            'attributes': {'kind': 'legacy'},
-            'task': {},
-            'dependencies': {},
-            'label': 'a',
-            'kind_implementation': 'taskgraph.task.legacy:LegacyTask'
-        }
         graph = TaskGraph(tasks={
-            'a': LegacyTask(kind='legacy',
-                            label='a',
-                            attributes={},
-                            task={},
-                            task_dict=legacy_dict),
+            'a': TransformTask(
+                kind='fancy',
+                task={
+                    'label': 'a',
+                    'attributes': {},
+                    'dependencies': {},
+                    'when': {},
+                    'task': {'task': 'def'},
+                }),
             'b': DockerImageTask(kind='docker-image',
                                  label='b',
                                  attributes={},
                                  task={"routes": []},
                                  index_paths=[]),
         }, graph=Graph(nodes={'a', 'b'}, edges=set()))
 
         tasks, new_graph = TaskGraph.from_json(graph.to_json(), "taskcluster/ci")
deleted file mode 100755
--- a/taskcluster/taskgraph/test/test_util_legacy_commit_parser.py
+++ /dev/null
@@ -1,1024 +0,0 @@
-#!/usr/bin/env python
-
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this file,
-# You can obtain one at http://mozilla.org/MPL/2.0/.
-
-import unittest
-import mozunit
-from taskgraph.util.legacy_commit_parser import (
-    parse_commit,
-    normalize_test_list,
-    parse_test_opts
-)
-
-
-class TestCommitParser(unittest.TestCase):
-
-    def test_normalize_test_list_none(self):
-        self.assertEqual(
-            normalize_test_list({}, ['woot'], 'none'), []
-        )
-
-    def test_normalize_test_list_all(self):
-        self.assertEqual(
-            normalize_test_list({}, ['woot'], 'all'),
-            [{'test': 'woot'}]
-        )
-
-    def test_normalize_test_list_specific_tests(self):
-        self.assertEqual(sorted(
-            normalize_test_list({}, ['woot'], 'a,b,c')),
-            sorted([{'test': 'a'}, {'test': 'b'}, {'test': 'c'}])
-        )
-
-    def test_normalize_test_list_specific_tests_with_whitespace(self):
-        self.assertEqual(sorted(
-            normalize_test_list({}, ['woot'], 'a, b, c')),
-            sorted([{'test': 'a'}, {'test': 'b'}, {'test': 'c'}])
-        )
-
-    def test_normalize_test_list_with_alias(self):
-        self.assertEqual(sorted(
-            normalize_test_list({"a": "alpha"}, ['woot'], 'a, b, c')),
-            sorted([{'test': 'alpha'}, {'test': 'b'}, {'test': 'c'}])
-        )
-
-    def test_normalize_test_list_with_alias_and_chunk(self):
-        self.assertEqual(
-            normalize_test_list({"a": "alpha"}, ['woot'], 'a-1, a-3'),
-            [{'test': 'alpha', "only_chunks": set([1, 3])}]
-        )
-
-    def test_normalize_test_list_with_alias_pattern(self):
-        self.assertEqual(
-            sorted(normalize_test_list({"a": '/.*oo.*/'},
-                                       ['woot', 'foo', 'bar'],
-                                       'a, b, c')),
-            sorted([{'test': t} for t in ['woot', 'foo', 'b', 'c']])
-        )
-
-    def test_normalize_test_list_with_alias_pattern_anchored(self):
-        self.assertEqual(
-            sorted(normalize_test_list({"a": '/.*oo/'},
-                                       ['woot', 'foo', 'bar'],
-                                       'a, b, c')),
-            sorted([{'test': t} for t in ['foo', 'b', 'c']])
-        )
-
-    def test_normalize_test_list_with_alias_pattern_list(self):
-        self.assertEqual(
-            sorted(normalize_test_list({"a": ['/.*oo/', 'bar', '/bi.*/']},
-                                       ['woot', 'foo', 'bar', 'bing', 'baz'],
-                                       'a, b')),
-            sorted([{'test': t} for t in ['foo', 'bar', 'bing', 'b']])
-        )
-
-    def test_normalize_test_list_with_alias_pattern_list_chunks(self):
-        self.assertEqual(
-            sorted(normalize_test_list({"a": ['/.*oo/', 'bar', '/bi.*/']},
-                                       ['woot', 'foo', 'bar', 'bing', 'baz'],
-                                       'a-1, a-4, b')),
-            sorted([{'test': 'b'}] + [
-                {'test': t, 'only_chunks': set([1, 4])} for t in ['foo', 'bar', 'bing']])
-        )
-
-    def test_commit_no_tests(self):
-        '''
-        This test covers the case of builds but no tests passed -u none
-        '''
-        commit = 'try: -b o -p linux -u none -t none'
-        jobs = {
-            'flags': {
-                'builds': ['linux', 'linux64'],
-                'tests': ['web-platform-tests'],
-            },
-            'builds': {
-                'linux': {
-                    'types': {
-                        'opt': {
-                            'task': 'task/linux',
-                         },
-                        'debug': {
-                            'task': 'task/linux-debug'
-                        }
-                    }
-                },
-            },
-            'tests': {}
-        }
-
-        expected = [
-            {
-                'task': 'task/linux',
-                'dependents': [],
-                'additional-parameters': {},
-                'build_name': 'linux',
-                'build_type': 'opt',
-                'post-build': [],
-                'interactive': False,
-                'when': {}
-            }
-        ]
-
-        result, triggers = parse_commit(commit, jobs)
-        self.assertEqual(expected, result)
-
-    def test_flag_aliasing(self):
-        commit = 'try: -b o -p magic-alias -u none -t none'
-        jobs = {
-            'flags': {
-                'aliases': {
-                    'magic-alias': 'linux'
-                },
-                'builds': ['linux', 'linux64'],
-                'tests': ['web-platform-tests'],
-            },
-            'builds': {
-                'linux': {
-                    'types': {
-                        'opt': {
-                            'task': 'task/linux',
-                         },
-                        'debug': {
-                            'task': 'task/linux-debug'
-                        }
-                    }
-                },
-            },
-            'tests': {}
-        }
-
-        expected = [
-            {
-                'task': 'task/linux',
-                'dependents': [],
-                'additional-parameters': {},
-                'build_name': 'linux',
-                'build_type': 'opt',
-                'interactive': False,
-                'post-build': [],
-                'when': {},
-            }
-        ]
-
-        result, triggers = parse_commit(commit, jobs)
-        self.assertEqual(expected, result)
-
-    def test_try_flag_in_middle_of_commit(self):
-        '''
-        The try command prefix may appear anywhere this test ensures that it
-        works in some common cases.
-        '''
-        commit = 'Bug XXX - I like cheese try: -b o -p all -u none wootbar'
-        jobs = {
-            'flags': {
-                'builds': ['linux', 'linux64'],
-                'tests': ['web-platform-tests'],
-            },
-            'builds': {
-                'linux': {
-                    'types': {
-                        'opt': {
-                            'task': 'task/linux',
-                         },
-                        'debug': {
-                            'task': 'task/linux-debug'
-                        }
-                    }
-                },
-            },
-            'tests': {}
-        }
-
-        expected = [
-            {
-                'task': 'task/linux',
-                'dependents': [],
-                'additional-parameters': {},
-                'build_name': 'linux',
-                'build_type': 'opt',
-                'interactive': False,
-                'post-build': [],
-                'when': {}
-            }
-        ]
-
-        result, triggers = parse_commit(commit, jobs)
-        self.assertEqual(expected, result)
-
-    def test_try_flags_not_specified(self):
-        '''
-        Try flags are optional, and if not provided, should cause an empty graph
-        to be generated.
-        '''
-        commit = 'Bug XXX - test commit with no flags'
-        jobs = {
-            'flags': {
-                'builds': ['linux', 'linux64'],
-                'tests': ['web-platform-tests'],
-            },
-            'builds': {
-                'linux': {
-                    'types': {
-                        'opt': {
-                            'task': 'task/linux',
-                         },
-                        'debug': {
-                            'task': 'task/linux-debug'
-                        }
-                    }
-                },
-            },
-            'tests': {}
-        }
-
-        expected = []
-
-        result, triggers = parse_commit(commit, jobs)
-        self.assertEqual(expected, result)
-
-    def test_commit_all_builds_no_tests(self):
-        '''
-        This test covers the case of all builds but no tests passed -u none
-        '''
-        commit = 'try: -b o -p all -u none -t none'
-        jobs = {
-            'flags': {
-                'builds': ['linux', 'linux64'],
-                'tests': ['web-platform-tests'],
-            },
-            'builds': {
-                'linux': {
-                    'types': {
-                        'opt': {
-                            'task': 'task/linux',
-                         },
-                        'debug': {
-                            'task': 'task/linux-debug'
-                        }
-                    }
-                },
-            },
-            'tests': {}
-        }
-
-        expected = [
-            {
-                'task': 'task/linux',
-                'dependents': [],
-                'post-build': [],
-                'build_name': 'linux',
-                'build_type': 'opt',
-                'interactive': False,
-                'additional-parameters': {},
-                'when': {}
-            }
-        ]
-
-        result, triggers = parse_commit(commit, jobs)
-        self.assertEqual(expected, result)
-
-    def test_some_test_tasks_restricted(self):
-        '''
-        This test covers the case of all builds but no tests passed -u none
-        '''
-        commit = 'try: -b do -p all -u all -t none'
-        jobs = {
-            'flags': {
-                'builds': ['linux', 'linux64'],
-                'tests': ['web-platform-tests'],
-            },
-            'builds': {
-                'linux': {
-                    'types': {
-                        'opt': {
-                            'task': 'task/linux',
-                         },
-                        'debug': {
-                            'task': 'task/linux-debug'
-                        }
-                    }
-                },
-            },
-            'tests': {
-                'web-platform-tests': {
-                    'allowed_build_tasks': {
-                        'task/linux': {
-                            'task': 'task/web-platform-tests',
-                        }
-                    }
-                }
-            }
-        }
-
-        expected = [
-            {
-                'task': 'task/linux-debug',
-                'dependents': [],
-                'additional-parameters': {},
-                'post-build': [],
-                'build_name': 'linux',
-                'build_type': 'debug',
-                'interactive': False,
-                'when': {},
-            },
-            {
-                'task': 'task/linux',
-                'dependents': [{
-                    'allowed_build_tasks': {
-                        'task/linux': {
-                            'task': 'task/web-platform-tests',
-                            'unittest_try_name': 'web-platform-tests'
-                        }
-                    }
-                }],
-                'additional-parameters': {},
-                'post-build': [],
-                'build_name': 'linux',
-                'build_type': 'opt',
-                'interactive': False,
-                'when': {},
-            }
-        ]
-
-        result, triggers = parse_commit(commit, jobs)
-        self.assertEqual(expected, result)
-
-    def test_specific_test_platforms(self):
-        '''
-        This test cases covers the platform specific test exclusion options.
-        Intentionally includes platforms with spaces.
-        '''
-        commit = 'try: -b od -p all -u all[Windows XP,b2g] -t none'
-        jobs = {
-            'flags': {
-                'builds': ['linux', 'win32'],
-                'tests': ['web-platform-tests', 'mochitest'],
-            },
-            'builds': {
-                'linux': {
-                    'types': {
-                        'opt': {
-                            'task': 'task/linux',
-                         },
-                        'debug': {
-                            'task': 'task/linux-debug'
-                        }
-                    }
-                },
-                'win32': {
-                    'platforms': ['Windows XP'],
-                    'types': {
-                        'opt': {
-                            'task': 'task/win32',
-                        }
-                    }
-                },
-            },
-            'tests': {
-                'web-platform-tests': {
-                    'allowed_build_tasks': {
-                        'task/linux': {
-                            'task': 'task/web-platform-tests',
-                        },
-                        'task/win32': {
-                            'task': 'task/web-platform-tests',
-                        }
-                    }
-                },
-                'mochitest': {
-                    'allowed_build_tasks': {
-                        'task/linux-debug': {
-                            'task': 'task/mochitest',
-                        },
-                        'task/win32': {
-                            'task': 'task/mochitest',
-                        }
-                    }
-                }
-            }
-        }
-
-        expected = [
-            {
-                'task': 'task/linux',
-                'dependents': [],
-                'additional-parameters': {},
-                'post-build': [],
-                'build_name': 'linux',
-                'build_type': 'opt',
-                'interactive': False,
-                'when': {},
-            },
-            {
-                'task': 'task/linux-debug',
-                'dependents': [],
-                'additional-parameters': {},
-                'post-build': [],
-                'build_name': 'linux',
-                'build_type': 'debug',
-                'interactive': False,
-                'when': {},
-            },
-            {
-                'task': 'task/win32',
-                'dependents': [
-                    {
-                        'allowed_build_tasks': {
-                            'task/linux': {
-                                'task': 'task/web-platform-tests',
-                                'unittest_try_name': 'web-platform-tests',
-                            },
-                            'task/win32': {
-                                'task': 'task/web-platform-tests',
-                                'unittest_try_name': 'web-platform-tests',
-                            }
-                        }
-                    },
-                    {
-                        'allowed_build_tasks': {
-                            'task/linux-debug': {
-                                'task': 'task/mochitest',
-                                'unittest_try_name': 'mochitest',
-                            },
-                            'task/win32': {
-                                'task': 'task/mochitest',
-                                'unittest_try_name': 'mochitest',
-                            }
-                        }
-                    }
-                ],
-                'additional-parameters': {},
-                'post-build': [],
-                'build_name': 'win32',
-                'build_type': 'opt',
-                'interactive': False,
-                'when': {},
-            }
-        ]
-
-        result, triggers = parse_commit(commit, jobs)
-        self.assertEqual(sorted(expected), sorted(result))
-
-    def test_specific_test_platforms_with_specific_platform(self):
-        '''
-        This test cases covers the platform specific test exclusion options.
-        '''
-        commit = 'try: -b od -p win32 -u mochitest[windows] -t none'
-        jobs = {
-            'flags': {
-                'builds': ['linux', 'win32'],
-                'tests': ['web-platform-tests', 'mochitest'],
-            },
-            'builds': {
-                'linux': {
-                    'types': {
-                        'opt': {
-                            'task': 'task/linux'
-                        },
-                        'debug': {
-                            'task': 'task/linux-debug'
-                        }
-                    }
-                },
-                'win32': {
-                    'platforms': ['windows'],
-                    'types': {
-                        'opt': {
-                            'task': 'task/win32'
-                        }
-                    }
-                },
-            },
-            'tests': {
-                'web-platform-tests': {
-                    'allowed_build_tasks': {
-                        'task/linux': {
-                            'task': 'task/web-platform-tests',
-                        },
-                        'task/win32': {
-                            'task': 'task/web-platform-tests',
-                        }
-                    }
-                },
-                'mochitest': {
-                    'allowed_build_tasks': {
-                        'task/linux-debug': {
-                            'task': 'task/mochitest',
-                        },
-                        'task/win32': {
-                            'task': 'task/mochitest',
-                        }
-                    }
-                }
-            }
-        }
-
-        expected = [
-            {
-                'task': 'task/win32',
-                'dependents': [
-                    {
-                        'allowed_build_tasks': {
-                            'task/linux-debug': {
-                                'task': 'task/mochitest',
-                                'unittest_try_name': 'mochitest',
-                            },
-                            'task/win32': {
-                                'task': 'task/mochitest',
-                                'unittest_try_name': 'mochitest',
-                            }
-                        }
-                    }
-                ],
-                'additional-parameters': {},
-                'post-build': [],
-                'build_name': 'win32',
-                'build_type': 'opt',
-                'interactive': False,
-                'when': {}
-            }
-        ]
-
-        result, triggers = parse_commit(commit, jobs)
-        self.assertEqual(expected, result)
-
-    def test_specific_chunks(self):
-        '''
-        This test covers specifying specific chunks for a given test suite.
-        '''
-        commit = 'try: -b o -p linux -u mochitest-1,mochitest-2 -t none'
-        jobs = {
-            'flags': {
-                'builds': ['linux'],
-                'tests': ['mochitest'],
-            },
-            'builds': {
-                'linux': {
-                    'types': {
-                        'opt': {
-                            'task': 'task/linux',
-                         },
-                        'debug': {
-                            'task': 'task/linux-debug'
-                        }
-                    }
-                },
-            },
-            'tests': {
-                'mochitest': {
-                    'allowed_build_tasks': {
-                        'task/linux': {
-                            'task': 'task/mochitest',
-                            'chunks': 5
-                        },
-                    }
-                }
-            }
-        }
-
-        expected = [
-            {
-                'task': 'task/linux',
-                'dependents': [
-                    {
-                        'allowed_build_tasks': {
-                            'task/linux': {
-                                'task': 'task/mochitest',
-                                'chunks': 5,
-                                'only_chunks': set([1, 2]),
-                                'unittest_try_name': 'mochitest',
-                            },
-                        }
-                    }
-                ],
-                'additional-parameters': {},
-                'post-build': [],
-                'build_name': 'linux',
-                'build_type': 'opt',
-                'interactive': False,
-                'when': {},
-            }
-        ]
-        result, triggers = parse_commit(commit, jobs)
-        self.assertEqual(expected, result)
-
-    def test_commit_with_builds_and_tests(self):
-        '''
-        This test covers the broad case of a commit which has both builds and
-        tests without any exclusions or other fancy logic.
-        '''
-        commit = 'try: -b od -p linux,linux64 -u web-platform-tests -t none'
-        jobs = {
-            'flags': {
-                'builds': ['linux', 'linux64'],
-                'tests': ['web-platform-tests'],
-            },
-            'builds': {
-                'linux': {
-                    'types': {
-                        'opt': {
-                            'task': 'task/linux',
-                         },
-                        'debug': {
-                            'task': 'task/linux-debug'
-                        }
-                    }
-                },
-                'linux64': {
-                    'types': {
-                        'opt': {
-                            'task': 'task/linux64',
-                         },
-                        'debug': {
-                            'task': 'task/linux64-debug'
-                        }
-                    }
-                }
-            },
-            'tests': {
-                'web-platform-tests': {
-                    'allowed_build_tasks': {
-                        'task/linux': {
-                            'task': 'task/web-platform-tests',
-                        },
-                        'task/linux-debug': {
-                            'task': 'task/web-platform-tests',
-                        },
-                        'task/linux64': {
-                            'task': 'task/web-platform-tests',
-                        },
-                        'task/linux64-debug': {
-                            'task': 'task/web-platform-tests',
-                        }
-                    }
-                }
-            }
-        }
-
-        expected = [
-            {
-                'task': 'task/linux64',
-                'dependents': [
-                    {
-                        'allowed_build_tasks': {
-                            'task/linux': {
-                                'task': 'task/web-platform-tests',
-                                'unittest_try_name': 'web-platform-tests',
-                            },
-                            'task/linux-debug': {
-                                'task': 'task/web-platform-tests',
-                                'unittest_try_name': 'web-platform-tests',
-                            },
-                            'task/linux64': {
-                                'task': 'task/web-platform-tests',
-                                'unittest_try_name': 'web-platform-tests',
-                            },
-                            'task/linux64-debug': {
-                                'task': 'task/web-platform-tests',
-                                'unittest_try_name': 'web-platform-tests',
-                            }
-                        }
-                    }
-                ],
-                'build_name': 'linux64',
-                'build_type': 'opt',
-                'interactive': False,
-                'post-build': [],
-                'when': {},
-                'additional-parameters': {}
-            },
-            {
-                'task': 'task/linux64-debug',
-                'dependents': [
-                    {
-                        'allowed_build_tasks': {
-                            'task/linux': {
-                                'task': 'task/web-platform-tests',
-                                'unittest_try_name': 'web-platform-tests',
-                            },
-                            'task/linux-debug': {
-                                'task': 'task/web-platform-tests',
-                                'unittest_try_name': 'web-platform-tests',
-                            },
-                            'task/linux64': {
-                                'task': 'task/web-platform-tests',
-                                'unittest_try_name': 'web-platform-tests',
-                            },
-                            'task/linux64-debug': {
-                                'task': 'task/web-platform-tests',
-                                'unittest_try_name': 'web-platform-tests',
-                            }
-                        }
-                    }
-                ],
-                'build_name': 'linux64',
-                'build_type': 'debug',
-                'interactive': False,
-                'post-build': [],
-                'when': {},
-                'additional-parameters': {}
-            },
-            {
-                'task': 'task/linux',
-                'dependents': [
-                    {
-                        'allowed_build_tasks': {
-                            'task/linux': {
-                                'task': 'task/web-platform-tests',
-                                'unittest_try_name': 'web-platform-tests',
-                            },
-                            'task/linux-debug': {
-                                'task': 'task/web-platform-tests',
-                                'unittest_try_name': 'web-platform-tests',
-                            },
-                            'task/linux64': {
-                                'task': 'task/web-platform-tests',
-                                'unittest_try_name': 'web-platform-tests',
-                            },
-                            'task/linux64-debug': {
-                                'task': 'task/web-platform-tests',
-                                'unittest_try_name': 'web-platform-tests',
-                            }
-                        }
-                    }
-                ],
-                'build_name': 'linux',
-                'build_type': 'opt',
-                'interactive': False,
-                'post-build': [],
-                'when': {},
-                'additional-parameters': {}
-            },
-            {
-                'task': 'task/linux-debug',
-                'dependents': [
-                    {
-                        'allowed_build_tasks': {
-                            'task/linux': {
-                                'task': 'task/web-platform-tests',
-                                'unittest_try_name': 'web-platform-tests',
-                            },
-                            'task/linux-debug': {
-                                'task': 'task/web-platform-tests',
-                                'unittest_try_name': 'web-platform-tests',
-                            },
-                            'task/linux64': {
-                                'task': 'task/web-platform-tests',
-                                'unittest_try_name': 'web-platform-tests',
-                            },
-                            'task/linux64-debug': {
-                                'task': 'task/web-platform-tests',
-                                'unittest_try_name': 'web-platform-tests',
-                            }
-                        }
-                    }
-                ],
-                'build_name': 'linux',
-                'build_type': 'debug',
-                'interactive': False,
-                'post-build': [],
-                'when': {},
-                'additional-parameters': {}
-            }
-        ]
-
-        result, triggers = parse_commit(commit, jobs)
-        self.assertEqual(expected, result)
-
-    def test_commit_long_form(self):
-        '''
-        This tests the long form of the try flags.
-        '''
-        commit = \
-            'try: --build od --platform linux,linux64 --unittests web-platform-tests --talos none'
-        jobs = {
-            'flags': {
-                'builds': ['linux', 'linux64'],
-                'tests': ['web-platform-tests'],
-            },
-            'builds': {
-                'linux': {
-                    'types': {
-                        'opt': {
-                            'task': 'task/linux',
-                         },
-                        'debug': {
-                            'task': 'task/linux-debug'
-                        }
-                    }
-                },
-                'linux64': {
-                    'types': {
-                        'opt': {
-                            'task': 'task/linux64',
-                         },
-                        'debug': {
-                            'task': 'task/linux64-debug'
-                        }
-                    }
-                }
-            },
-            'tests': {
-                'web-platform-tests': {
-                    'allowed_build_tasks': {
-                        'task/linux': {
-                            'task': 'task/web-platform-tests',
-                        },
-                        'task/linux-debug': {
-                            'task': 'task/web-platform-tests',
-                        },
-                        'task/linux64': {
-                            'task': 'task/web-platform-tests',
-                        },
-                        'task/linux64-debug': {
-                            'task': 'task/web-platform-tests',
-                        }
-                    }
-                }
-            }
-        }
-        expected = [
-            {
-                'task': 'task/linux',
-                'dependents': [
-                    {
-                        'allowed_build_tasks': {
-                            'task/linux': {
-                                'task': 'task/web-platform-tests',
-                                'unittest_try_name': 'web-platform-tests',
-                            },
-                            'task/linux-debug': {
-                                'task': 'task/web-platform-tests',
-                                'unittest_try_name': 'web-platform-tests',
-                            },
-                            'task/linux64': {
-                                'task': 'task/web-platform-tests',
-                                'unittest_try_name': 'web-platform-tests',
-                            },
-                            'task/linux64-debug': {
-                                'task': 'task/web-platform-tests',
-                                'unittest_try_name': 'web-platform-tests',
-                            }
-                        }
-                    }
-                ],
-                'additional-parameters': {},
-                'build_name': 'linux',
-                'build_type': 'opt',
-                'post-build': [],
-                'interactive': False,
-                'when': {}
-            },
-            {
-                'task': 'task/linux-debug',
-                'dependents': [
-                    {
-                        'allowed_build_tasks': {
-                            'task/linux': {
-                                'task': 'task/web-platform-tests',
-                                'unittest_try_name': 'web-platform-tests',
-                            },
-                            'task/linux-debug': {
-                                'task': 'task/web-platform-tests',
-                                'unittest_try_name': 'web-platform-tests',
-                            },
-                            'task/linux64': {
-                                'task': 'task/web-platform-tests',
-                                'unittest_try_name': 'web-platform-tests',
-                            },
-                            'task/linux64-debug': {
-                                'task': 'task/web-platform-tests',
-                                'unittest_try_name': 'web-platform-tests',
-                            }
-                        }
-                    }
-                ],
-                'additional-parameters': {},
-                'build_name': 'linux',
-                'build_type': 'debug',
-                'post-build': [],
-                'interactive': False,
-                'when': {}
-            },
-            {
-                'task': 'task/linux64',
-                'dependents': [
-                    {
-                        'allowed_build_tasks': {
-                            'task/linux': {
-                                'task': 'task/web-platform-tests',
-                                'unittest_try_name': 'web-platform-tests',
-                            },
-                            'task/linux-debug': {
-                                'task': 'task/web-platform-tests',
-                                'unittest_try_name': 'web-platform-tests',
-                            },
-                            'task/linux64': {
-                                'task': 'task/web-platform-tests',
-                                'unittest_try_name': 'web-platform-tests',
-                            },
-                            'task/linux64-debug': {
-                                'task': 'task/web-platform-tests',
-                                'unittest_try_name': 'web-platform-tests',
-                            }
-                        }
-                    }
-                ],
-                'additional-parameters': {},
-                'build_name': 'linux64',
-                'build_type': 'opt',
-                'post-build': [],
-                'interactive': False,
-                'when': {}
-            },
-            {
-                'task': 'task/linux64-debug',
-                'dependents': [
-                    {
-                        'allowed_build_tasks': {
-                            'task/linux': {
-                                'task': 'task/web-platform-tests',
-                                'unittest_try_name': 'web-platform-tests',
-                            },
-                            'task/linux-debug': {
-                                'task': 'task/web-platform-tests',
-                                'unittest_try_name': 'web-platform-tests',
-                            },
-                            'task/linux64': {
-                                'task': 'task/web-platform-tests',
-                                'unittest_try_name': 'web-platform-tests',
-                            },
-                            'task/linux64-debug': {
-                                'task': 'task/web-platform-tests',
-                                'unittest_try_name': 'web-platform-tests',
-                            }
-                        }
-                    }
-                ],
-                'additional-parameters': {},
-                'build_name': 'linux64',
-                'build_type': 'debug',
-                'post-build': [],
-                'interactive': False,
-                'when': {}
-            }
-        ]
-
-        result, triggers = parse_commit(commit, jobs)
-        self.assertEqual(sorted(expected), sorted(result))
-
-
-class TryTestParserTest(unittest.TestCase):
-
-    def test_parse_opts_valid(self):
-        self.assertEquals(
-            parse_test_opts('all[Mulet Linux]'),
-            [{'test': 'all', 'platforms': ['Mulet Linux']}]
-        )
-
-        self.assertEquals(
-            parse_test_opts('all[Amazing, Foobar woot,yeah]'),
-            [{'test': 'all', 'platforms': ['Amazing', 'Foobar woot', 'yeah']}]
-        )
-
-        self.assertEquals(
-            parse_test_opts('a,b, c'),
-            [
-                {'test': 'a'},
-                {'test': 'b'},
-                {'test': 'c'},
-            ]
-        )
-        self.assertEquals(
-            parse_test_opts('woot, bar[b], baz, qux[ z ],a'),
-            [
-                {'test': 'woot'},
-                {'test': 'bar', 'platforms': ['b']},
-                {'test': 'baz'},
-                {'test': 'qux', 'platforms': ['z']},
-                {'test': 'a'}
-            ]
-        )
-
-        self.assertEquals(
-            parse_test_opts('mochitest-3[Ubuntu,10.6,10.8,Windows XP,Windows 7,Windows 8]'),
-            [
-                {
-                    'test': 'mochitest-3',
-                    'platforms': [
-                        'Ubuntu', '10.6', '10.8', 'Windows XP', 'Windows 7', 'Windows 8'
-                    ]
-                }
-            ]
-        )
-
-        self.assertEquals(
-            parse_test_opts(''),
-            []
-        )
-
-
-if __name__ == '__main__':
-    mozunit.main()
--- a/taskcluster/taskgraph/try_option_syntax.py
+++ b/taskcluster/taskgraph/try_option_syntax.py
@@ -505,35 +505,17 @@ class TryOptionSyntax(object):
                     return False
                 if 'platforms' in test and attr('test_platform') not in test['platforms']:
                     return False
                 if 'only_chunks' in test and attr('test_chunk') not in test['only_chunks']:
                     return False
                 return True
             return True
 
-        if attr('kind') == 'legacy':
-            if attr('legacy_kind') in ('build', 'post_build'):
-                if attr('build_type') not in self.build_types:
-                    return False
-                if self.platforms is not None:
-                    if attr('build_platform') not in self.platforms:
-                        return False
-                return True
-            elif attr('legacy_kind') == 'job':
-                if self.jobs is not None:
-                    if attr('job') not in self.jobs:
-                        return False
-                return True
-            elif attr('legacy_kind') == 'unittest':
-                return match_test(self.unittests, 'unittest_try_name')
-            elif attr('legacy_kind') == 'talos':
-                return match_test(self.talos, 'talos_try_name')
-            return False
-        elif attr('kind') in ('desktop-test', 'android-test'):
+        if attr('kind') in ('desktop-test', 'android-test'):
             return match_test(self.unittests, 'unittest_try_name')
         elif attr('kind') in JOB_KINDS:
             if self.jobs is None:
                 return True
             if attr('build_platform') in self.jobs:
                 return True
         elif attr('kind') in BUILD_KINDS:
             if attr('build_type') not in self.build_types:
deleted file mode 100644
--- a/taskcluster/taskgraph/util/legacy_commit_parser.py
+++ /dev/null
@@ -1,438 +0,0 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this file,
-# You can obtain one at http://mozilla.org/MPL/2.0/.
-
-# This commit parser is used by the legacy kind; once that is gone, it can be
-# removed.
-
-import argparse
-import copy
-import re
-import shlex
-
-TRY_DELIMITER = 'try:'
-TEST_CHUNK_SUFFIX = re.compile('(.*)-([0-9]+)$')
-
-# The build type aliases are very cryptic and only used in try flags these are
-# mappings from the single char alias to a longer more recognizable form.
-BUILD_TYPE_ALIASES = {
-    'o': 'opt',
-    'd': 'debug'
-}
-
-
-def parse_test_opts(input_str):
-    '''Test argument parsing is surprisingly complicated with the "restrictions"
-    logic this function is responsible for parsing this out into a easier to
-    work with structure like { test: '..', platforms: ['..'] }'''
-
-    # Final results which we will return.
-    tests = []
-
-    cur_test = {}
-    token = ''
-    in_platforms = False
-
-    def add_test(value):
-        cur_test['test'] = value.strip()
-        tests.insert(0, cur_test)
-
-    def add_platform(value):
-        # Ensure platforms exists...
-        cur_test['platforms'] = cur_test.get('platforms', [])
-        cur_test['platforms'].insert(0, value.strip())
-
-    # This might be somewhat confusing but we parse the string _backwards_ so
-    # there is no ambiguity over what state we are in.
-    for char in reversed(input_str):
-        # , indicates exiting a state
-        if char == ',':
-            # Exit a particular platform.
-            if in_platforms:
-                add_platform(token)
-
-            # Exit a particular test.
-            else:
-                add_test(token)
-                cur_test = {}
-
-            # Token must always be reset after we exit a state
-            token = ''
-        elif char == '[':
-            # Exiting platform state entering test state.
-            add_platform(token)
-            token = ''
-            in_platforms = False
-        elif char == ']':
-            # Entering platform state.
-            in_platforms = True
-        else:
-            # Accumulator.
-            token = char + token
-
-    # Handle any left over tokens.
-    if token:
-        add_test(token)
-
-    return tests
-
-
-def escape_whitespace_in_brackets(input_str):
-    '''
-    In tests you may restrict them by platform [] inside of the brackets
-    whitespace may occur this is typically invalid shell syntax so we escape it
-    with backslash sequences    .
-    '''
-    result = ""
-    in_brackets = False
-    for char in input_str:
-        if char == '[':
-            in_brackets = True
-            result += char
-            continue
-
-        if char == ']':
-            in_brackets = False
-            result += char
-            continue
-
-        if char == ' ' and in_brackets:
-            result += '\ '
-            continue
-
-        result += char
-
-    return result
-
-
-def normalize_platform_list(alias, all_builds, build_list):
-    if build_list == 'all':
-        return all_builds
-    return [alias.get(build, build) for build in build_list.split(',')]
-
-
-def normalize_test_list(aliases, all_tests, job_list):
-    '''
-    Normalize a set of jobs (builds or tests) there are three common cases:
-
-        - job_list is == 'none' (meaning an empty list)
-        - job_list is == 'all' (meaning use the list of jobs for that job type)
-        - job_list is comma delimited string which needs to be split
-
-    :param dict aliases: Alias mapping for jobs...
-    :param list all_tests: test flags from job_flags.yml structure.
-    :param str job_list: see above examples.
-    :returns: List of jobs
-    '''
-
-    # Empty job list case...
-    if job_list is None or job_list == 'none':
-        return []
-
-    tests = parse_test_opts(job_list)
-
-    if not tests:
-        return []
-
-    # Special case where tests is 'all' and must be expanded
-    if tests[0]['test'] == 'all':
-        results = []
-        all_entry = tests[0]
-        for test in all_tests:
-            entry = {'test': test}
-            # If there are platform restrictions copy them across the list.
-            if 'platforms' in all_entry:
-                entry['platforms'] = list(all_entry['platforms'])
-            results.append(entry)
-        return parse_test_chunks(aliases, all_tests, results)
-    else:
-        return parse_test_chunks(aliases, all_tests, tests)
-
-
-def handle_alias(test, aliases, all_tests):
-    '''
-    Expand a test if its name refers to an alias, returning a list of test
-    dictionaries cloned from the first (to maintain any metadata).
-
-    :param dict test: the test to expand
-    :param dict aliases: Dict of alias name -> real name.
-    :param list all_tests: test flags from job_flags.yml structure.
-    '''
-    if test['test'] not in aliases:
-        return [test]
-
-    alias = aliases[test['test']]
-
-    def mktest(name):
-        newtest = copy.deepcopy(test)
-        newtest['test'] = name
-        return newtest
-
-    def exprmatch(alias):
-        if not alias.startswith('/') or not alias.endswith('/'):
-            return [alias]
-        regexp = re.compile('^' + alias[1:-1] + '$')
-        return [t for t in all_tests if regexp.match(t)]
-
-    if isinstance(alias, str):
-        return [mktest(t) for t in exprmatch(alias)]
-    elif isinstance(alias, list):
-        names = sum([exprmatch(a) for a in alias], [])
-        return [mktest(t) for t in set(names)]
-    else:
-        return [test]
-
-
-def parse_test_chunks(aliases, all_tests, tests):
-    '''
-    Test flags may include parameters to narrow down the number of chunks in a
-    given push. We don't model 1 chunk = 1 job in taskcluster so we must check
-    each test flag to see if it is actually specifying a chunk.
-
-    :param dict aliases: Dict of alias name -> real name.
-    :param list all_tests: test flags from job_flags.yml structure.
-    :param list tests: Result from normalize_test_list
-    :returns: List of jobs
-    '''
-    results = []
-    seen_chunks = {}
-    for test in tests:
-        matches = TEST_CHUNK_SUFFIX.match(test['test'])
-
-        if not matches:
-            results.extend(handle_alias(test, aliases, all_tests))
-            continue
-
-        name = matches.group(1)
-        chunk = int(matches.group(2))
-        test['test'] = name
-
-        for test in handle_alias(test, aliases, all_tests):
-            name = test['test']
-            if name in seen_chunks:
-                seen_chunks[name].add(chunk)
-            else:
-                seen_chunks[name] = {chunk}
-                test['test'] = name
-                test['only_chunks'] = seen_chunks[name]
-                results.append(test)
-
-    # uniquify the results over the test names
-    results = {test['test']: test for test in results}.values()
-    return results
-
-
-def extract_tests_from_platform(test_jobs, build_platform, build_task, tests):
-    '''
-    Build the list of tests from the current build.
-
-    :param dict test_jobs: Entire list of tests (from job_flags.yml).
-    :param dict build_platform: Current build platform.
-    :param str build_task: Build task path.
-    :param list tests: Test flags.
-    :return: List of tasks (ex: [{ task: 'test_task.yml' }]
-    '''
-    if tests is None:
-        return []
-
-    results = []
-
-    for test_entry in tests:
-        if test_entry['test'] not in test_jobs:
-            continue
-
-        test_job = test_jobs[test_entry['test']]
-
-        # Verify that this job can actually be run on this build task...
-        if 'allowed_build_tasks' in test_job and build_task not in test_job['allowed_build_tasks']:
-            continue
-
-        if 'platforms' in test_entry:
-            # The default here is _exclusive_ rather then inclusive so if the
-            # build platform does not specify what platform(s) it belongs to
-            # then we must skip it.
-            if 'platforms' not in build_platform:
-                continue
-
-            # Sorta hack to see if the two lists intersect at all if they do not
-            # then we must skip this set.
-            common_platforms = set(test_entry['platforms']) & set(build_platform['platforms'])
-            if not common_platforms:
-                # Tests should not run on this platform...
-                continue
-
-        # Add the job to the list and ensure to copy it so we don't accidentally
-        # mutate the state of the test job in the future...
-        specific_test_job = copy.deepcopy(test_job)
-
-        # Update the task configuration for all tests in the matrix...
-        for build_name in specific_test_job:
-            # NOTE: build_name is always "allowed_build_tasks"
-            for test_task_name in specific_test_job[build_name]:
-                # NOTE: test_task_name is always "task"
-                test_task = specific_test_job[build_name][test_task_name]
-                test_task['unittest_try_name'] = test_entry['test']
-                # Copy over the chunk restrictions if given...
-                if 'only_chunks' in test_entry:
-                    test_task['only_chunks'] = \
-                            copy.copy(test_entry['only_chunks'])
-
-        results.append(specific_test_job)
-
-    return results
-
-'''
-This module exists to deal with parsing the options flags that try uses. We do
-not try to build a graph or anything here but match up build flags to tasks via
-the "jobs" datastructure (see job_flags.yml)
-'''
-
-
-def parse_commit(message, jobs):
-    '''
-    :param message: Commit message that is typical to a try push.
-    :param jobs: Dict (see job_flags.yml)
-    '''
-
-    # shlex used to ensure we split correctly when giving values to argparse.
-    parts = shlex.split(escape_whitespace_in_brackets(message))
-    try_idx = None
-    for idx, part in enumerate(parts):
-        if part == TRY_DELIMITER:
-            try_idx = idx
-            break
-
-    if try_idx is None:
-        return [], 0
-
-    # Argument parser based on try flag flags
-    parser = argparse.ArgumentParser()
-    parser.add_argument('-b', '--build', dest='build_types')
-    parser.add_argument('-p', '--platform', nargs='?',
-                        dest='platforms', const='all', default='all')
-    parser.add_argument('-u', '--unittests', nargs='?', dest='tests', const='all', default='all')
-    parser.add_argument('-i', '--interactive',
-                        dest='interactive', action='store_true', default=False)
-    parser.add_argument('-j', '--job', dest='jobs', action='append')
-    # In order to run test jobs multiple times
-    parser.add_argument('--trigger-tests', dest='trigger_tests', type=int, default=1)
-    # Once bug 1250993 is fixed we can only use --trigger-tests
-    parser.add_argument('--rebuild', dest='trigger_tests', type=int, default=1)
-    args, unknown = parser.parse_known_args(parts[try_idx:])
-
-    # Normalize default value to something easier to detect.
-    if args.jobs == ['all']:
-        args.jobs = None
-
-    # Expand commas.
-    if args.jobs:
-        expanded = []
-        for job in args.jobs:
-            expanded.extend(j.strip() for j in job.split(','))
-        args.jobs = expanded
-
-    # Then builds...
-    if args.build_types is None:
-        args.build_types = []
-
-    build_types = [BUILD_TYPE_ALIASES.get(build_type, build_type) for
-                   build_type in args.build_types]
-
-    aliases = jobs['flags'].get('aliases', {})
-
-    platforms = set()
-    for base in normalize_platform_list(aliases, jobs['flags']['builds'], args.platforms):
-        # Silently skip unknown platforms.
-        if base not in jobs['builds']:
-            continue
-        platforms.add(base)
-        for extra_build in jobs['builds'][base].get('extra-builds', []):
-            # Silently skip extra-builds of unknown platforms
-            if extra_build not in jobs['builds']:
-                continue
-            platforms.update([extra_build])
-
-    tests = normalize_test_list(aliases, jobs['flags']['tests'], args.tests)
-
-    result = []
-
-    # Expand the matrix of things!
-    for platform in platforms:
-        platform_builds = jobs['builds'][platform]
-
-        for build_type in build_types:
-            # Not all platforms have debug builds, etc...
-            if build_type not in platform_builds['types']:
-                continue
-
-            platform_build = platform_builds['types'][build_type]
-            build_task = platform_build['task']
-
-            additional_parameters = platform_build.get('additional-parameters', {})
-
-            # Generate list of post build tasks that run on this build
-            post_build_jobs = []
-            for job_flag in jobs['flags'].get('post-build', []):
-                job = jobs['post-build'][job_flag]
-                if ('allowed_build_tasks' in job and
-                        build_task not in job['allowed_build_tasks']):
-                    continue
-                job = copy.deepcopy(job)
-                job['job_flag'] = job_flag
-                post_build_jobs.append(job)
-
-            # Node for this particular build type
-            result.append({
-                'task': build_task,
-                'post-build': post_build_jobs,
-                'dependents': extract_tests_from_platform(
-                    jobs.get('tests', {}), platform_builds, build_task, tests
-                ),
-                'additional-parameters': additional_parameters,
-                'build_name': platform,
-                'build_type': build_type,
-                'interactive': args.interactive,
-                'when': platform_builds.get('when', {}),
-            })
-
-    # Process miscellaneous tasks.
-
-    def filtertask(name, task):
-        # args.jobs == None implies all tasks.
-        if args.jobs is None:
-            return True
-
-        if name in args.jobs:
-            return True
-
-        for tag in task.get('tags', []):
-            if tag in args.jobs:
-                return True
-
-        return False
-
-    for name, task in sorted(jobs.get('tasks', {}).items()):
-        if not filtertask(name, task):
-            continue
-
-        # TODO support tasks that are defined as dependent on another one.
-        if not task.get('root', False):
-            continue
-
-        result.append({
-            'task': task['task'],
-            'post-build': [],
-            'dependents': [],
-            'additional-parameters': task.get('additional-parameters', {}),
-            'build_name': name,
-            # TODO support declaring a different build type
-            'build_type': name,
-            'is_job': True,
-            'interactive': args.interactive,
-            'when': task.get('when', {})
-        })
-
-    # Times that test jobs will be scheduled
-    trigger_tests = args.trigger_tests
-
-    return result, trigger_tests
rename from taskcluster/ci/legacy/routes.json
rename to testing/mozharness/configs/routes.json
--- a/testing/mozharness/mozharness/mozilla/building/buildbase.py
+++ b/testing/mozharness/mozharness/mozilla/building/buildbase.py
@@ -1357,19 +1357,19 @@ or run without that action (ie: --no-{ac
         # taskcluster (and its dependent modules, like requests and hawk).
         # Normally we could create the virtualenv as an action, but due to some
         # odd dependencies with query_build_env() being called from build(),
         # which is necessary before the virtualenv can be created.
         self.create_virtualenv()
         self.activate_virtualenv()
 
         routes_file = os.path.join(dirs['abs_src_dir'],
-                                   'taskcluster',
-                                   'ci',
-                                   'legacy',
+                                   'testing',
+                                   'mozharness',
+                                   'configs',
                                    'routes.json')
         with open(routes_file) as f:
             self.routes_json = json.load(f)
 
     def _taskcluster_upload(self, files, templates, locale='en-US',
                             property_conditions=[]):
         if not self.client_id or not self.access_token:
             self.warning('Skipping S3 file upload: No taskcluster credentials.')
--- a/testing/mozharness/scripts/desktop_l10n.py
+++ b/testing/mozharness/scripts/desktop_l10n.py
@@ -1071,17 +1071,17 @@ class DesktopSingleLocale(LocalesMixin, 
         revision = self._query_revision()
         repo = self.query_l10n_repo()
         if not repo:
             self.fatal("Unable to determine repository for querying the push info.")
         pushinfo = self.vcs_query_pushinfo(repo, revision, vcs='hg')
         pushdate = time.strftime('%Y%m%d%H%M%S', time.gmtime(pushinfo.pushdate))
 
         routes_json = os.path.join(self.query_abs_dirs()['abs_mozilla_dir'],
-                                   'taskcluster/ci/legacy/routes.json')
+                                   'testing/mozharness/configs/routes.json')
         with open(routes_json) as f:
             contents = json.load(f)
             templates = contents['l10n']
 
         # Release promotion creates a special task to accumulate all artifacts
         # under the same task
         artifacts_task = None
         self.read_buildbot_config()
--- a/testing/mozharness/scripts/mobile_l10n.py
+++ b/testing/mozharness/scripts/mobile_l10n.py
@@ -525,17 +525,17 @@ class MobileSingleLocale(MockMixin, Loca
         upload_env = self.query_upload_env()
         cwd = dirs['abs_locales_dir']
         branch = self.config['branch']
         revision = self.query_revision()
         repo = self.query_l10n_repo()
         pushinfo = self.vcs_query_pushinfo(repo, revision, vcs='hg')
         pushdate = time.strftime('%Y%m%d%H%M%S', time.gmtime(pushinfo.pushdate))
         routes_json = os.path.join(self.query_abs_dirs()['abs_mozilla_dir'],
-                                   'taskcluster/ci/legacy/routes.json')
+                                   'testing/mozharness/configs/routes.json')
         with open(routes_json) as routes_file:
             contents = json.load(routes_file)
             templates = contents['l10n']
 
         for locale in locales:
             output = self.get_output_from_command_m(
                 "%s echo-variable-UPLOAD_FILES AB_CD=%s" % (make, locale),
                 cwd=cwd,