Bug 1429603: Remove code for uploading artifacts from buildbot to taskcluster; r=Callek
authorTom Prince <mozilla@hocat.ca>
Wed, 31 Jan 2018 14:54:51 -0700
changeset 448724 7ceaba8f41d0eb7eb92f68844872792e351496ce
parent 448723 89e1f667f279d8a840dc32a57a4fb803338b6912
child 448725 ce4939c349a9b95cd5251b2186fe8b636fb51c29
push id140
push userfmarier@mozilla.com
push dateTue, 20 Feb 2018 00:21:38 +0000
reviewersCallek
bugs1429603
milestone60.0a1
Bug 1429603: Remove code for uploading artifacts from buildbot to taskcluster; r=Callek Differential Revision: https://phabricator.services.mozilla.com/D523
taskcluster/taskgraph/transforms/task.py
testing/mozharness/configs/builds/build_pool_specifics.py
testing/mozharness/configs/builds/releng_base_android_64_builds.py
testing/mozharness/configs/builds/releng_base_linux_32_builds.py
testing/mozharness/configs/builds/releng_base_linux_64_builds.py
testing/mozharness/configs/builds/releng_base_windows_32_mingw_builds.py
testing/mozharness/configs/builds/releng_sub_android_configs/64_x86.py
testing/mozharness/configs/builds/releng_sub_android_configs/64_x86_artifact.py
testing/mozharness/configs/builds/releng_sub_android_configs/64_x86_old_id.py
testing/mozharness/configs/builds/releng_sub_linux_configs/32_artifact.py
testing/mozharness/configs/builds/releng_sub_linux_configs/32_debug_artifact.py
testing/mozharness/configs/builds/releng_sub_linux_configs/64_add-on-devel.py
testing/mozharness/configs/builds/releng_sub_linux_configs/64_artifact.py
testing/mozharness/configs/builds/releng_sub_linux_configs/64_asan.py
testing/mozharness/configs/builds/releng_sub_linux_configs/64_asan_and_debug.py
testing/mozharness/configs/builds/releng_sub_linux_configs/64_asan_reporter_tc.py
testing/mozharness/configs/builds/releng_sub_linux_configs/64_asan_tc.py
testing/mozharness/configs/builds/releng_sub_linux_configs/64_asan_tc_and_debug.py
testing/mozharness/configs/builds/releng_sub_linux_configs/64_debug_artifact.py
testing/mozharness/configs/builds/releng_sub_linux_configs/64_fuzzing_asan_tc.py
testing/mozharness/configs/builds/releng_sub_linux_configs/64_fuzzing_debug.py
testing/mozharness/configs/builds/releng_sub_linux_configs/64_searchfox_and_debug.py
testing/mozharness/configs/builds/releng_sub_linux_configs/64_stat_and_debug.py
testing/mozharness/configs/builds/releng_sub_linux_configs/64_stat_and_opt.py
testing/mozharness/configs/builds/releng_sub_linux_configs/64_valgrind.py
testing/mozharness/configs/builds/releng_sub_mac_configs/64_add-on-devel.py
testing/mozharness/configs/builds/releng_sub_mac_configs/64_artifact.py
testing/mozharness/configs/builds/releng_sub_mac_configs/64_debug_artifact.py
testing/mozharness/configs/builds/taskcluster_base_windows.py
testing/mozharness/configs/builds/taskcluster_sub_win32/addondevel.py
testing/mozharness/configs/builds/taskcluster_sub_win64/addondevel.py
testing/mozharness/configs/routes.json
testing/mozharness/configs/single_locale/dev-mozilla-beta.py
testing/mozharness/configs/single_locale/dev-mozilla-release.py
testing/mozharness/configs/single_locale/mozilla-beta.py
testing/mozharness/configs/single_locale/mozilla-beta_devedition.py
testing/mozharness/configs/single_locale/mozilla-esr52.py
testing/mozharness/configs/single_locale/mozilla-release.py
testing/mozharness/configs/single_locale/production.py
testing/mozharness/configs/single_locale/staging.py
testing/mozharness/configs/single_locale/win64_devedition.py
testing/mozharness/mozharness/mozilla/buildbot.py
testing/mozharness/mozharness/mozilla/building/buildbase.py
testing/mozharness/scripts/desktop_l10n.py
testing/mozharness/scripts/fx_desktop_build.py
testing/mozharness/scripts/mobile_l10n.py
--- a/taskcluster/taskgraph/transforms/task.py
+++ b/taskcluster/taskgraph/transforms/task.py
@@ -6,17 +6,16 @@ These transformations take a task descri
 task definition (along with attributes, label, etc.).  The input to these
 transformations is generic to any kind of task, but abstracts away some of the
 complexities of worker implementations, scopes, and treeherder annotations.
 """
 
 from __future__ import absolute_import, print_function, unicode_literals
 
 import hashlib
-import json
 import os
 import re
 import time
 from copy import deepcopy
 
 from mozbuild.util import memoize
 from mozbuild import schedules
 from taskgraph.util.attributes import TRUNK_PROJECTS
@@ -1705,46 +1704,8 @@ def check_run_task_caches(config, tasks)
                     'naming requirements' % (task['label'], cache))
 
         if require_sparse_cache and not have_sparse_cache:
             raise Exception('%s is using a sparse checkout but not using '
                             'a sparse checkout cache; change the checkout '
                             'cache name so it is sparse aware' % task['label'])
 
         yield task
-
-
-# Check that the v2 route templates match those used by Mozharness.  This can
-# go away once Mozharness builds are no longer performed in Buildbot, and the
-# Mozharness code referencing routes.json is deleted.
-def check_v2_routes():
-    with open(os.path.join(GECKO, "testing/mozharness/configs/routes.json"), "rb") as f:
-        routes_json = json.load(f)
-
-    for key in ('routes', 'nightly', 'l10n', 'nightly-l10n'):
-        if key == 'routes':
-            tc_template = V2_ROUTE_TEMPLATES
-        elif key == 'nightly':
-            tc_template = V2_NIGHTLY_TEMPLATES
-        elif key == 'l10n':
-            tc_template = V2_L10N_TEMPLATES
-        elif key == 'nightly-l10n':
-            tc_template = V2_NIGHTLY_L10N_TEMPLATES + V2_L10N_TEMPLATES
-
-        routes = routes_json[key]
-
-        # we use different variables than mozharness
-        for mh, tg in [
-                ('{index}', 'index'),
-                ('gecko', '{trust-domain}'),
-                ('{build_product}', '{product}'),
-                ('{build_name}-{build_type}', '{job-name}'),
-                ('{year}.{month}.{day}.{pushdate}', '{build_date_long}'),
-                ('{pushid}', '{pushlog_id}'),
-                ('{year}.{month}.{day}', '{build_date}')]:
-            routes = [r.replace(mh, tg) for r in routes]
-
-        if sorted(routes) != sorted(tc_template):
-            raise Exception("V2 TEMPLATES do not match Mozharness's routes.json: "
-                            "(tc):%s vs (mh):%s" % (tc_template, routes))
-
-
-check_v2_routes()
--- a/testing/mozharness/configs/builds/build_pool_specifics.py
+++ b/testing/mozharness/configs/builds/build_pool_specifics.py
@@ -8,30 +8,28 @@ config = {
         # see PurgeMixin for clobber() conditions
         'clobberer_url': 'https://api-pub-build.allizom.org/clobberer/lastclobber',
         # staging we should use MozillaTest
         # but in production we let the self.branch decide via
         # self._query_graph_server_branch_name()
         "graph_server_branch_name": "MozillaTest",
         'graph_server': 'graphs.allizom.org',
         'stage_server': 'upload.ffxbld.productdelivery.stage.mozaws.net',
-        'taskcluster_index': 'index.garbage.staging',
         'post_upload_extra': ['--bucket-prefix', 'net-mozaws-stage-delivery',
                               '--url-prefix', 'http://ftp.stage.mozaws.net/',
                               ],
     },
     "production": {
         # if not clobberer_url, only clobber 'abs_work_dir'
         # if true: possibly clobber, clobberer
         # see PurgeMixin for clobber() conditions
         'clobberer_url': 'https://api.pub.build.mozilla.org/clobberer/lastclobber',
         'graph_server': 'graphs.mozilla.org',
         # bug 1216907, set this at branch level
         # 'stage_server': 'upload.ffxbld.productdelivery.prod.mozaws.net',
-        'taskcluster_index': 'index',
     },
     "taskcluster": {
         'graph_server': 'graphs.mozilla.org',
         'stage_server': 'ignored',
         # use the relengapi proxy to talk to tooltool
         "tooltool_servers": ['http://relengapi/tooltool/'],
         "tooltool_url": 'http://relengapi/tooltool/',
         'upload_env': {
--- a/testing/mozharness/configs/builds/releng_base_android_64_builds.py
+++ b/testing/mozharness/configs/builds/releng_base_android_64_builds.py
@@ -56,20 +56,18 @@ config = {
     #########################################################################
 
 
     #########################################################################
     'base_name': 'Android 2.3 %(branch)s',
     'platform': 'android',
     'stage_platform': 'android',
     'stage_product': 'mobile',
-    'publish_nightly_en_US_routes': True,
     'post_upload_include_platform': True,
     'enable_max_vsize': False,
-    'use_package_as_marfile': True,
     'env': {
         'MOZBUILD_STATE_PATH': os.path.join(os.getcwd(), '.mozbuild'),
         'DISPLAY': ':2',
         'HG_SHARE_BASE_DIR': '/builds/hg-shared',
         'MOZ_OBJDIR': '%(abs_obj_dir)s',
         'TINDERBOX_OUTPUT': '1',
         'TOOLTOOL_CACHE': '/builds/worker/tooltool-cache',
         'TOOLTOOL_HOME': '/builds',
--- a/testing/mozharness/configs/builds/releng_base_linux_32_builds.py
+++ b/testing/mozharness/configs/builds/releng_base_linux_32_builds.py
@@ -38,17 +38,16 @@ config = {
     #########################################################################
 
 
     #########################################################################
     ###### 32 bit specific ######
     'base_name': 'Linux_%(branch)s',
     'platform': 'linux',
     'stage_platform': 'linux',
-    'publish_nightly_en_US_routes': True,
     'env': {
         'MOZBUILD_STATE_PATH': os.path.join(os.getcwd(), '.mozbuild'),
         'DISPLAY': ':2',
         'HG_SHARE_BASE_DIR': '/builds/hg-shared',
         'MOZ_OBJDIR': '%(abs_obj_dir)s',
         'TINDERBOX_OUTPUT': '1',
         'TOOLTOOL_CACHE': '/builds/worker/tooltool-cache',
         'TOOLTOOL_HOME': '/builds',
--- a/testing/mozharness/configs/builds/releng_base_linux_64_builds.py
+++ b/testing/mozharness/configs/builds/releng_base_linux_64_builds.py
@@ -37,17 +37,16 @@ config = {
     #########################################################################
 
 
     #########################################################################
     ###### 64 bit specific ######
     'base_name': 'Linux_x86-64_%(branch)s',
     'platform': 'linux64',
     'stage_platform': 'linux64',
-    'publish_nightly_en_US_routes': True,
     'env': {
         'MOZBUILD_STATE_PATH': os.path.join(os.getcwd(), '.mozbuild'),
         'DISPLAY': ':2',
         'HG_SHARE_BASE_DIR': '/builds/hg-shared',
         'MOZ_OBJDIR': '%(abs_obj_dir)s',
         'TINDERBOX_OUTPUT': '1',
         'TOOLTOOL_CACHE': '/builds/worker/tooltool-cache',
         'TOOLTOOL_HOME': '/builds',
--- a/testing/mozharness/configs/builds/releng_base_windows_32_mingw_builds.py
+++ b/testing/mozharness/configs/builds/releng_base_windows_32_mingw_builds.py
@@ -31,17 +31,16 @@ config = {
     #########################################################################
 
 
     #########################################################################
     ###### 32 bit specific ######
     'base_name': 'WINNT_5.2_MINGW_%(branch)s',
     'platform': 'win32-mingw32',
     'stage_platform': 'win32-mingw32',
-    'publish_nightly_en_US_routes': False,
     'env': {
         'MOZBUILD_STATE_PATH': os.path.join(os.getcwd(), '.mozbuild'),
         'DISPLAY': ':2',
         'HG_SHARE_BASE_DIR': '/builds/hg-shared',
         'MOZ_OBJDIR': '%(abs_obj_dir)s',
         'TINDERBOX_OUTPUT': '1',
         'TOOLTOOL_CACHE': '/builds/worker/tooltool-cache',
         'TOOLTOOL_HOME': '/builds',
--- a/testing/mozharness/configs/builds/releng_sub_android_configs/64_x86.py
+++ b/testing/mozharness/configs/builds/releng_sub_android_configs/64_x86.py
@@ -1,8 +1,7 @@
 config = {
     'base_name': 'Android 4.2 x86 %(branch)s build',
     'stage_platform': 'android-x86',
-    'publish_nightly_en_US_routes': False,
     'build_type': 'x86-opt',
     'src_mozconfig': 'mobile/android/config/mozconfigs/android-x86/nightly',
     'artifact_flag_build_variant_in_try': 'x86-artifact',
 }
--- a/testing/mozharness/configs/builds/releng_sub_android_configs/64_x86_artifact.py
+++ b/testing/mozharness/configs/builds/releng_sub_android_configs/64_x86_artifact.py
@@ -1,8 +1,7 @@
 config = {
     'base_name': 'Android 4.2 x86 %(branch)s Artifact build',
     'stage_platform': 'android-x86',
-    'publish_nightly_en_US_routes': False,
     'build_type': 'x86-opt',
     'src_mozconfig': 'mobile/android/config/mozconfigs/android-x86/nightly-artifact',
     'tooltool_manifest_src': 'mobile/android/config/tooltool-manifests/android-x86/releng.manifest',
 }
--- a/testing/mozharness/configs/builds/releng_sub_android_configs/64_x86_old_id.py
+++ b/testing/mozharness/configs/builds/releng_sub_android_configs/64_x86_old_id.py
@@ -1,8 +1,7 @@
 config = {
     'base_name': 'Android 4.2 x86 %(branch)s build OldId',
     'stage_platform': 'android-x86-old-id',
-    'publish_nightly_en_US_routes': False,
     'build_type': 'x86-opt',
     'src_mozconfig': 'mobile/android/config/mozconfigs/android-x86/nightly-old-id',
     'artifact_flag_build_variant_in_try': 'x86-artifact',
 }
--- a/testing/mozharness/configs/builds/releng_sub_linux_configs/32_artifact.py
+++ b/testing/mozharness/configs/builds/releng_sub_linux_configs/32_artifact.py
@@ -24,17 +24,16 @@ config = {
     #########################################################################
 
 
     #########################################################################
     ###### 32 bit specific ######
     'base_name': 'Linux_%(branch)s_Artifact_build',
     'platform': 'linux',
     'stage_platform': 'linux',
-    'publish_nightly_en_US_routes': False,
     'env': {
         'MOZBUILD_STATE_PATH': os.path.join(os.getcwd(), '.mozbuild'),
         'DISPLAY': ':2',
         'HG_SHARE_BASE_DIR': '/builds/hg-shared',
         'MOZ_OBJDIR': '%(abs_obj_dir)s',
         'TINDERBOX_OUTPUT': '1',
         'TOOLTOOL_CACHE': '/builds/tooltool_cache',
         'TOOLTOOL_HOME': '/builds',
--- a/testing/mozharness/configs/builds/releng_sub_linux_configs/32_debug_artifact.py
+++ b/testing/mozharness/configs/builds/releng_sub_linux_configs/32_debug_artifact.py
@@ -26,17 +26,16 @@ config = {
     #########################################################################
 
 
     #########################################################################
     ###### 32 bit specific ######
     'base_name': 'Linux_%(branch)s_Artifact_build',
     'platform': 'linux',
     'stage_platform': 'linux-debug',
-    'publish_nightly_en_US_routes': False,
     'env': {
         'MOZBUILD_STATE_PATH': os.path.join(os.getcwd(), '.mozbuild'),
         'DISPLAY': ':2',
         'HG_SHARE_BASE_DIR': '/builds/hg-shared',
         'MOZ_OBJDIR': '%(abs_obj_dir)s',
         'TINDERBOX_OUTPUT': '1',
         'TOOLTOOL_CACHE': '/builds/tooltool_cache',
         'TOOLTOOL_HOME': '/builds',
--- a/testing/mozharness/configs/builds/releng_sub_linux_configs/64_add-on-devel.py
+++ b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_add-on-devel.py
@@ -3,17 +3,16 @@ import os
 config = {
     'default_actions': [
         'clobber',
         'build',
         'check-test',
         # 'update',
     ],
     'stage_platform': 'linux64-add-on-devel',
-    'publish_nightly_en_US_routes': False,
     'build_type': 'add-on-devel',
     'platform_supports_post_upload_to_latest': False,
     'enable_signing': False,
     #### 64 bit build specific #####
     'env': {
         'MOZBUILD_STATE_PATH': os.path.join(os.getcwd(), '.mozbuild'),
         'HG_SHARE_BASE_DIR': '/builds/hg-shared',
         'MOZ_OBJDIR': '%(abs_obj_dir)s',
--- a/testing/mozharness/configs/builds/releng_sub_linux_configs/64_artifact.py
+++ b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_artifact.py
@@ -25,17 +25,16 @@ config = {
     #########################################################################
 
 
     #########################################################################
     ###### 64 bit specific ######
     'base_name': 'Linux_x86-64_%(branch)s_Artifact_build',
     'platform': 'linux64',
     'stage_platform': 'linux64',
-    'publish_nightly_en_US_routes': False,
     'env': {
         'MOZBUILD_STATE_PATH': os.path.join(os.getcwd(), '.mozbuild'),
         'DISPLAY': ':2',
         'HG_SHARE_BASE_DIR': '/builds/hg-shared',
         'MOZ_OBJDIR': '%(abs_obj_dir)s',
         'TINDERBOX_OUTPUT': '1',
         'TOOLTOOL_CACHE': '/builds/worker/tooltool-cache',
         'TOOLTOOL_HOME': '/builds',
--- a/testing/mozharness/configs/builds/releng_sub_linux_configs/64_asan.py
+++ b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_asan.py
@@ -3,17 +3,16 @@ import os
 config = {
     'default_actions': [
         'clobber',
         'build',
         'check-test',
         # 'update',
     ],
     'stage_platform': 'linux64-asan',
-    'publish_nightly_en_US_routes': False,
     'build_type': 'asan',
     'platform_supports_post_upload_to_latest': False,
     'enable_signing': False,
     #### 64 bit build specific #####
     'env': {
         'MOZBUILD_STATE_PATH': os.path.join(os.getcwd(), '.mozbuild'),
         'DISPLAY': ':2',
         'HG_SHARE_BASE_DIR': '/builds/hg-shared',
--- a/testing/mozharness/configs/builds/releng_sub_linux_configs/64_asan_and_debug.py
+++ b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_asan_and_debug.py
@@ -3,17 +3,16 @@ import os
 config = {
     'default_actions': [
         'clobber',
         'build',
         'check-test',
         # 'update',
     ],
     'stage_platform': 'linux64-asan-debug',
-    'publish_nightly_en_US_routes': False,
     'build_type': 'asan-debug',
     'debug_build': True,
     'platform_supports_post_upload_to_latest': False,
     'enable_signing': False,
     #### 64 bit build specific #####
     'env': {
         'MOZBUILD_STATE_PATH': os.path.join(os.getcwd(), '.mozbuild'),
         'DISPLAY': ':2',
--- a/testing/mozharness/configs/builds/releng_sub_linux_configs/64_asan_reporter_tc.py
+++ b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_asan_reporter_tc.py
@@ -3,17 +3,16 @@ import os
 config = {
     'default_actions': [
         'clobber',
         'build',
         'check-test',
         # 'update',
     ],
     'stage_platform': 'linux64-asan-reporter',
-    'publish_nightly_en_US_routes': False,
     'build_type': 'asan',
     'platform_supports_post_upload_to_latest': False,
     'enable_signing': False,
     #### 64 bit build specific #####
     'env': {
         'MOZBUILD_STATE_PATH': os.path.join(os.getcwd(), '.mozbuild'),
         'MOZ_AUTOMATION': '1',
         'DISPLAY': ':2',
--- a/testing/mozharness/configs/builds/releng_sub_linux_configs/64_asan_tc.py
+++ b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_asan_tc.py
@@ -3,17 +3,16 @@ import os
 config = {
     'default_actions': [
         'clobber',
         'build',
         'check-test',
         # 'update',
     ],
     'stage_platform': 'linux64-asan',
-    'publish_nightly_en_US_routes': False,
     'build_type': 'asan',
     'platform_supports_post_upload_to_latest': False,
     'enable_signing': False,
     #### 64 bit build specific #####
     'env': {
         'MOZBUILD_STATE_PATH': os.path.join(os.getcwd(), '.mozbuild'),
         'DISPLAY': ':2',
         'HG_SHARE_BASE_DIR': '/builds/hg-shared',
--- a/testing/mozharness/configs/builds/releng_sub_linux_configs/64_asan_tc_and_debug.py
+++ b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_asan_tc_and_debug.py
@@ -3,17 +3,16 @@ import os
 config = {
     'default_actions': [
         'clobber',
         'build',
         'check-test',
         # 'update',
     ],
     'stage_platform': 'linux64-asan-debug',
-    'publish_nightly_en_US_routes': False,
     'build_type': 'asan-debug',
     'debug_build': True,
     'platform_supports_post_upload_to_latest': False,
     'enable_signing': False,
     #### 64 bit build specific #####
     'env': {
         'MOZBUILD_STATE_PATH': os.path.join(os.getcwd(), '.mozbuild'),
         'DISPLAY': ':2',
--- a/testing/mozharness/configs/builds/releng_sub_linux_configs/64_debug_artifact.py
+++ b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_debug_artifact.py
@@ -19,17 +19,16 @@ config = {
     #########################################################################
 
 
     #########################################################################
     ###### 64 bit specific ######
     'base_name': 'Linux_x86-64_%(branch)s_Artifact_build',
     'platform': 'linux64',
     'stage_platform': 'linux64-debug',
-    'publish_nightly_en_US_routes': False,
     'env': {
         'MOZBUILD_STATE_PATH': os.path.join(os.getcwd(), '.mozbuild'),
         'DISPLAY': ':2',
         'HG_SHARE_BASE_DIR': '/builds/hg-shared',
         'MOZ_OBJDIR': '%(abs_obj_dir)s',
         'TINDERBOX_OUTPUT': '1',
         'TOOLTOOL_CACHE': '/builds/tooltool_cache',
         'TOOLTOOL_HOME': '/builds',
--- a/testing/mozharness/configs/builds/releng_sub_linux_configs/64_fuzzing_asan_tc.py
+++ b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_fuzzing_asan_tc.py
@@ -3,17 +3,16 @@ import os
 config = {
     'default_actions': [
         'clobber',
         'build',
         'check-test',
         # 'update',
     ],
     'stage_platform': 'linux64-fuzzing-asan',
-    'publish_nightly_en_US_routes': False,
     'build_type': 'asan',
     'platform_supports_post_upload_to_latest': False,
     'enable_signing': False,
     #### 64 bit build specific #####
     'env': {
         'MOZBUILD_STATE_PATH': os.path.join(os.getcwd(), '.mozbuild'),
         'MOZ_AUTOMATION': '1',
         'DISPLAY': ':2',
--- a/testing/mozharness/configs/builds/releng_sub_linux_configs/64_fuzzing_debug.py
+++ b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_fuzzing_debug.py
@@ -2,17 +2,16 @@ import os
 
 config = {
     'default_actions': [
         'clobber',
         'build',
         'check-test',
     ],
     'stage_platform': 'linux64-fuzzing-debug',
-    'publish_nightly_en_US_routes': False,
     'debug_build': True,
     'platform_supports_post_upload_to_latest': False,
     'enable_signing': False,
     #### 64 bit build specific #####
     'env': {
         'MOZBUILD_STATE_PATH': os.path.join(os.getcwd(), '.mozbuild'),
         'MOZ_AUTOMATION': '1',
         'DISPLAY': ':2',
--- a/testing/mozharness/configs/builds/releng_sub_linux_configs/64_searchfox_and_debug.py
+++ b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_searchfox_and_debug.py
@@ -16,17 +16,16 @@ config = {
     #########################################################################
 
 
     #########################################################################
     ###### 64 bit specific ######
     'base_name': 'Linux_x86-64_%(branch)s_Searchfox',
     'platform': 'linux64',
     'stage_platform': 'linux64-searchfox-opt',
-    'publish_nightly_en_US_routes': False,
     'env': {
         'MOZBUILD_STATE_PATH': os.path.join(os.getcwd(), '.mozbuild'),
         'DISPLAY': ':2',
         'HG_SHARE_BASE_DIR': '/builds/hg-shared',
         'MOZ_OBJDIR': '%(abs_obj_dir)s',
         'TINDERBOX_OUTPUT': '1',
         'TOOLTOOL_CACHE': '/builds/worker/tooltool-cache',
         'TOOLTOOL_HOME': '/builds',
--- a/testing/mozharness/configs/builds/releng_sub_linux_configs/64_stat_and_debug.py
+++ b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_stat_and_debug.py
@@ -16,17 +16,16 @@ config = {
     #########################################################################
 
 
     #########################################################################
     ###### 64 bit specific ######
     'base_name': 'Linux_x86-64_%(branch)s_Static_Analysis',
     'platform': 'linux64',
     'stage_platform': 'linux64-st-an-opt',
-    'publish_nightly_en_US_routes': False,
     'env': {
         'MOZBUILD_STATE_PATH': os.path.join(os.getcwd(), '.mozbuild'),
         'DISPLAY': ':2',
         'HG_SHARE_BASE_DIR': '/builds/hg-shared',
         'MOZ_OBJDIR': '%(abs_obj_dir)s',
         'TINDERBOX_OUTPUT': '1',
         'TOOLTOOL_CACHE': '/builds/worker/tooltool-cache',
         'TOOLTOOL_HOME': '/builds',
--- a/testing/mozharness/configs/builds/releng_sub_linux_configs/64_stat_and_opt.py
+++ b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_stat_and_opt.py
@@ -16,17 +16,16 @@ config = {
     #########################################################################
 
 
     #########################################################################
     ###### 64 bit specific ######
     'base_name': 'Linux_x86-64_%(branch)s_Static_Analysis',
     'platform': 'linux64',
     'stage_platform': 'linux64-st-an',
-    'publish_nightly_en_US_routes': False,
     'env': {
         'MOZBUILD_STATE_PATH': os.path.join(os.getcwd(), '.mozbuild'),
         'DISPLAY': ':2',
         'HG_SHARE_BASE_DIR': '/builds/hg-shared',
         'MOZ_OBJDIR': '%(abs_obj_dir)s',
         'TINDERBOX_OUTPUT': '1',
         'TOOLTOOL_CACHE': '/builds/worker/tooltool-cache',
         'TOOLTOOL_HOME': '/builds',
--- a/testing/mozharness/configs/builds/releng_sub_linux_configs/64_valgrind.py
+++ b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_valgrind.py
@@ -4,17 +4,16 @@ config = {
     'default_actions': [
         'clobber',
         'build',
         'check-test',
         'valgrind-test',
         #'update',
     ],
     'stage_platform': 'linux64-valgrind',
-    'publish_nightly_en_US_routes': False,
     'build_type': 'valgrind',
     'platform_supports_post_upload_to_latest': False,
     'enable_signing': False,
     'perfherder_extra_options': ['valgrind'],
     #### 64 bit build specific #####
     'env': {
         'MOZBUILD_STATE_PATH': os.path.join(os.getcwd(), '.mozbuild'),
         'DISPLAY': ':2',
--- a/testing/mozharness/configs/builds/releng_sub_mac_configs/64_add-on-devel.py
+++ b/testing/mozharness/configs/builds/releng_sub_mac_configs/64_add-on-devel.py
@@ -3,17 +3,16 @@ import os
 config = {
     'default_actions': [
         'clobber',
         'build',
         'check-test',
 #        'update',
     ],
     'stage_platform': 'macosx64-add-on-devel',
-    'publish_nightly_en_US_routes': False,
     'build_type': 'add-on-devel',
     'platform_supports_post_upload_to_latest': False,
     'enable_signing': False,
     #### 64 bit build specific #####
     'env': {
         'MOZBUILD_STATE_PATH': os.path.join(os.getcwd(), '.mozbuild'),
         'HG_SHARE_BASE_DIR': '/builds/hg-shared',
         'MOZ_OBJDIR': '%(abs_obj_dir)s',
--- a/testing/mozharness/configs/builds/releng_sub_mac_configs/64_artifact.py
+++ b/testing/mozharness/configs/builds/releng_sub_mac_configs/64_artifact.py
@@ -19,17 +19,16 @@ config = {
     #########################################################################
 
 
     #########################################################################
     ###### 64 bit specific ######
     'base_name': 'OS X 10.7 %(branch)s_Artifact_build',
     'platform': 'macosx64',
     'stage_platform': 'macosx64',
-    'publish_nightly_en_US_routes': False,
     'env': {
         'MOZBUILD_STATE_PATH': os.path.join(os.getcwd(), '.mozbuild'),
         'HG_SHARE_BASE_DIR': '/builds/hg-shared',
         'MOZ_OBJDIR': '%(abs_obj_dir)s',
         'CHOWN_ROOT': '~/bin/chown_root',
         'CHOWN_REVERT': '~/bin/chown_revert',
         'TINDERBOX_OUTPUT': '1',
         'TOOLTOOL_CACHE': '/builds/tooltool_cache',
--- a/testing/mozharness/configs/builds/releng_sub_mac_configs/64_debug_artifact.py
+++ b/testing/mozharness/configs/builds/releng_sub_mac_configs/64_debug_artifact.py
@@ -20,17 +20,16 @@ config = {
     #########################################################################
 
 
     #########################################################################
     ###### 64 bit specific ######
     'base_name': 'OS X 10.7 %(branch)s_Artifact_build',
     'platform': 'macosx64',
     'stage_platform': 'macosx64-debug',
-    'publish_nightly_en_US_routes': False,
     'env': {
         'MOZBUILD_STATE_PATH': os.path.join(os.getcwd(), '.mozbuild'),
         'HG_SHARE_BASE_DIR': '/builds/hg-shared',
         'MOZ_OBJDIR': '%(abs_obj_dir)s',
         'TINDERBOX_OUTPUT': '1',
         'TOOLTOOL_CACHE': '/builds/tooltool_cache',
         'TOOLTOOL_HOME': '/builds',
         'MOZ_CRASHREPORTER_NO_REPORT': '1',
--- a/testing/mozharness/configs/builds/taskcluster_base_windows.py
+++ b/testing/mozharness/configs/builds/taskcluster_base_windows.py
@@ -7,17 +7,16 @@ config = {
     ],
     'app_ini_path': '%(obj_dir)s/dist/bin/application.ini',
     # decides whether we want to use moz_sign_cmd in env
     'enable_signing': True,
     'vcs_share_base': os.path.join('y:', os.sep, 'hg-shared'),
     'enable_count_ctors': False,
     'max_build_output_timeout': 60 * 80,
 
-    'publish_nightly_en_US_routes': True,
     'env': {
         'HG_SHARE_BASE_DIR': os.path.join('y:', os.sep, 'hg-shared'),
         'MOZBUILD_STATE_PATH': os.path.join(os.getcwd(), '.mozbuild'),
         'MOZ_CRASHREPORTER_NO_REPORT': '1',
         'MOZ_OBJDIR': '%(abs_obj_dir)s',
         'TINDERBOX_OUTPUT': '1',
         'TOOLTOOL_CACHE': 'c:/builds/tooltool_cache',
         'TOOLTOOL_HOME': '/c/builds',
--- a/testing/mozharness/configs/builds/taskcluster_sub_win32/addondevel.py
+++ b/testing/mozharness/configs/builds/taskcluster_sub_win32/addondevel.py
@@ -1,8 +1,7 @@
 config = {
     # decides whether we want to use moz_sign_cmd in en+
     'enable_signing': False,
     'base_name': 'WINNT 5.2 add-on-devel %(branch)s',
     'stage_platform': 'win32-add-on-devel',
-    'publish_nightly_en_US_routes': False,
     'mozconfig_variant': 'add-on-devel',
 }
--- a/testing/mozharness/configs/builds/taskcluster_sub_win64/addondevel.py
+++ b/testing/mozharness/configs/builds/taskcluster_sub_win64/addondevel.py
@@ -1,7 +1,6 @@
 config = {
     'enable_signing': False,
     'base_name': 'WINNT 6.1 x86-64 add-on-devel %(branch)s',
     'stage_platform': 'win64-add-on-devel',
-    'publish_nightly_en_US_routes': False,
     'mozconfig_variant': 'add-on-devel',
 }
deleted file mode 100644
--- a/testing/mozharness/configs/routes.json
+++ /dev/null
@@ -1,28 +0,0 @@
-{
-    "routes": [
-        "{index}.gecko.v2.{project}.revision.{head_rev}.{build_product}.{build_name}-{build_type}",
-        "{index}.gecko.v2.{project}.pushdate.{year}.{month}.{day}.{pushdate}.{build_product}.{build_name}-{build_type}",
-        "{index}.gecko.v2.{project}.pushlog-id.{pushid}.{build_product}.{build_name}-{build_type}",
-        "{index}.gecko.v2.{project}.latest.{build_product}.{build_name}-{build_type}"
-    ],
-    "nightly": [
-        "{index}.gecko.v2.{project}.nightly.{year}.{month}.{day}.revision.{head_rev}.{build_product}.{build_name}-{build_type}",
-        "{index}.gecko.v2.{project}.nightly.{year}.{month}.{day}.latest.{build_product}.{build_name}-{build_type}",
-        "{index}.gecko.v2.{project}.nightly.revision.{head_rev}.{build_product}.{build_name}-{build_type}",
-        "{index}.gecko.v2.{project}.nightly.latest.{build_product}.{build_name}-{build_type}"
-    ],
-    "l10n": [
-        "{index}.gecko.v2.{project}.revision.{head_rev}.{build_product}-l10n.{build_name}-{build_type}.{locale}",
-        "{index}.gecko.v2.{project}.pushdate.{year}.{month}.{day}.{pushdate}.{build_product}-l10n.{build_name}-{build_type}.{locale}",
-        "{index}.gecko.v2.{project}.latest.{build_product}-l10n.{build_name}-{build_type}.{locale}"
-    ],
-    "nightly-l10n": [
-        "{index}.gecko.v2.{project}.revision.{head_rev}.{build_product}-l10n.{build_name}-{build_type}.{locale}",
-        "{index}.gecko.v2.{project}.pushdate.{year}.{month}.{day}.{pushdate}.{build_product}-l10n.{build_name}-{build_type}.{locale}",
-        "{index}.gecko.v2.{project}.latest.{build_product}-l10n.{build_name}-{build_type}.{locale}",
-        "{index}.gecko.v2.{project}.nightly.{year}.{month}.{day}.revision.{head_rev}.{build_product}-l10n.{build_name}-{build_type}.{locale}",
-        "{index}.gecko.v2.{project}.nightly.{year}.{month}.{day}.latest.{build_product}-l10n.{build_name}-{build_type}.{locale}",
-        "{index}.gecko.v2.{project}.nightly.revision.{head_rev}.{build_product}-l10n.{build_name}-{build_type}.{locale}",
-        "{index}.gecko.v2.{project}.nightly.latest.{build_product}-l10n.{build_name}-{build_type}.{locale}"
-    ]
-}
--- a/testing/mozharness/configs/single_locale/dev-mozilla-beta.py
+++ b/testing/mozharness/configs/single_locale/dev-mozilla-beta.py
@@ -18,19 +18,9 @@ config = {
         "repo": "https://hg.mozilla.org/projects/jamun",
         "branch": "%(revision)s",
         "dest": "jamun",
         "clone_upstream_url": "https://hg.mozilla.org/projects/jamun",
     }],
     # purge options
     'is_automation': True,
     'purge_minsize': 12,
-    'default_actions': [
-        "clobber",
-        "pull",
-        "clone-locales",
-        "list-locales",
-        "setup",
-        "repack",
-        "taskcluster-upload",
-        "summary",
-    ],
 }
--- a/testing/mozharness/configs/single_locale/dev-mozilla-release.py
+++ b/testing/mozharness/configs/single_locale/dev-mozilla-release.py
@@ -18,19 +18,9 @@ config = {
         "repo": "https://hg.mozilla.org/projects/jamun",
         "branch": "%(revision)s",
         "dest": "jamun",
         "clone_upstream_url": "https://hg.mozilla.org/mozilla-unified",
     }],
     # purge options
     'purge_minsize': 12,
     'is_automation': True,
-    'default_actions': [
-        "clobber",
-        "pull",
-        "clone-locales",
-        "list-locales",
-        "setup",
-        "repack",
-        "taskcluster-upload",
-        "summary",
-    ],
 }
--- a/testing/mozharness/configs/single_locale/mozilla-beta.py
+++ b/testing/mozharness/configs/single_locale/mozilla-beta.py
@@ -23,19 +23,9 @@ config = {
         "repo": "https://hg.mozilla.org/releases/mozilla-beta",
         "revision": "%(revision)s",
         "dest": "mozilla-beta",
         "clone_upstream_url": "https://hg.mozilla.org/mozilla-unified",
     }],
     # purge options
     'purge_minsize': 12,
     'is_automation': True,
-    'default_actions': [
-        "clobber",
-        "pull",
-        "clone-locales",
-        "list-locales",
-        "setup",
-        "repack",
-        "taskcluster-upload",
-        "summary",
-    ],
 }
--- a/testing/mozharness/configs/single_locale/mozilla-beta_devedition.py
+++ b/testing/mozharness/configs/single_locale/mozilla-beta_devedition.py
@@ -18,19 +18,9 @@ config = {
         "repo": "https://hg.mozilla.org/releases/mozilla-beta",
         "revision": "%(revision)s",
         "dest": "mozilla-beta",
         "clone_upstream_url": "https://hg.mozilla.org/mozilla-unified",
     }],
     # purge options
     'purge_minsize': 12,
     'is_automation': True,
-    'default_actions': [
-        "clobber",
-        "pull",
-        "clone-locales",
-        "list-locales",
-        "setup",
-        "repack",
-        "taskcluster-upload",
-        "summary",
-    ],
 }
--- a/testing/mozharness/configs/single_locale/mozilla-esr52.py
+++ b/testing/mozharness/configs/single_locale/mozilla-esr52.py
@@ -23,19 +23,9 @@ config = {
         "repo": "https://hg.mozilla.org/releases/mozilla-esr52",
         "revision": "%(revision)s",
         "dest": "mozilla-esr52",
         "clone_upstream_url": "https://hg.mozilla.org/mozilla-unified",
     }],
     # purge options
     'purge_minsize': 12,
     'is_automation': True,
-    'default_actions': [
-        "clobber",
-        "pull",
-        "clone-locales",
-        "list-locales",
-        "setup",
-        "repack",
-        "taskcluster-upload",
-        "summary",
-    ],
 }
--- a/testing/mozharness/configs/single_locale/mozilla-release.py
+++ b/testing/mozharness/configs/single_locale/mozilla-release.py
@@ -23,19 +23,9 @@ config = {
         "repo": "https://hg.mozilla.org/releases/mozilla-release",
         "revision": "%(revision)s",
         "dest": "mozilla-release",
         "clone_upstream_url": "https://hg.mozilla.org/mozilla-unified",
     }],
     # purge options
     'purge_minsize': 12,
     'is_automation': True,
-    'default_actions': [
-        "clobber",
-        "pull",
-        "clone-locales",
-        "list-locales",
-        "setup",
-        "repack",
-        "taskcluster-upload",
-        "summary",
-    ],
 }
--- a/testing/mozharness/configs/single_locale/production.py
+++ b/testing/mozharness/configs/single_locale/production.py
@@ -5,10 +5,9 @@ config = {
         # ssh_key_dir is defined per platform: it is "~/.ssh" for every platform
         # except when mock is in use, in this case, ssh_key_dir is
         # /home/mock_mozilla/.ssh
         "UPLOAD_SSH_KEY": "%(ssh_key_dir)s/ffxbld_rsa",
         "UPLOAD_HOST": "upload.ffxbld.productdelivery.prod.mozaws.net",
         "POST_UPLOAD_CMD": "post_upload.py -b %(branch)s-l10n -p %(stage_product)s -i %(buildid)s --release-to-latest --release-to-dated",
         "UPLOAD_TO_TEMP": "1"
     },
-    'taskcluster_index': 'index',
 }
--- a/testing/mozharness/configs/single_locale/staging.py
+++ b/testing/mozharness/configs/single_locale/staging.py
@@ -5,13 +5,12 @@ config = {
         # ssh_key_dir is defined per platform: it is "~/.ssh" for every platform
         # except when mock is in use, in this case, ssh_key_dir is
         # /home/mock_mozilla/.ssh
         "UPLOAD_SSH_KEY": "%(ssh_key_dir)s/ffxbld_rsa",
         "UPLOAD_HOST": "upload.ffxbld.productdelivery.stage.mozaws.net",
         "POST_UPLOAD_CMD": "post_upload.py -b %(branch)s-l10n -p %(stage_product)s -i %(buildid)s --release-to-latest --release-to-dated %(post_upload_extra)s",
         "UPLOAD_TO_TEMP": "1"
     },
-    'taskcluster_index': 'index.garbage.staging',
     'post_upload_extra': ['--bucket-prefix', 'net-mozaws-stage-delivery',
                           '--url-prefix', 'http://ftp.stage.mozaws.net/',
                           ],
 }
--- a/testing/mozharness/configs/single_locale/win64_devedition.py
+++ b/testing/mozharness/configs/single_locale/win64_devedition.py
@@ -1,11 +1,10 @@
 config = {
     "platform": "win64",
-    "stage_product": "firefox",
     "app_name": "browser",
     "mozconfig_platform": "win64",
     "mozconfig_variant": "l10n-mozconfig-devedition",
     "ssh_key_dir": "~/.ssh",
     "objdir": "obj-firefox",
     "vcs_share_base": "c:/builds/hg-shared",
 
     # tooltool
--- a/testing/mozharness/mozharness/mozilla/buildbot.py
+++ b/testing/mozharness/mozharness/mozilla/buildbot.py
@@ -140,50 +140,16 @@ class BuildbotMixin(object):
                 self.log("dump_buildbot_properties: Can't dump non-list prop_list %s!" % str(prop_list), level=error_level)
                 return
             self.info("Writing buildbot properties %s to %s" % (str(prop_list), file_name))
         contents = ""
         for prop in prop_list:
             contents += "%s:%s\n" % (prop, self.buildbot_properties.get(prop, "None"))
         return self.write_to_file(file_name, contents)
 
-    def query_build_name(self):
-        build_name = self.config.get('platform')
-        if not build_name:
-            self.fatal('Must specify "platform" in the mozharness config for indexing')
-
-        return build_name
-
-    def query_build_type(self):
-        if self.config.get('build_type'):
-            build_type = self.config['build_type']
-        elif self.config.get('pgo_build'):
-            build_type = 'pgo'
-        elif self.config.get('debug_build', False):
-            build_type = 'debug'
-        else:
-            build_type = 'opt'
-        return build_type
-
-    def buildid_to_dict(self, buildid):
-        """Returns an dict with the year, month, day, hour, minute, and second
-           as keys, as parsed from the buildid"""
-        buildidDict = {}
-        try:
-            # strptime is no good here because it strips leading zeros
-            buildidDict['year'] = buildid[0:4]
-            buildidDict['month'] = buildid[4:6]
-            buildidDict['day'] = buildid[6:8]
-            buildidDict['hour'] = buildid[8:10]
-            buildidDict['minute'] = buildid[10:12]
-            buildidDict['second'] = buildid[12:14]
-        except:
-            self.fatal('Could not parse buildid into YYYYMMDDHHMMSS: %s' % buildid)
-        return buildidDict
-
     def query_who(self):
         """ looks for who triggered the build with a change.
 
         This is used for things like try builds where the upload dir is
         associated with who pushed to try. First it will look in self.config
         and failing that, will poll buildbot_config
         If nothing is found, it will default to returning "nobody@example.com"
         """
--- a/testing/mozharness/mozharness/mozilla/building/buildbase.py
+++ b/testing/mozharness/mozharness/mozilla/building/buildbase.py
@@ -14,17 +14,16 @@ import json
 
 import os
 import pprint
 import subprocess
 import time
 import uuid
 import copy
 import glob
-import shlex
 from itertools import chain
 
 # import the power of mozharness ;)
 import sys
 from datetime import datetime
 import re
 from mozharness.base.config import BaseConfig, parse_config_file, DEFAULT_CONFIG_PATH
 from mozharness.base.log import ERROR, OutputParser, FATAL
@@ -42,17 +41,16 @@ from mozharness.mozilla.buildbot import 
     TBPL_WORST_LEVEL_TUPLE,
 )
 from mozharness.mozilla.purge import PurgeMixin
 from mozharness.mozilla.secrets import SecretsMixin
 from mozharness.mozilla.signing import SigningMixin
 from mozharness.mozilla.testing.errors import TinderBoxPrintRe
 from mozharness.mozilla.testing.unittest import tbox_print_summary
 from mozharness.mozilla.updates.balrog import BalrogMixin
-from mozharness.mozilla.taskcluster_helper import Taskcluster
 from mozharness.base.python import (
     PerfherderResourceOptionsMixin,
     VirtualenvMixin,
 )
 
 AUTOMATION_EXIT_CODES = EXIT_STATUS_DICT.values()
 AUTOMATION_EXIT_CODES.sort()
 
@@ -1362,239 +1360,16 @@ or run without that action (ie: --no-{ac
                 # set the build to orange if not already worse
                 self.return_code = self.worst_level(
                     EXIT_STATUS_DICT[TBPL_WARNING], self.return_code,
                     AUTOMATION_EXIT_CODES[::-1]
                 )
 
         self.generated_build_props = True
 
-    def _initialize_taskcluster(self):
-        if self.client_id and self.access_token:
-            # Already initialized
-            return
-
-        dirs = self.query_abs_dirs()
-        auth = os.path.join(os.getcwd(), self.config['taskcluster_credentials_file'])
-        credentials = {}
-        execfile(auth, credentials)
-        self.client_id = credentials.get('taskcluster_clientId')
-        self.access_token = credentials.get('taskcluster_accessToken')
-
-        # We need to create & activate the virtualenv so that we can import
-        # 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'],
-                                   '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.')
-            return
-
-        dirs = self.query_abs_dirs()
-        repo = self._query_repo()
-        revision = self.query_revision()
-        pushinfo = self.vcs_query_pushinfo(repo, revision)
-        pushdate = time.strftime('%Y%m%d%H%M%S', time.gmtime(pushinfo.pushdate))
-
-        index = self.config.get('taskcluster_index', 'index.garbage.staging')
-        fmt = {
-            'index': index,
-            'project': self.buildbot_config['properties']['branch'],
-            'head_rev': revision,
-            'pushdate': pushdate,
-            'pushid': pushinfo.pushid,
-            'year': pushdate[0:4],
-            'month': pushdate[4:6],
-            'day': pushdate[6:8],
-            'build_product': self.config['stage_product'],
-            'build_name': self.query_build_name(),
-            'build_type': self.query_build_type(),
-            'locale': locale,
-        }
-        fmt.update(self.buildid_to_dict(self.query_buildid()))
-        routes = []
-        for template in templates:
-            routes.append(template.format(**fmt))
-        self.info("Using routes: %s" % routes)
-
-        taskid = self.buildbot_config['properties'].get('upload_to_task_id')
-        tc = Taskcluster(
-            branch=self.branch,
-            rank=pushinfo.pushdate, # Use pushdate as the rank
-            client_id=self.client_id,
-            access_token=self.access_token,
-            log_obj=self.log_obj,
-            # `upload_to_task_id` is used by mozci to have access to where the artifacts
-            # will be uploaded
-            task_id=taskid,
-        )
-
-        if taskid:
-            task = tc.get_task(taskid)
-        else:
-            task = tc.create_task(routes)
-        tc.claim_task(task)
-
-        # Only those files uploaded with valid extensions are processed.
-        # This ensures that we get the correct packageUrl from the list.
-        valid_extensions = (
-            '.apk',
-            '.dmg',
-            '.mar',
-            '.rpm',
-            '.tar.bz2',
-            '.tar.gz',
-            '.zip',
-            '.json',
-        )
-
-        for upload_file in files:
-            # Create an S3 artifact for each file that gets uploaded. We also
-            # check the uploaded file against the property conditions so that we
-            # can set the buildbot config with the correct URLs for package
-            # locations.
-            tc.create_artifact(task, upload_file)
-            if upload_file.endswith(valid_extensions):
-                for prop, condition in property_conditions:
-                    if condition(upload_file):
-                        self.set_buildbot_property(prop, tc.get_taskcluster_url(upload_file))
-                        break
-
-        # Upload a file with all Buildbot properties
-        # This is necessary for Buildbot Bridge test jobs work properly
-        # until we can migrate to TaskCluster
-        properties_path = os.path.join(
-            dirs['base_work_dir'],
-            'buildbot_properties.json'
-        )
-        self._generate_properties_file(properties_path)
-        tc.create_artifact(task, properties_path)
-
-        tc.report_completed(task)
-
-    def upload_files(self):
-        self._initialize_taskcluster()
-        dirs = self.query_abs_dirs()
-
-        if self.query_is_nightly():
-            templates = self.routes_json['nightly']
-
-            # Nightly builds with l10n counterparts also publish to the
-            # 'en-US' locale.
-            if self.config.get('publish_nightly_en_US_routes'):
-                templates.extend(self.routes_json['l10n'])
-        else:
-            templates = self.routes_json['routes']
-
-        # Some trees may not be setting uploadFiles, so default to []. Normally
-        # we'd only expect to get here if the build completes successfully,
-        # which means we should have uploadFiles.
-        files = self.query_buildbot_property('uploadFiles') or []
-        if not files:
-            self.warning('No files from the build system to upload to S3: uploadFiles property is missing or empty.')
-
-        packageName = self.query_buildbot_property('packageFilename')
-        self.info('packageFilename is: %s' % packageName)
-
-        if self.config.get('use_package_as_marfile'):
-            self.info('Using packageUrl for the MAR file')
-            self.set_buildbot_property('completeMarUrl',
-                                       self.query_buildbot_property('packageUrl'),
-                                       write_to_file=True)
-
-            # Find the full path to the package in uploadFiles so we can
-            # get the size/hash of the mar
-            for upload_file in files:
-                if upload_file.endswith(packageName):
-                    self.set_buildbot_property('completeMarSize',
-                                               self.query_filesize(upload_file),
-                                               write_to_file=True)
-                    self.set_buildbot_property('completeMarHash',
-                                               self.query_sha512sum(upload_file),
-                                               write_to_file=True)
-                    break
-
-        property_conditions = [
-            # key: property name, value: condition
-            ('symbolsUrl', lambda m: m.endswith('crashreporter-symbols.zip') or
-                           m.endswith('crashreporter-symbols-full.zip')),
-            ('testsUrl', lambda m: m.endswith(('tests.tar.bz2', 'tests.zip'))),
-            ('robocopApkUrl', lambda m: m.endswith('apk') and 'robocop' in m),
-            ('jsshellUrl', lambda m: 'jsshell-' in m and m.endswith('.zip')),
-            # Temporarily use "TC" in MarUrl parameters. We don't want to
-            # override these to point to taskcluster just yet, and still
-            # need to use FTP. However, they can't be removed outright since
-            # that can affect packageUrl. See bug 1144985.
-            ('completeMarUrlTC', lambda m: m.endswith('.complete.mar')),
-            ('partialMarUrlTC', lambda m: m.endswith('.mar') and '.partial.' in m),
-            ('codeCoverageURL', lambda m: m.endswith('code-coverage-gcno.zip')),
-            ('sdkUrl', lambda m: m.endswith(('sdk.tar.bz2', 'sdk.zip'))),
-            ('testPackagesUrl', lambda m: m.endswith('test_packages.json')),
-            ('packageUrl', lambda m: m.endswith(packageName)),
-        ]
-
-        # Also upload our mozharness log files
-        files.extend([os.path.join(self.log_obj.abs_log_dir, x) for x in self.log_obj.log_files.values()])
-
-        # Also upload our buildprops.json file.
-        files.extend([os.path.join(dirs['base_work_dir'], 'buildprops.json')])
-
-        self._taskcluster_upload(files, templates,
-                                 property_conditions=property_conditions)
-
-    def _set_file_properties(self, file_name, find_dir, prop_type,
-                             error_level=ERROR):
-        c = self.config
-        dirs = self.query_abs_dirs()
-
-        # windows fix. even bash -c loses two single slashes.
-        find_dir = find_dir.replace('\\', '\\\\\\\\')
-
-        error_msg = "Not setting props: %s{Filename, Size, Hash}" % prop_type
-        cmd = ["bash", "-c",
-               "find %s -maxdepth 1 -type f -name %s" % (find_dir, file_name)]
-        file_path = self.get_output_from_command(cmd, dirs['abs_work_dir'])
-        if not file_path:
-            self.error(error_msg)
-            self.error("Can't determine filepath with cmd: %s" % (str(cmd),))
-            return
-
-        cmd = [
-            self.query_exe('openssl'), 'dgst',
-            '-%s' % (c.get("hash_type", "sha512"),), file_path
-        ]
-        hash_prop = self.get_output_from_command(cmd, dirs['abs_work_dir'])
-        if not hash_prop:
-            self.log("undetermined hash_prop with cmd: %s" % (str(cmd),),
-                     level=error_level)
-            self.log(error_msg, level=error_level)
-            return
-        self.set_buildbot_property(prop_type + 'Filename',
-                                   os.path.split(file_path)[1],
-                                   write_to_file=True)
-        self.set_buildbot_property(prop_type + 'Size',
-                                   os.path.getsize(file_path),
-                                   write_to_file=True)
-        self.set_buildbot_property(prop_type + 'Hash',
-                                   hash_prop.strip().split(' ', 2)[1],
-                                   write_to_file=True)
-
     def _create_mozbuild_dir(self, mozbuild_path=None):
         if not mozbuild_path:
             env = self.query_build_env()
             mozbuild_path = env.get('MOZBUILD_STATE_PATH')
         if mozbuild_path:
             self.mkdir_p(mozbuild_path)
         else:
             self.warning("mozbuild_path could not be determined. skipping "
@@ -1660,17 +1435,16 @@ or run without that action (ie: --no-{ac
 
         self.generate_build_props(console_output=True, halt_on_failure=True)
         self._generate_build_stats()
 
     def multi_l10n(self):
         if not self.query_is_nightly():
             self.info("Not a nightly build, skipping multi l10n.")
             return
-        self._initialize_taskcluster()
 
         dirs = self.query_abs_dirs()
         base_work_dir = dirs['base_work_dir']
         objdir = dirs['abs_obj_dir']
         branch = self.branch
 
         # Building a nightly with the try repository fails because a
         # config-file does not exist for try. Default to mozilla-central
@@ -1743,20 +1517,16 @@ or run without that action (ie: --no-{ac
             'make',
             'echo-variable-UPLOAD_FILES',
             'AB_CD=multi',
         ]
         output = self.get_output_from_command(
             upload_files_cmd,
             cwd=objdir,
         )
-        files = shlex.split(output)
-        abs_files = [os.path.abspath(os.path.join(objdir, f)) for f in files]
-        self._taskcluster_upload(abs_files, self.routes_json['l10n'],
-                                 locale='multi')
 
     def postflight_build(self):
         """grabs properties from post build and calls ccache -s"""
         # A list of argument lists.  Better names gratefully accepted!
         mach_commands = self.config.get('postflight_build_mach_commands', [])
         for mach_command in mach_commands:
             self._execute_postflight_build_mach_command(mach_command)
 
@@ -1912,30 +1682,25 @@ or run without that action (ie: --no-{ac
             'subtests': [],
         }
 
     def _get_package_metrics(self):
         import tarfile
         import zipfile
 
         dirs = self.query_abs_dirs()
-        packageName = self.query_buildbot_property('packageFilename')
 
-        # if packageName is not set because we are not running in Buildbot,
-        # then assume we are using MOZ_SIMPLE_PACKAGE_NAME, which means the
-        # package is named one of target.{tar.bz2,zip,dmg}.
-        if not packageName:
-            dist_dir = os.path.join(dirs['abs_obj_dir'], 'dist')
-            for ext in ['apk', 'dmg', 'tar.bz2', 'zip']:
-                name = 'target.' + ext
-                if os.path.exists(os.path.join(dist_dir, name)):
-                    packageName = name
-                    break
-            else:
-                self.fatal("could not determine packageName")
+        dist_dir = os.path.join(dirs['abs_obj_dir'], 'dist')
+        for ext in ['apk', 'dmg', 'tar.bz2', 'zip']:
+            name = 'target.' + ext
+            if os.path.exists(os.path.join(dist_dir, name)):
+                packageName = name
+                break
+        else:
+            self.fatal("could not determine packageName")
 
         interests = ['libxul.so', 'classes.dex', 'omni.ja']
         installer = os.path.join(dirs['abs_obj_dir'], 'dist', packageName)
         installer_size = 0
         size_measurements = []
 
         if os.path.exists(installer):
             installer_size = self.query_filesize(installer)
--- a/testing/mozharness/scripts/desktop_l10n.py
+++ b/testing/mozharness/scripts/desktop_l10n.py
@@ -7,17 +7,16 @@
 """desktop_l10n.py
 
 This script manages Desktop repacks for nightly builds.
 """
 import os
 import glob
 import re
 import sys
-import time
 import shlex
 import subprocess
 
 # load modules from parent dir
 sys.path.insert(1, os.path.dirname(sys.path[0]))
 
 from mozharness.base.errors import BaseErrorList, MakefileErrorList
 from mozharness.base.script import BaseScript
@@ -29,17 +28,16 @@ from mozharness.mozilla.building.buildba
     MakeUploadOutputParser,
     get_mozconfig_path,
 )
 from mozharness.mozilla.l10n.locales import LocalesMixin
 from mozharness.mozilla.mar import MarMixin
 from mozharness.mozilla.release import ReleaseMixin
 from mozharness.mozilla.signing import SigningMixin
 from mozharness.mozilla.updates.balrog import BalrogMixin
-from mozharness.mozilla.taskcluster_helper import Taskcluster
 from mozharness.base.python import VirtualenvMixin
 
 try:
     import simplejson as json
     assert json
 except ImportError:
     import json
 
@@ -193,21 +191,18 @@ class DesktopSingleLocale(LocalesMixin, 
                 "locales_dir": "browser/locales",
                 "buildid_section": "App",
                 "buildid_option": "BuildID",
                 "application_ini": "application.ini",
                 "log_name": "single_locale",
                 "clobber_file": 'CLOBBER',
                 "appName": "Firefox",
                 "hashType": "sha512",
-                "taskcluster_credentials_file": "oauth.txt",
                 'virtualenv_modules': [
                     'requests==2.8.1',
-                    'PyHawk-with-a-single-extra-commit==0.1.5',
-                    'taskcluster==0.0.26',
                 ],
                 'virtualenv_path': 'venv',
             },
         }
         #
 
         LocalesMixin.__init__(self)
         BaseScript.__init__(
@@ -1008,108 +1003,13 @@ class DesktopSingleLocale(LocalesMixin, 
         if cache:
             cmd.extend(['--cache-dir', cache])
         if toolchains:
             cmd.extend(toolchains.split())
         self.info(str(cmd))
         self.run_command(cmd, cwd=dirs['abs_mozilla_dir'], halt_on_failure=True,
                          env=env)
 
-    def taskcluster_upload(self):
-        auth = os.path.join(os.getcwd(), self.config['taskcluster_credentials_file'])
-        credentials = {}
-        execfile(auth, credentials)
-        client_id = credentials.get('taskcluster_clientId')
-        access_token = credentials.get('taskcluster_accessToken')
-        if not client_id or not access_token:
-            self.warning('Skipping S3 file upload: No taskcluster credentials.')
-            return
-
-        # We need to activate the virtualenv so that we can import 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()
-
-        branch = self.config['branch']
-        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'],
-                                   '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()
-        if "artifactsTaskId" in self.buildbot_config.get("properties", {}):
-            artifacts_task_id = self.buildbot_config["properties"]["artifactsTaskId"]
-            artifacts_tc = Taskcluster(
-                    branch=branch, rank=pushinfo.pushdate, client_id=client_id,
-                    access_token=access_token, log_obj=self.log_obj,
-                    task_id=artifacts_task_id)
-            artifacts_task = artifacts_tc.get_task(artifacts_task_id)
-            artifacts_tc.claim_task(artifacts_task)
-
-        for locale, files in self.upload_files.iteritems():
-            self.info("Uploading files to S3 for locale '%s': %s" % (locale, files))
-            routes = []
-            for template in templates:
-                fmt = {
-                    'index': self.config.get('taskcluster_index', 'index.garbage.staging'),
-                    'project': branch,
-                    'head_rev': revision,
-                    'pushdate': pushdate,
-                    'year': pushdate[0:4],
-                    'month': pushdate[4:6],
-                    'day': pushdate[6:8],
-                    'build_product': self.config['stage_product'],
-                    'build_name': self.query_build_name(),
-                    'build_type': self.query_build_type(),
-                    'locale': locale,
-                }
-                fmt.update(self.buildid_to_dict(self._query_buildid()))
-                routes.append(template.format(**fmt))
-
-            self.info('Using routes: %s' % routes)
-            tc = Taskcluster(branch,
-                             pushinfo.pushdate,  # Use pushdate as the rank
-                             client_id,
-                             access_token,
-                             self.log_obj,
-                             )
-            task = tc.create_task(routes)
-            tc.claim_task(task)
-
-            for upload_file in files:
-                # Create an S3 artifact for each file that gets uploaded. We also
-                # check the uploaded file against the property conditions so that we
-                # can set the buildbot config with the correct URLs for package
-                # locations.
-                artifact_url = tc.create_artifact(task, upload_file)
-                if artifacts_task:
-                    artifacts_tc.create_reference_artifact(
-                            artifacts_task, upload_file, artifact_url)
-
-            tc.report_completed(task)
-
-        if artifacts_task:
-            if not self.query_failed_locales():
-                artifacts_tc.report_completed(artifacts_task)
-            else:
-                # If some locales fail, we want to mark the artifacts
-                # task failed, so a retry can reuse the same task ID
-                artifacts_tc.report_failed(artifacts_task)
-
 
 # main {{{
 if __name__ == '__main__':
     single_locale = DesktopSingleLocale()
     single_locale.run_and_exit()
--- a/testing/mozharness/scripts/fx_desktop_build.py
+++ b/testing/mozharness/scripts/fx_desktop_build.py
@@ -46,17 +46,16 @@ class FxDesktopBuild(BuildScript, TryToo
             'config': {
                 'is_automation': True,
                 "pgo_build": False,
                 "debug_build": False,
                 "pgo_platforms": ['linux', 'linux64', 'win32', 'win64'],
                 # nightly stuff
                 "nightly_build": False,
                 'balrog_credentials_file': 'oauth.txt',
-                'taskcluster_credentials_file': 'oauth.txt',
                 'periodic_clobber': 168,
                 # hg tool stuff
                 "tools_repo": "https://hg.mozilla.org/build/tools",
                 # Seed all clones with mozilla-unified. This ensures subsequent
                 # jobs have a minimal `hg pull`.
                 "clone_upstream_url": "https://hg.mozilla.org/mozilla-unified",
                 "repo_base": "https://hg.mozilla.org",
                 'tooltool_url': 'https://tooltool.mozilla-releng.net/',
@@ -82,18 +81,16 @@ class FxDesktopBuild(BuildScript, TryToo
                 'release_to_try_builds': False,
                 'include_post_upload_builddir': False,
                 'use_clobberer': True,
 
                 'stage_username': 'ffxbld',
                 'stage_ssh_key': 'ffxbld_rsa',
                 'virtualenv_modules': [
                     'requests==2.8.1',
-                    'PyHawk-with-a-single-extra-commit==0.1.5',
-                    'taskcluster==0.0.26',
                 ],
                 'virtualenv_path': 'venv',
                 #
 
             },
             'ConfigClass': BuildingConfig,
         }
         super(FxDesktopBuild, self).__init__(**buildscript_kwargs)
--- a/testing/mozharness/scripts/mobile_l10n.py
+++ b/testing/mozharness/scripts/mobile_l10n.py
@@ -36,17 +36,16 @@ from mozharness.mozilla.release import R
 from mozharness.mozilla.signing import MobileSigningMixin
 from mozharness.mozilla.tooltool import TooltoolMixin
 from mozharness.base.vcs.vcsbase import MercurialScript
 from mozharness.mozilla.l10n.locales import LocalesMixin
 from mozharness.mozilla.mock import MockMixin
 from mozharness.mozilla.secrets import SecretsMixin
 from mozharness.mozilla.updates.balrog import BalrogMixin
 from mozharness.base.python import VirtualenvMixin
-from mozharness.mozilla.taskcluster_helper import Taskcluster
 
 
 # MobileSingleLocale {{{1
 class MobileSingleLocale(MockMixin, LocalesMixin, ReleaseMixin,
                          MobileSigningMixin, TransferMixin, TooltoolMixin,
                          BuildbotMixin, PurgeMixin, MercurialScript, BalrogMixin,
                          VirtualenvMixin, SecretsMixin):
     config_options = [[
@@ -139,26 +138,22 @@ class MobileSingleLocale(MockMixin, Loca
                 "pull",
                 "clone-locales",
                 "list-locales",
                 "setup",
                 "repack",
                 "validate-repacks-signed",
                 "upload-repacks",
                 "create-virtualenv",
-                "taskcluster-upload",
                 "submit-to-balrog",
                 "summary",
             ],
             'config': {
-                'taskcluster_credentials_file': 'oauth.txt',
                 'virtualenv_modules': [
                     'requests==2.8.1',
-                    'PyHawk-with-a-single-extra-commit==0.1.5',
-                    'taskcluster==0.0.26',
                 ],
                 'virtualenv_path': 'venv',
             },
         }
         LocalesMixin.__init__(self)
         MercurialScript.__init__(
             self,
             config_options=self.config_options,
@@ -570,84 +565,16 @@ class MobileSingleLocale(MockMixin, Loca
                 self.add_failure(locale, message="Errors verifying %s binary!" % locale)
                 # No need to rm because upload is per-locale
                 continue
             success_count += 1
         self.summarize_success_count(success_count, total_count,
                                      message="Validated signatures on %d of %d "
                                              "binaries successfully.")
 
-    def taskcluster_upload(self):
-        auth = os.path.join(os.getcwd(), self.config['taskcluster_credentials_file'])
-        credentials = {}
-        execfile(auth, credentials)
-        client_id = credentials.get('taskcluster_clientId')
-        access_token = credentials.get('taskcluster_accessToken')
-        if not client_id or not access_token:
-            self.warning('Skipping S3 file upload: No taskcluster credentials.')
-            return
-
-        self.activate_virtualenv()
-
-        dirs = self.query_abs_dirs()
-        locales = self.query_locales()
-        make = self.query_exe("make")
-        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'],
-                                   '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,
-                env=upload_env,
-            )
-            files = shlex.split(output)
-            abs_files = [os.path.abspath(os.path.join(cwd, f)) for f in files]
-
-            routes = []
-            fmt = {
-                'index': self.config.get('taskcluster_index', 'index.garbage.staging'),
-                'project': branch,
-                'head_rev': revision,
-                'pushdate': pushdate,
-                'year': pushdate[0:4],
-                'month': pushdate[4:6],
-                'day': pushdate[6:8],
-                'build_product': self.config['stage_product'],
-                'build_name': self.query_build_name(),
-                'build_type': self.query_build_type(),
-                'locale': locale,
-            }
-            for template in templates:
-                routes.append(template.format(**fmt))
-
-            self.info('Using routes: %s' % routes)
-            tc = Taskcluster(branch,
-                             pushinfo.pushdate,  # Use pushdate as the rank
-                             client_id,
-                             access_token,
-                             self.log_obj,
-                             )
-            task = tc.create_task(routes)
-            tc.claim_task(task)
-
-            for upload_file in abs_files:
-                tc.create_artifact(task, upload_file)
-            tc.report_completed(task)
-
     def upload_repacks(self):
         c = self.config
         dirs = self.query_abs_dirs()
         locales = self.query_locales()
         make = self.query_exe("make")
         base_package_name = self.query_base_package_name()
         version = self.query_version()
         upload_env = self.query_upload_env()