bug 1244781 - stop running purge_builds in mozharness. r=jlund
authorAki Sasaki <aki@escapewindow.com>
Tue, 02 Feb 2016 10:03:36 -0500
changeset 283345 f9649610cd9ce5d145a7de1e0a091381222ed570
parent 283344 3ba0bf1011206023969443c1c4a65dbb0a996f99
child 283346 4026ceb5a08324e451ca3177153abe46dcc6d683
push id71505
push userasasaki@mozilla.com
push dateSun, 07 Feb 2016 02:42:21 +0000
treeherdermozilla-inbound@64305a23963a [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersjlund
bugs1244781
milestone47.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 1244781 - stop running purge_builds in mozharness. r=jlund
testing/mozharness/configs/b2g/desktop_linux32.py
testing/mozharness/configs/b2g/desktop_macosx64.py
testing/mozharness/configs/b2g/desktop_windows32.py
testing/mozharness/configs/b2g/releng-emulator.py
testing/mozharness/configs/b2g/releng-fota-eng.py
testing/mozharness/configs/b2g/releng-fota-updates.py
testing/mozharness/configs/b2g/releng-otoro-eng.py
testing/mozharness/configs/b2g/releng-otoro.py
testing/mozharness/configs/b2g/releng-private-updates.py
testing/mozharness/configs/b2g/releng-try.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_mac_64_builds.py
testing/mozharness/configs/builds/releng_base_mac_64_cross_builds.py
testing/mozharness/configs/builds/releng_base_windows_32_builds.py
testing/mozharness/configs/builds/releng_base_windows_64_builds.py
testing/mozharness/configs/builds/releng_sub_linux_configs/32_debug.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_source.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_tsan.py
testing/mozharness/configs/builds/releng_sub_mac_configs/64_cross_debug.py
testing/mozharness/configs/builds/releng_sub_mac_configs/64_cross_opt.py
testing/mozharness/configs/builds/releng_sub_mac_configs/64_debug.py
testing/mozharness/configs/builds/releng_sub_mac_configs/64_mulet.py
testing/mozharness/configs/builds/releng_sub_mac_configs/64_stat_and_debug.py
testing/mozharness/configs/builds/releng_sub_windows_configs/32_debug.py
testing/mozharness/configs/builds/releng_sub_windows_configs/32_mulet.py
testing/mozharness/configs/builds/releng_sub_windows_configs/64_debug.py
testing/mozharness/configs/hazards/common.py
testing/mozharness/configs/single_locale/alder.py
testing/mozharness/configs/single_locale/ash.py
testing/mozharness/configs/single_locale/ash_android-api-15.py
testing/mozharness/configs/single_locale/ash_android-api-9.py
testing/mozharness/configs/single_locale/mozilla-aurora.py
testing/mozharness/configs/single_locale/mozilla-aurora_android-api-11.py
testing/mozharness/configs/single_locale/mozilla-aurora_android-api-15.py
testing/mozharness/configs/single_locale/mozilla-aurora_android-api-9.py
testing/mozharness/configs/single_locale/mozilla-aurora_android.py
testing/mozharness/configs/single_locale/mozilla-central.py
testing/mozharness/configs/single_locale/mozilla-central_android-api-11.py
testing/mozharness/configs/single_locale/mozilla-central_android-api-15.py
testing/mozharness/configs/single_locale/mozilla-central_android-api-9.py
testing/mozharness/configs/single_locale/mozilla-central_android.py
testing/mozharness/configs/single_locale/release_mozilla-beta_android.py
testing/mozharness/configs/single_locale/release_mozilla-beta_android_api_15.py
testing/mozharness/configs/single_locale/release_mozilla-beta_android_api_9.py
testing/mozharness/configs/single_locale/release_mozilla-release_android.py
testing/mozharness/configs/single_locale/release_mozilla-release_android_api_15.py
testing/mozharness/configs/single_locale/release_mozilla-release_android_api_9.py
testing/mozharness/configs/single_locale/staging_release_mozilla-beta_android.py
testing/mozharness/configs/single_locale/staging_release_mozilla-beta_android_api_15.py
testing/mozharness/configs/single_locale/staging_release_mozilla-beta_android_api_9.py
testing/mozharness/configs/single_locale/staging_release_mozilla-release_android.py
testing/mozharness/configs/single_locale/staging_release_mozilla-release_android_api_15.py
testing/mozharness/configs/single_locale/staging_release_mozilla-release_android_api_9.py
testing/mozharness/external_tools/purge_builds.py
testing/mozharness/mozharness/mozilla/purge.py
testing/mozharness/scripts/spidermonkey_build.py
--- a/testing/mozharness/configs/b2g/desktop_linux32.py
+++ b/testing/mozharness/configs/b2g/desktop_linux32.py
@@ -21,18 +21,16 @@ config = {
     "buildbot_json_path": "buildprops.json",
     'exes': {
         'hgtool.py': os.path.join(
             os.getcwd(), 'build', 'tools', 'buildfarm', 'utils', 'hgtool.py'
         ),
         "buildbot": "/tools/buildbot/bin/buildbot",
     },
     'app_ini_path': '%(obj_dir)s/dist/bin/application.ini',
-    'purge_skip': ['info', 'rel-*:10d', 'tb-rel-*:10d'],
-    'purge_basedirs':  ["/mock/users/cltbld/home/cltbld/build"],
     # mock shtuff
     'mock_mozilla_dir':  '/builds/mock_mozilla',
     'mock_target': 'mozilla-centos6-x86_64',
     'mock_files': [
         ('/home/cltbld/.ssh', '/home/mock_mozilla/.ssh'),
         ('/home/cltbld/.hgrc', '/builds/.hgrc'),
         ('/home/cltbld/.boto', '/builds/.boto'),
         ('/builds/gapi.data', '/builds/gapi.data'),
@@ -80,17 +78,16 @@ config = {
     },
     'upload_env': {
         # stage_server is dictated from build_pool_specifics.py
         'UPLOAD_HOST': '%(stage_server)s',
         'UPLOAD_USER': '%(stage_username)s',
         'UPLOAD_SSH_KEY': '/home/mock_mozilla/.ssh/%(stage_ssh_key)s',
         'UPLOAD_TO_TEMP': '1',
     },
-    'purge_minsize': 14,
     'mock_packages': [
         'autoconf213', 'python', 'mozilla-python27', 'zip', 'mozilla-python27-mercurial',
         'git', 'ccache', 'perl-Test-Simple', 'perl-Config-General',
         'yasm', 'wget',
         'mpfr',  # required for system compiler
         'xorg-x11-font*',  # fonts required for PGO
         'imake',  # required for makedepend!?!
         ### <-- from releng repo
--- a/testing/mozharness/configs/b2g/desktop_macosx64.py
+++ b/testing/mozharness/configs/b2g/desktop_macosx64.py
@@ -18,18 +18,16 @@ config = {
     'exes': {
         'python2.7': sys.executable,
         'hgtool.py': os.path.join(
             os.getcwd(), 'build', 'tools', 'buildfarm', 'utils', 'hgtool.py'
         ),
         "buildbot": "/tools/buildbot/bin/buildbot",
     },
     'app_ini_path': '%(obj_dir)s/dist/bin/application.ini',
-    'purge_skip': ['info', 'rel-*:10d', 'tb-rel-*:10d'],
-    'purge_basedirs':  [],
     'enable_ccache': True,
     'vcs_share_base': '/builds/hg-shared',
     'objdir': 'obj-firefox',
     'tooltool_script': ["/builds/tooltool.py"],
     'tooltool_bootstrap': "setup.sh",
     'enable_talos_sendchange': False,
     'enable_unittest_sendchange': False,
     #########################################################################
@@ -67,13 +65,12 @@ config = {
         'UPLOAD_USER': '%(stage_username)s',
         'UPLOAD_SSH_KEY': '/Users/cltbld/.ssh/%(stage_ssh_key)s',
         'UPLOAD_TO_TEMP': '1',
     },
     "check_test_env": {
         'MINIDUMP_STACKWALK': '%(abs_tools_dir)s/breakpad/osx64/minidump_stackwalk',
         'MINIDUMP_SAVE_PATH': '%(base_work_dir)s/minidumps',
     },
-    'purge_minsize': 12,
     'src_mozconfig': 'b2g/config/mozconfigs/macosx64_gecko/nightly',
     'tooltool_manifest_src': 'b2g/config/tooltool-manifests/macosx64/releng.manifest',
     #########################################################################
 }
--- a/testing/mozharness/configs/b2g/desktop_windows32.py
+++ b/testing/mozharness/configs/b2g/desktop_windows32.py
@@ -44,18 +44,16 @@ config = {
             )
         ],
         'virtualenv': [
             sys.executable,
             'c:/mozilla-build/buildbotve/virtualenv.py'
         ],
     },
     'app_ini_path': '%(obj_dir)s/dist/bin/application.ini',
-    'purge_skip': ['info', 'rel-*:10d', 'tb-rel-*:10d'],
-    'purge_basedirs':  [],
     'enable_ccache': False,
     'vcs_share_base': 'C:\\builds\\hg-shared',
     'objdir': 'obj-firefox',
     'tooltool_script': [sys.executable,
                         'C:/mozilla-build/tooltool.py'],
     'tooltool_bootstrap': "setup.sh",
     'enable_talos_sendchange': False,
     'enable_unittest_sendchange': False,
@@ -89,13 +87,12 @@ config = {
         'UPLOAD_SSH_KEY': '/c/Users/cltbld/.ssh/%(stage_ssh_key)s',
         'UPLOAD_TO_TEMP': '1',
     },
     "check_test_env": {
         'MINIDUMP_STACKWALK': '%(abs_tools_dir)s/breakpad/win32/minidump_stackwalk.exe',
         'MINIDUMP_SAVE_PATH': '%(base_work_dir)s/minidumps',
     },
     'enable_pymake': True,
-    'purge_minsize': 12,
     'src_mozconfig': 'b2g/config/mozconfigs/win32_gecko/nightly',
     'tooltool_manifest_src': "b2g/config/tooltool-manifests/win32/releng.manifest",
     #########################################################################
 }
--- a/testing/mozharness/configs/b2g/releng-emulator.py
+++ b/testing/mozharness/configs/b2g/releng-emulator.py
@@ -65,17 +65,16 @@ config = {
         "SYMBOL_SERVER_HOST": "symbolpush.mozilla.org",
         "SYMBOL_SERVER_USER": "b2gbld",
         "SYMBOL_SERVER_SSH_KEY": "/home/mock_mozilla/.ssh/b2gbld_dsa",
         "SYMBOL_SERVER_PATH": "/mnt/netapp/breakpad/symbols_b2g/",
         "POST_SYMBOL_UPLOAD_CMD": "/usr/local/bin/post-symbol-upload.py",
         "WGET_OPTS": "-c -q",
         "PATH": "/tools/python27/bin:%(PATH)s",
     },
-    "purge_minsize": 20,
     "clobberer_url": "https://api.pub.build.mozilla.org/clobberer/lastclobber",
     "is_automation": True,
     "repo_mirror_dir": "/builds/git-shared/repo",
     "repo_remote_mappings": {
         'https://android.googlesource.com/': 'https://git.mozilla.org/external/aosp',
         'git://codeaurora.org/': 'https://git.mozilla.org/external/caf',
         'https://git.mozilla.org/b2g': 'https://git.mozilla.org/b2g',
         'git://github.com/mozilla-b2g/': 'https://git.mozilla.org/b2g',
--- a/testing/mozharness/configs/b2g/releng-fota-eng.py
+++ b/testing/mozharness/configs/b2g/releng-fota-eng.py
@@ -68,17 +68,16 @@ config = {
         "SYMBOL_SERVER_PATH": "/mnt/netapp/breakpad/symbols_b2g/",
         "POST_SYMBOL_UPLOAD_CMD": "/usr/local/bin/post-symbol-upload.py",
         "B2G_UPDATER": "1",
         "B2G_SYSTEM_APPS": "1",
         "WGET_OPTS": "-c -q",
         "PATH": "/tools/python27/bin:%(PATH)s",
         "B2G_UPDATE_CHANNEL": "default",
     },
-    "purge_minsize": 15,
     "clobberer_url": "https://api.pub.build.mozilla.org/clobberer/lastclobber",
     "is_automation": True,
     "variant": "eng",
     "target_suffix": "-eng",
     "update_type": "fota",
     "repo_mirror_dir": "/builds/git-shared/repo",
     "repo_remote_mappings": {
         'https://android.googlesource.com/': 'https://git.mozilla.org/external/aosp',
--- a/testing/mozharness/configs/b2g/releng-fota-updates.py
+++ b/testing/mozharness/configs/b2g/releng-fota-updates.py
@@ -64,17 +64,16 @@ config = {
         "SYMBOL_SERVER_HOST": "symbolpush.mozilla.org",
         "SYMBOL_SERVER_USER": "b2gbld",
         "SYMBOL_SERVER_SSH_KEY": "/home/mock_mozilla/.ssh/b2gbld_dsa",
         "SYMBOL_SERVER_PATH": "/mnt/netapp/breakpad/symbols_b2g/",
         "POST_SYMBOL_UPLOAD_CMD": "/usr/local/bin/post-symbol-upload.py",
         "WGET_OPTS": "-c -q",
         "PATH": "/tools/python27/bin:%(PATH)s",
     },
-    "purge_minsize": 15,
     "clobberer_url": "https://api.pub.build.mozilla.org/clobberer/lastclobber",
     "is_automation": True,
     "repo_mirror_dir": "/builds/git-shared/repo",
     "repo_remote_mappings": {
         'https://android.googlesource.com/': 'https://git.mozilla.org/external/aosp',
         'git://codeaurora.org/': 'https://git.mozilla.org/external/caf',
         'https://git.mozilla.org/b2g': 'https://git.mozilla.org/b2g',
         'git://github.com/mozilla-b2g/': 'https://git.mozilla.org/b2g',
--- a/testing/mozharness/configs/b2g/releng-otoro-eng.py
+++ b/testing/mozharness/configs/b2g/releng-otoro-eng.py
@@ -68,17 +68,16 @@ config = {
         "SYMBOL_SERVER_PATH": "/mnt/netapp/breakpad/symbols_b2g/",
         "POST_SYMBOL_UPLOAD_CMD": "/usr/local/bin/post-symbol-upload.py",
         "B2G_UPDATER": "1",
         "B2G_SYSTEM_APPS": "1",
         "WGET_OPTS": "-c -q",
         "PATH": "/tools/python27/bin:%(PATH)s",
         "B2G_UPDATE_CHANNEL": "default",
     },
-    "purge_minsize": 15,
     "clobberer_url": "https://api.pub.build.mozilla.org/clobberer/lastclobber",
     "is_automation": True,
     "variant": "eng",
     "target_suffix": "-eng",
     "repo_mirror_dir": "/builds/git-shared/repo",
     "repo_remote_mappings": {
         'https://android.googlesource.com/': 'https://git.mozilla.org/external/aosp',
         'git://codeaurora.org/': 'https://git.mozilla.org/external/caf',
--- a/testing/mozharness/configs/b2g/releng-otoro.py
+++ b/testing/mozharness/configs/b2g/releng-otoro.py
@@ -63,17 +63,16 @@ config = {
         "SYMBOL_SERVER_HOST": "symbolpush.mozilla.org",
         "SYMBOL_SERVER_USER": "b2gbld",
         "SYMBOL_SERVER_SSH_KEY": "/home/mock_mozilla/.ssh/b2gbld_dsa",
         "SYMBOL_SERVER_PATH": "/mnt/netapp/breakpad/symbols_b2g/",
         "POST_SYMBOL_UPLOAD_CMD": "/usr/local/bin/post-symbol-upload.py",
         "WGET_OPTS": "-c -q",
         "PATH": "/tools/python27/bin:%(PATH)s",
     },
-    "purge_minsize": 15,
     "clobberer_url": "https://api.pub.build.mozilla.org/clobberer/lastclobber",
     "is_automation": True,
     "repo_mirror_dir": "/builds/git-shared/repo",
     "repo_remote_mappings": {
         'https://android.googlesource.com/': 'https://git.mozilla.org/external/aosp',
         'git://codeaurora.org/': 'https://git.mozilla.org/external/caf',
         'https://git.mozilla.org/b2g': 'https://git.mozilla.org/b2g',
         'git://github.com/mozilla-b2g/': 'https://git.mozilla.org/b2g',
--- a/testing/mozharness/configs/b2g/releng-private-updates.py
+++ b/testing/mozharness/configs/b2g/releng-private-updates.py
@@ -64,17 +64,16 @@ config = {
         "SYMBOL_SERVER_HOST": "symbolpush.mozilla.org",
         "SYMBOL_SERVER_USER": "b2gbld",
         "SYMBOL_SERVER_SSH_KEY": "/home/mock_mozilla/.ssh/b2gbld_dsa",
         "SYMBOL_SERVER_PATH": "/mnt/netapp/breakpad/symbols_b2g/",
         "POST_SYMBOL_UPLOAD_CMD": "/usr/local/bin/post-symbol-upload.py",
         "WGET_OPTS": "-c -q",
         "PATH": "/tools/python27/bin:%(PATH)s",
     },
-    "purge_minsize": 15,
     "clobberer_url": "https://api.pub.build.mozilla.org/clobberer/lastclobber",
     "is_automation": True,
     "repo_mirror_dir": "/builds/git-shared/repo",
     "repo_remote_mappings": {
         'https://android.googlesource.com/': 'https://git.mozilla.org/external/aosp',
         'git://codeaurora.org/': 'https://git.mozilla.org/external/caf',
         'https://git.mozilla.org/b2g': 'https://git.mozilla.org/b2g',
         'git://github.com/mozilla-b2g/': 'https://git.mozilla.org/b2g',
--- a/testing/mozharness/configs/b2g/releng-try.py
+++ b/testing/mozharness/configs/b2g/releng-try.py
@@ -32,17 +32,16 @@ config = {
     "env": {
         "CCACHE_DIR": "/builds/ccache",
         "CCACHE_COMPRESS": "1",
         "CCACHE_UMASK": "002",
         "GAIA_OPTIMIZE": "1",
         "WGET_OPTS": "-c -q",
         "PATH": "/tools/python27/bin:%(PATH)s",
     },
-    "purge_minsize": 20,
     #"clobberer_url": "https://api-pub-build.allizom.org/clobberer/lastclobber",
     #"clobberer_url": "https://api.pub.build.mozilla.org/clobberer/lastclobber",
     "is_automation": True,
     "force_clobber": True,
     "repo_mirror_dir": "/builds/git-shared/repo",
     "repo_remote_mappings": {
         'https://android.googlesource.com/': 'https://git.mozilla.org/external/aosp',
         'git://codeaurora.org/': 'https://git.mozilla.org/external/caf',
--- a/testing/mozharness/configs/builds/build_pool_specifics.py
+++ b/testing/mozharness/configs/builds/build_pool_specifics.py
@@ -1,15 +1,15 @@
 # this is a dict of pool specific keys/values. As this fills up and more
 # fx build factories are ported, we might deal with this differently
 
 config = {
     "staging": {
         # if not clobberer_url, only clobber 'abs_work_dir'
-        # if true: possibly clobber, clobberer, and purge_builds
+        # if true: possibly clobber, clobberer
         # 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',
         "hgtool_base_bundle_urls": [
@@ -18,17 +18,17 @@ config = {
         ],
         'symbol_server_host': "dev-stage01.srv.releng.scl3.mozilla.com",
         'stage_server': 'upload.ffxbld.productdelivery.stage.mozaws.net',
         "sendchange_masters": ["dev-master1.srv.releng.scl3.mozilla.com:9038"],
         'taskcluster_index': 'index.garbage.staging',
     },
     "production": {
         # if not clobberer_url, only clobber 'abs_work_dir'
-        # if true: possibly clobber, clobberer, and purge_builds
+        # 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',
         "hgtool_base_bundle_urls": [
             'https://ftp-ssl.mozilla.org/pub/mozilla.org/firefox/bundles'
         ],
         'symbol_server_host': "symbolpush.mozilla.org",
         # bug 1216907, set this at branch level
--- a/testing/mozharness/configs/builds/releng_base_android_64_builds.py
+++ b/testing/mozharness/configs/builds/releng_base_android_64_builds.py
@@ -20,18 +20,16 @@ config = {
         'hgtool.py': os.path.join(
             os.getcwd(), 'build', 'tools', 'buildfarm', 'utils', 'hgtool.py'
         ),
         "buildbot": "/tools/buildbot/bin/buildbot",
     },
     'app_ini_path': '%(obj_dir)s/dist/bin/application.ini',
     # decides whether we want to use moz_sign_cmd in env
     'enable_signing': True,
-    'purge_skip': ['info', 'rel-*:10d', 'tb-rel-*:10d'],
-    'purge_basedirs':  ["/mock/users/cltbld/home/cltbld/build"],
     # mock shtuff
     'mock_mozilla_dir':  '/builds/mock_mozilla',
     'mock_target': 'mozilla-centos6-x86_64-android',
     'mock_files': [
         ('/home/cltbld/.ssh', '/home/mock_mozilla/.ssh'),
         ('/home/cltbld/.hgrc', '/builds/.hgrc'),
         ('/home/cltbld/.boto', '/builds/.boto'),
         ('/builds/mozilla-api.key', '/builds/mozilla-api.key'),
@@ -88,17 +86,16 @@ config = {
         'UPLOAD_USER': '%(stage_username)s',
         'UPLOAD_SSH_KEY': '/home/mock_mozilla/.ssh/%(stage_ssh_key)s',
         'UPLOAD_TO_TEMP': '1',
     },
     "check_test_env": {
         'MINIDUMP_STACKWALK': '%(abs_tools_dir)s/breakpad/linux/minidump_stackwalk',
         'MINIDUMP_SAVE_PATH': '%(base_work_dir)s/minidumps',
     },
-    'purge_minsize': 12,
     'mock_packages': ['autoconf213', 'mozilla-python27-mercurial', 'yasm',
                       'ccache', 'zip', "gcc472_0moz1", "gcc473_0moz1",
                       'java-1.7.0-openjdk-devel', 'zlib-devel',
                       'glibc-static', 'openssh-clients', 'mpfr',
                       'wget', 'glibc.i686', 'libstdc++.i686',
                       'zlib.i686', 'freetype-2.3.11-6.el6_1.8.x86_64',
                       'ant', 'ant-apache-regexp'
                       ],
--- a/testing/mozharness/configs/builds/releng_base_linux_32_builds.py
+++ b/testing/mozharness/configs/builds/releng_base_linux_32_builds.py
@@ -25,18 +25,16 @@ config = {
         'hgtool.py': os.path.join(
             os.getcwd(), 'build', 'tools', 'buildfarm', 'utils', 'hgtool.py'
         ),
         "buildbot": "/tools/buildbot/bin/buildbot",
     },
     'app_ini_path': '%(obj_dir)s/dist/bin/application.ini',
     # decides whether we want to use moz_sign_cmd in env
     'enable_signing': True,
-    'purge_skip': ['info', 'rel-*:10d', 'tb-rel-*:10d'],
-    'purge_basedirs':  ["/mock/users/cltbld/home/cltbld/build"],
     # mock shtuff
     'mock_mozilla_dir':  '/builds/mock_mozilla',
     'mock_target': 'mozilla-centos6-x86_64',
     'mock_files': [
         ('/home/cltbld/.ssh', '/home/mock_mozilla/.ssh'),
         ('/home/cltbld/.hgrc', '/builds/.hgrc'),
         ('/home/cltbld/.boto', '/builds/.boto'),
         ('/builds/gapi.data', '/builds/gapi.data'),
@@ -96,17 +94,16 @@ config = {
         'UPLOAD_USER': '%(stage_username)s',
         'UPLOAD_SSH_KEY': '/home/mock_mozilla/.ssh/%(stage_ssh_key)s',
         'UPLOAD_TO_TEMP': '1',
     },
     "check_test_env": {
         'MINIDUMP_STACKWALK': '%(abs_tools_dir)s/breakpad/linux/minidump_stackwalk',
         'MINIDUMP_SAVE_PATH': '%(base_work_dir)s/minidumps',
     },
-    'purge_minsize': 12,
     'mock_packages': [
         'autoconf213', 'python', 'mozilla-python27', 'zip', 'mozilla-python27-mercurial',
         'git', 'ccache', 'perl-Test-Simple', 'perl-Config-General',
         'yasm', 'wget',
         'mpfr',  # required for system compiler
         'xorg-x11-font*',  # fonts required for PGO
         'imake',  # required for makedepend!?!
         ### <-- from releng repo
--- a/testing/mozharness/configs/builds/releng_base_linux_64_builds.py
+++ b/testing/mozharness/configs/builds/releng_base_linux_64_builds.py
@@ -25,18 +25,16 @@ config = {
         'hgtool.py': os.path.join(
             os.getcwd(), 'build', 'tools', 'buildfarm', 'utils', 'hgtool.py'
         ),
         "buildbot": "/tools/buildbot/bin/buildbot",
     },
     'app_ini_path': '%(obj_dir)s/dist/bin/application.ini',
     # decides whether we want to use moz_sign_cmd in env
     'enable_signing': True,
-    'purge_skip': ['info', 'rel-*:10d', 'tb-rel-*:10d'],
-    'purge_basedirs':  ["/mock/users/cltbld/home/cltbld/build"],
     # mock shtuff
     'mock_mozilla_dir':  '/builds/mock_mozilla',
     'mock_target': 'mozilla-centos6-x86_64',
     'mock_files': [
         ('/home/cltbld/.ssh', '/home/mock_mozilla/.ssh'),
         ('/home/cltbld/.hgrc', '/builds/.hgrc'),
         ('/home/cltbld/.boto', '/builds/.boto'),
         ('/builds/gapi.data', '/builds/gapi.data'),
@@ -98,17 +96,16 @@ config = {
         'UPLOAD_USER': '%(stage_username)s',
         'UPLOAD_SSH_KEY': '/home/mock_mozilla/.ssh/%(stage_ssh_key)s',
         'UPLOAD_TO_TEMP': '1',
     },
     "check_test_env": {
         'MINIDUMP_STACKWALK': '%(abs_tools_dir)s/breakpad/linux64/minidump_stackwalk',
         'MINIDUMP_SAVE_PATH': '%(base_work_dir)s/minidumps',
     },
-    'purge_minsize': 14,
     'mock_packages': [
         'autoconf213', 'python', 'mozilla-python27', 'zip', 'mozilla-python27-mercurial',
         'git', 'ccache', 'perl-Test-Simple', 'perl-Config-General',
         'yasm', 'wget',
         'mpfr',  # required for system compiler
         'xorg-x11-font*',  # fonts required for PGO
         'imake',  # required for makedepend!?!
         ### <-- from releng repo
--- a/testing/mozharness/configs/builds/releng_base_mac_64_builds.py
+++ b/testing/mozharness/configs/builds/releng_base_mac_64_builds.py
@@ -23,18 +23,16 @@ config = {
         'hgtool.py': os.path.join(
             os.getcwd(), 'build', 'tools', 'buildfarm', 'utils', 'hgtool.py'
         ),
         "buildbot": "/tools/buildbot/bin/buildbot",
     },
     'app_ini_path': '%(obj_dir)s/dist/bin/application.ini',
     # decides whether we want to use moz_sign_cmd in env
     'enable_signing': True,
-    'purge_skip': ['info', 'rel-*:10d', 'tb-rel-*:10d'],
-    'purge_basedirs':  [],
     'enable_ccache': True,
     'vcs_share_base': '/builds/hg-shared',
     'objdir': 'obj-firefox/x86_64',
     'tooltool_script': ["/builds/tooltool.py"],
     'tooltool_bootstrap': "setup.sh",
     'enable_count_ctors': False,
     'enable_talos_sendchange': True,
     'enable_unittest_sendchange': True,
@@ -80,13 +78,12 @@ config = {
         'UPLOAD_USER': '%(stage_username)s',
         'UPLOAD_SSH_KEY': '/Users/cltbld/.ssh/%(stage_ssh_key)s',
         'UPLOAD_TO_TEMP': '1',
     },
     "check_test_env": {
         'MINIDUMP_STACKWALK': '%(abs_tools_dir)s/breakpad/osx64/minidump_stackwalk',
         'MINIDUMP_SAVE_PATH': '%(base_work_dir)s/minidumps',
     },
-    'purge_minsize': 12,
     'src_mozconfig': 'browser/config/mozconfigs/macosx-universal/nightly',
     'tooltool_manifest_src': 'browser/config/tooltool-manifests/macosx64/releng.manifest',
     #########################################################################
 }
--- a/testing/mozharness/configs/builds/releng_base_mac_64_cross_builds.py
+++ b/testing/mozharness/configs/builds/releng_base_mac_64_cross_builds.py
@@ -19,18 +19,16 @@ config = {
         'hgtool.py': os.path.join(
             os.getcwd(), 'build', 'tools', 'buildfarm', 'utils', 'hgtool.py'
         ),
         "buildbot": "/tools/buildbot/bin/buildbot",
     },
     'app_ini_path': '%(obj_dir)s/dist/bin/application.ini',
     # decides whether we want to use moz_sign_cmd in env
     'enable_signing': True,
-    'purge_skip': ['info', 'rel-*:10d', 'tb-rel-*:10d'],
-    'purge_basedirs':  [],
     'enable_ccache': True,
     'enable_check_test': False,
     'vcs_share_base': '/builds/hg-shared',
     'objdir': 'obj-firefox/',
     'tooltool_script': ["/builds/tooltool.py"],
     'tooltool_bootstrap': "setup.sh",
     'enable_count_ctors': False,
     'enable_talos_sendchange': True,
@@ -75,13 +73,12 @@ config = {
         'UPLOAD_USER': '%(stage_username)s',
         'UPLOAD_SSH_KEY': '/Users/cltbld/.ssh/%(stage_ssh_key)s',
         'UPLOAD_TO_TEMP': '1',
     },
     "check_test_env": {
         'MINIDUMP_STACKWALK': '%(abs_tools_dir)s/breakpad/linux64/minidump_stackwalk',
         'MINIDUMP_SAVE_PATH': '%(base_work_dir)s/minidumps',
     },
-    'purge_minsize': 12,
     'src_mozconfig': 'browser/config/mozconfigs/macosx64/nightly',
     'tooltool_manifest_src': 'browser/config/tooltool-manifests/macosx64/cross-releng.manifest',
     #########################################################################
 }
--- a/testing/mozharness/configs/builds/releng_base_windows_32_builds.py
+++ b/testing/mozharness/configs/builds/releng_base_windows_32_builds.py
@@ -43,18 +43,16 @@ config = {
         'virtualenv': [
             sys.executable,
             'c:/mozilla-build/buildbotve/virtualenv.py'
         ],
     },
     'app_ini_path': '%(obj_dir)s/dist/bin/application.ini',
     # decides whether we want to use moz_sign_cmd in env
     'enable_signing': True,
-    'purge_skip': ['info', 'rel-*:10d', 'tb-rel-*:10d'],
-    'purge_basedirs':  [],
     'enable_ccache': False,
     'vcs_share_base': 'C:/builds/hg-shared',
     'objdir': 'obj-firefox',
     'tooltool_script': [sys.executable,
                         'C:/mozilla-build/tooltool.py'],
     'tooltool_bootstrap': "setup.sh",
     'enable_count_ctors': False,
     'enable_talos_sendchange': True,
@@ -96,13 +94,12 @@ config = {
         'UPLOAD_SSH_KEY': '/c/Users/cltbld/.ssh/%(stage_ssh_key)s',
         'UPLOAD_TO_TEMP': '1',
     },
     "check_test_env": {
         'MINIDUMP_STACKWALK': '%(abs_tools_dir)s/breakpad/win32/minidump_stackwalk.exe',
         'MINIDUMP_SAVE_PATH': '%(base_work_dir)s/minidumps',
     },
     'enable_pymake': True,
-    'purge_minsize': 12,
     'src_mozconfig': 'browser/config/mozconfigs/win32/nightly',
     'tooltool_manifest_src': "browser/config/tooltool-manifests/win32/releng.manifest",
     #########################################################################
 }
--- a/testing/mozharness/configs/builds/releng_base_windows_64_builds.py
+++ b/testing/mozharness/configs/builds/releng_base_windows_64_builds.py
@@ -43,18 +43,16 @@ config = {
         'virtualenv': [
             sys.executable,
             'c:/mozilla-build/buildbotve/virtualenv.py'
         ],
     },
     'app_ini_path': '%(obj_dir)s/dist/bin/application.ini',
     # decides whether we want to use moz_sign_cmd in env
     'enable_signing': True,
-    'purge_skip': ['info', 'rel-*:10d', 'tb-rel-*:10d'],
-    'purge_basedirs':  [],
     'enable_ccache': False,
     'vcs_share_base': 'C:/builds/hg-shared',
     'objdir': 'obj-firefox',
     'tooltool_script': [sys.executable,
                         'C:/mozilla-build/tooltool.py'],
     'tooltool_bootstrap': "setup.sh",
     'enable_count_ctors': False,
     'enable_talos_sendchange': True,
@@ -95,13 +93,12 @@ config = {
         'UPLOAD_SSH_KEY': '/c/Users/cltbld/.ssh/%(stage_ssh_key)s',
         'UPLOAD_TO_TEMP': '1',
     },
     "check_test_env": {
         'MINIDUMP_STACKWALK': '%(abs_tools_dir)s/breakpad/win64/minidump_stackwalk.exe',
         'MINIDUMP_SAVE_PATH': '%(base_work_dir)s/minidumps',
     },
     'enable_pymake': True,
-    'purge_minsize': 12,
     'src_mozconfig': 'browser/config/mozconfigs/win64/nightly',
     'tooltool_manifest_src': "browser/config/tooltool-manifests/win64/releng.manifest",
     #########################################################################
 }
--- a/testing/mozharness/configs/builds/releng_sub_linux_configs/32_debug.py
+++ b/testing/mozharness/configs/builds/releng_sub_linux_configs/32_debug.py
@@ -12,17 +12,16 @@ config = {
         'upload-files',
         'sendchange',
         'check-test',
         # 'generate-build-stats',
         'update',  # decided by query_is_nightly()
     ],
     'debug_build': True,
     'stage_platform': 'linux-debug',
-    'purge_minsize': 15,
     'enable_signing': False,
     'enable_talos_sendchange': False,
     #### 32 bit build specific #####
     'env': {
         'MOZBUILD_STATE_PATH': os.path.join(os.getcwd(), '.mozbuild'),
         'MOZ_AUTOMATION': '1',
         'DISPLAY': ':2',
         'HG_SHARE_BASE_DIR': '/builds/hg-shared',
--- a/testing/mozharness/configs/builds/releng_sub_linux_configs/64_asan.py
+++ b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_asan.py
@@ -13,17 +13,16 @@ config = {
         'sendchange',
         'check-test',
         # 'generate-build-stats',
         # 'update',
     ],
     'stage_platform': 'linux64-asan',
     'publish_nightly_en_US_routes': False,
     'build_type': 'asan',
-    'purge_minsize': 12,
     'tooltool_manifest_src': "browser/config/tooltool-manifests/linux64/\
 asan.manifest",
     'platform_supports_post_upload_to_latest': False,
     'enable_signing': False,
     'enable_talos_sendchange': False,
     #### 64 bit build specific #####
     'env': {
         'MOZBUILD_STATE_PATH': os.path.join(os.getcwd(), '.mozbuild'),
--- 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
@@ -14,17 +14,16 @@ config = {
         'check-test',
         # 'generate-build-stats',
         # 'update',
     ],
     'stage_platform': 'linux64-asan-debug',
     'publish_nightly_en_US_routes': False,
     'build_type': 'asan-debug',
     'debug_build': True,
-    'purge_minsize': 12,
     'tooltool_manifest_src': "browser/config/tooltool-manifests/linux64/\
 asan.manifest",
     'platform_supports_post_upload_to_latest': False,
     'enable_signing': False,
     'enable_talos_sendchange': False,
     #### 64 bit build specific #####
     'env': {
         'MOZBUILD_STATE_PATH': os.path.join(os.getcwd(), '.mozbuild'),
--- a/testing/mozharness/configs/builds/releng_sub_linux_configs/64_source.py
+++ b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_source.py
@@ -2,17 +2,16 @@ config = {
     'default_actions': [
         'clobber',
         'clone-tools',
         'checkout-sources',
         'setup-mock',
         'package-source',
     ],
     'stage_platform': 'source',  # Not used, but required by the script
-    'purge_minsize': 3,
     'buildbot_json_path': 'buildprops.json',
     'app_ini_path': 'FAKE',  # Not used, but required by the script
     'objdir': 'obj-firefox',
     'env': {
         'MOZ_OBJDIR': 'obj-firefox',
         'TINDERBOX_OUTPUT': '1',
         'LC_ALL': 'C',
     },
--- 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
@@ -12,17 +12,16 @@ config = {
         'upload-files',
         'sendchange',
         # 'generate-build-stats',
         'update',  # decided by query_is_nightly()
     ],
     'debug_build': True,
     'stage_platform': 'linux64-st-an-debug',
     'build_type': 'st-an-debug',
-    'purge_minsize': 12,
     'tooltool_manifest_src': "browser/config/tooltool-manifests/linux64/\
 clang.manifest",
     'platform_supports_post_upload_to_latest': False,
     'enable_signing': False,
     'enable_talos_sendchange': False,
     'enable_unittest_sendchange': False,
     #### 64 bit build specific #####
     'env': {
--- 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
@@ -11,18 +11,16 @@ config = {
     ],
     "buildbot_json_path": "buildprops.json",
     'exes': {
         "buildbot": "/tools/buildbot/bin/buildbot",
     },
     'app_ini_path': '%(obj_dir)s/dist/bin/application.ini',
     # decides whether we want to use moz_sign_cmd in env
     'enable_signing': False,
-    'purge_skip': ['info', 'rel-*:10d', 'tb-rel-*:10d'],
-    'purge_basedirs':  ["/mock/users/cltbld/home/cltbld/build"],
     'enable_ccache': True,
     'vcs_share_base': '/builds/hg-shared',
     'objdir': 'obj-firefox',
     'tooltool_script': ["/builds/tooltool.py"],
     'tooltool_bootstrap': "setup.sh",
     'enable_count_ctors': True,
     'enable_talos_sendchange': False,
     'enable_unittest_sendchange': False,
@@ -52,17 +50,16 @@ config = {
         'LC_ALL': 'C',
         ## 64 bit specific
         'PATH': '/tools/buildbot/bin:/usr/local/bin:/usr/lib64/ccache:/bin:\
 /usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/tools/git/bin:/tools/python27/bin:\
 /tools/python27-mercurial/bin:/home/cltbld/bin',
         'LD_LIBRARY_PATH': "/tools/gcc-4.3.3/installed/lib64",
         ##
     },
-    'purge_minsize': 14,
     'mock_packages': [
         'autoconf213', 'python', 'mozilla-python27', 'zip', 'mozilla-python27-mercurial',
         'git', 'ccache', 'perl-Test-Simple', 'perl-Config-General',
         'yasm', 'wget',
         'mpfr',  # required for system compiler
         'xorg-x11-font*',  # fonts required for PGO
         'imake',  # required for makedepend!?!
         ### <-- from releng repo
--- a/testing/mozharness/configs/builds/releng_sub_linux_configs/64_tsan.py
+++ b/testing/mozharness/configs/builds/releng_sub_linux_configs/64_tsan.py
@@ -11,17 +11,16 @@ config = {
         'build',
         'upload-files',
         'sendchange',
         # 'check-test',
         # 'generate-build-stats',
         # 'update',
     ],
     'stage_platform': 'linux64-tsan',
-    'purge_minsize': 12,
     'tooltool_manifest_src': "browser/config/tooltool-manifests/linux64/\
 tsan.manifest",
     'platform_supports_post_upload_to_latest': False,
     'enable_signing': False,
     'enable_talos_sendchange': False,
     #### 64 bit build specific #####
     'env': {
         'MOZBUILD_STATE_PATH': os.path.join(os.getcwd(), '.mozbuild'),
--- a/testing/mozharness/configs/builds/releng_sub_mac_configs/64_cross_debug.py
+++ b/testing/mozharness/configs/builds/releng_sub_mac_configs/64_cross_debug.py
@@ -34,11 +34,10 @@ config = {
         'LC_ALL': 'C',
         'XPCOM_DEBUG_BREAK': 'stack-and-abort',
         ## 64 bit specific
         'PATH': '/tools/python/bin:/tools/buildbot/bin:/opt/local/bin:/usr/bin:'
                 '/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin',
         ##
     },
     'src_mozconfig': 'browser/config/mozconfigs/macosx64/debug',
-    'purge_minsize': 10,
     #######################
 }
--- a/testing/mozharness/configs/builds/releng_sub_mac_configs/64_cross_opt.py
+++ b/testing/mozharness/configs/builds/releng_sub_mac_configs/64_cross_opt.py
@@ -30,11 +30,10 @@ config = {
         'LC_ALL': 'C',
         'XPCOM_DEBUG_BREAK': 'stack-and-abort',
         ## 64 bit specific
         'PATH': '/tools/python/bin:/tools/buildbot/bin:/opt/local/bin:/usr/bin:'
                 '/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin',
         ##
     },
     'src_mozconfig': 'browser/config/mozconfigs/macosx64/opt-static-analysis',
-    'purge_minsize': 10,
     #######################
 }
--- a/testing/mozharness/configs/builds/releng_sub_mac_configs/64_debug.py
+++ b/testing/mozharness/configs/builds/releng_sub_mac_configs/64_debug.py
@@ -35,11 +35,10 @@ config = {
         'LC_ALL': 'C',
         'XPCOM_DEBUG_BREAK': 'stack-and-abort',
         ## 64 bit specific
         'PATH': '/tools/python/bin:/tools/buildbot/bin:/opt/local/bin:/usr/bin:'
                 '/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin',
         ##
     },
     'src_mozconfig': 'browser/config/mozconfigs/macosx64/debug',
-    'purge_minsize': 10,
     #######################
 }
--- a/testing/mozharness/configs/builds/releng_sub_mac_configs/64_mulet.py
+++ b/testing/mozharness/configs/builds/releng_sub_mac_configs/64_mulet.py
@@ -34,11 +34,10 @@ config = {
         'LC_ALL': 'C',
         'XPCOM_DEBUG_BREAK': 'stack-and-abort',
         ## 64 bit specific
         'PATH': '/tools/python/bin:/tools/buildbot/bin:/opt/local/bin:/usr/bin:'
                 '/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin',
         ##
     },
     'src_mozconfig': 'b2g/dev/config/mozconfigs/macosx64/mulet',
-    'purge_minsize': 10,
     #######################
 }
--- a/testing/mozharness/configs/builds/releng_sub_mac_configs/64_stat_and_debug.py
+++ b/testing/mozharness/configs/builds/releng_sub_mac_configs/64_stat_and_debug.py
@@ -12,17 +12,16 @@ config = {
         'upload-files',
         'sendchange',
         # 'generate-build-stats',
         'update',  # decided by query_is_nightly()
     ],
     'debug_build': True,
     'stage_platform': 'macosx64-st-an-debug',
     'build_type': 'st-an-debug',
-    'purge_minsize': 12,
     'tooltool_manifest_src': "browser/config/tooltool-manifests/macosx64/\
 clang.manifest",
     'platform_supports_post_upload_to_latest': False,
     'enable_signing': False,
     'enable_talos_sendchange': False,
     'enable_unittest_sendchange': False,
     'objdir': MOZ_OBJDIR,
     #### 64 bit build specific #####
--- a/testing/mozharness/configs/builds/releng_sub_windows_configs/32_debug.py
+++ b/testing/mozharness/configs/builds/releng_sub_windows_configs/32_debug.py
@@ -29,11 +29,10 @@ config = {
         'PATH': 'C:/mozilla-build/nsis-3.0b1;C:/mozilla-build/python27;'
                 'C:/mozilla-build/buildbotve/scripts;'
                 '%s' % (os.environ.get('path')),
         'PROPERTIES_FILE': os.path.join(os.getcwd(), 'buildprops.json'),
         'TINDERBOX_OUTPUT': '1',
         'XPCOM_DEBUG_BREAK': 'stack-and-abort',
     },
     'src_mozconfig': 'browser/config/mozconfigs/win32/debug',
-    'purge_minsize': 9,
     #######################
 }
--- a/testing/mozharness/configs/builds/releng_sub_windows_configs/32_mulet.py
+++ b/testing/mozharness/configs/builds/releng_sub_windows_configs/32_mulet.py
@@ -28,11 +28,10 @@ config = {
         'PATH': 'C:/mozilla-build/nsis-3.0b1;C:/mozilla-build/python27;'
                 'C:/mozilla-build/buildbotve/scripts;'
                 '%s' % (os.environ.get('path')),
         'PROPERTIES_FILE': os.path.join(os.getcwd(), 'buildprops.json'),
         'TINDERBOX_OUTPUT': '1',
         'XPCOM_DEBUG_BREAK': 'stack-and-abort',
     },
     'src_mozconfig': 'b2g/dev/config/mozconfigs/win32/mulet',
-    'purge_minsize': 9,
     #######################
 }
--- a/testing/mozharness/configs/builds/releng_sub_windows_configs/64_debug.py
+++ b/testing/mozharness/configs/builds/releng_sub_windows_configs/64_debug.py
@@ -28,11 +28,10 @@ config = {
         'PATH': 'C:/mozilla-build/nsis-3.0b1;C:/mozilla-build/python27;'
                 'C:/mozilla-build/buildbotve/scripts;'
                 '%s' % (os.environ.get('path')),
         'PROPERTIES_FILE': os.path.join(os.getcwd(), 'buildprops.json'),
         'TINDERBOX_OUTPUT': '1',
         'XPCOM_DEBUG_BREAK': 'stack-and-abort',
     },
     'src_mozconfig': 'browser/config/mozconfigs/win64/debug',
-    'purge_minsize': 9,
     #######################
 }
--- a/testing/mozharness/configs/hazards/common.py
+++ b/testing/mozharness/configs/hazards/common.py
@@ -23,17 +23,16 @@ config = {
 
     "exes": {
         'hgtool.py': '%(abs_tools_dir)s/buildfarm/utils/hgtool.py',
         'gittool.py': '%(abs_tools_dir)s/buildfarm/utils/gittool.py',
         'tooltool.py': '/tools/tooltool.py',
         "virtualenv": [PYTHON_DIR + "/bin/python", "/tools/misc-python/virtualenv.py"],
     },
 
-    "purge_minsize": 18,
     "force_clobber": True,
     'vcs_share_base': HG_SHARE_BASE_DIR,
 
     "repos": [{
         "repo": "https://hg.mozilla.org/build/tools",
         "revision": "default",
         "dest": "tools"
     }],
--- a/testing/mozharness/configs/single_locale/alder.py
+++ b/testing/mozharness/configs/single_locale/alder.py
@@ -43,10 +43,9 @@ config = {
         "dest": "alder",
     }, {
         "vcs": "hgtool",
         "repo": "https://hg.mozilla.org/build/compare-locales",
         "revision": "RELEASE_AUTOMATION"
     }],
     # purge options
     'is_automation': True,
-    'purge_minsize': 12,
 }
--- a/testing/mozharness/configs/single_locale/ash.py
+++ b/testing/mozharness/configs/single_locale/ash.py
@@ -43,10 +43,9 @@ config = {
         "dest": "ash",
     }, {
         "vcs": "hgtool",
         "repo": "https://hg.mozilla.org/build/compare-locales",
         "revision": "RELEASE_AUTOMATION"
     }],
     # purge options
     'is_automation': True,
-    'purge_minsize': 12,
 }
--- a/testing/mozharness/configs/single_locale/ash_android-api-15.py
+++ b/testing/mozharness/configs/single_locale/ash_android-api-15.py
@@ -6,17 +6,16 @@ EN_US_BINARY_URL = "http://archive.mozil
 HG_SHARE_BASE_DIR = "/builds/hg-shared"
 
 config = {
     "branch": BRANCH,
     "log_name": "single_locale",
     "objdir": OBJDIR,
     "is_automation": True,
     "buildbot_json_path": "buildprops.json",
-    "purge_minsize": 10,
     "force_clobber": True,
     "clobberer_url": "https://api.pub.build.mozilla.org/clobberer/lastclobber",
     "locales_file": "%s/mobile/android/locales/all-locales" % MOZILLA_DIR,
     "locales_dir": "mobile/android/locales",
     "ignore_locales": ["en-US"],
     "nightly_build": True,
     'balrog_credentials_file': 'oauth.txt',
     "tools_repo": "https://hg.mozilla.org/build/tools",
--- a/testing/mozharness/configs/single_locale/ash_android-api-9.py
+++ b/testing/mozharness/configs/single_locale/ash_android-api-9.py
@@ -6,17 +6,16 @@ EN_US_BINARY_URL = "http://archive.mozil
 HG_SHARE_BASE_DIR = "/builds/hg-shared"
 
 config = {
     "branch": BRANCH,
     "log_name": "single_locale",
     "objdir": OBJDIR,
     "is_automation": True,
     "buildbot_json_path": "buildprops.json",
-    "purge_minsize": 10,
     "force_clobber": True,
     "clobberer_url": "https://api.pub.build.mozilla.org/clobberer/lastclobber",
     "locales_file": "%s/mobile/android/locales/all-locales" % MOZILLA_DIR,
     "locales_dir": "mobile/android/locales",
     "ignore_locales": ["en-US"],
     "nightly_build": True,
     'balrog_credentials_file': 'oauth.txt',
     "tools_repo": "https://hg.mozilla.org/build/tools",
--- a/testing/mozharness/configs/single_locale/mozilla-aurora.py
+++ b/testing/mozharness/configs/single_locale/mozilla-aurora.py
@@ -25,10 +25,9 @@ config = {
         "dest": "mozilla-aurora",
     }, {
         "vcs": "hgtool",
         "repo": "https://hg.mozilla.org/build/compare-locales",
         "revision": "RELEASE_AUTOMATION"
     }],
     # purge options
     'is_automation': True,
-    'purge_minsize': 12,
 }
--- a/testing/mozharness/configs/single_locale/mozilla-aurora_android-api-11.py
+++ b/testing/mozharness/configs/single_locale/mozilla-aurora_android-api-11.py
@@ -6,17 +6,16 @@ EN_US_BINARY_URL = "http://archive.mozil
 HG_SHARE_BASE_DIR = "/builds/hg-shared"
 
 config = {
     "branch": BRANCH,
     "log_name": "single_locale",
     "objdir": OBJDIR,
     "is_automation": True,
     "buildbot_json_path": "buildprops.json",
-    "purge_minsize": 10,
     "force_clobber": True,
     "clobberer_url": "https://api.pub.build.mozilla.org/clobberer/lastclobber",
     "locales_file": "%s/mobile/android/locales/all-locales" % MOZILLA_DIR,
     "locales_dir": "mobile/android/locales",
     "ignore_locales": ["en-US"],
     "nightly_build": True,
     'balrog_credentials_file': 'oauth.txt',
     "tools_repo": "https://hg.mozilla.org/build/tools",
--- a/testing/mozharness/configs/single_locale/mozilla-aurora_android-api-15.py
+++ b/testing/mozharness/configs/single_locale/mozilla-aurora_android-api-15.py
@@ -6,17 +6,16 @@ EN_US_BINARY_URL = "http://archive.mozil
 HG_SHARE_BASE_DIR = "/builds/hg-shared"
 
 config = {
     "branch": BRANCH,
     "log_name": "single_locale",
     "objdir": OBJDIR,
     "is_automation": True,
     "buildbot_json_path": "buildprops.json",
-    "purge_minsize": 10,
     "force_clobber": True,
     "clobberer_url": "https://api.pub.build.mozilla.org/clobberer/lastclobber",
     "locales_file": "%s/mobile/android/locales/all-locales" % MOZILLA_DIR,
     "locales_dir": "mobile/android/locales",
     "ignore_locales": ["en-US"],
     "nightly_build": True,
     'balrog_credentials_file': 'oauth.txt',
     "tools_repo": "https://hg.mozilla.org/build/tools",
--- a/testing/mozharness/configs/single_locale/mozilla-aurora_android-api-9.py
+++ b/testing/mozharness/configs/single_locale/mozilla-aurora_android-api-9.py
@@ -6,17 +6,16 @@ EN_US_BINARY_URL = "http://archive.mozil
 HG_SHARE_BASE_DIR = "/builds/hg-shared"
 
 config = {
     "branch": BRANCH,
     "log_name": "single_locale",
     "objdir": OBJDIR,
     "is_automation": True,
     "buildbot_json_path": "buildprops.json",
-    "purge_minsize": 10,
     "force_clobber": True,
     "clobberer_url": "https://api.pub.build.mozilla.org/clobberer/lastclobber",
     "locales_file": "%s/mobile/android/locales/all-locales" % MOZILLA_DIR,
     "locales_dir": "mobile/android/locales",
     "ignore_locales": ["en-US"],
     "nightly_build": True,
     'balrog_credentials_file': 'oauth.txt',
     "tools_repo": "https://hg.mozilla.org/build/tools",
--- a/testing/mozharness/configs/single_locale/mozilla-aurora_android.py
+++ b/testing/mozharness/configs/single_locale/mozilla-aurora_android.py
@@ -6,17 +6,16 @@ EN_US_BINARY_URL = "http://archive.mozil
 HG_SHARE_BASE_DIR = "/builds/hg-shared"
 
 config = {
     "branch": BRANCH,
     "log_name": "single_locale",
     "objdir": OBJDIR,
     "is_automation": True,
     "buildbot_json_path": "buildprops.json",
-    "purge_minsize": 10,
     "force_clobber": True,
     "clobberer_url": "https://api.pub.build.mozilla.org/clobberer/lastclobber",
     "locales_file": "%s/mobile/android/locales/all-locales" % MOZILLA_DIR,
     "locales_dir": "mobile/android/locales",
     "ignore_locales": ["en-US"],
     "nightly_build": True,
     'balrog_credentials_file': 'oauth.txt',
     "tools_repo": "https://hg.mozilla.org/build/tools",
--- a/testing/mozharness/configs/single_locale/mozilla-central.py
+++ b/testing/mozharness/configs/single_locale/mozilla-central.py
@@ -25,10 +25,9 @@ config = {
         "dest": "mozilla-central",
     }, {
         "vcs": "hgtool",
         "repo": "https://hg.mozilla.org/build/compare-locales",
         "revision": "RELEASE_AUTOMATION"
     }],
     # purge options
     'is_automation': True,
-    'purge_minsize': 12,
 }
--- a/testing/mozharness/configs/single_locale/mozilla-central_android-api-11.py
+++ b/testing/mozharness/configs/single_locale/mozilla-central_android-api-11.py
@@ -6,17 +6,16 @@ EN_US_BINARY_URL = "http://archive.mozil
 HG_SHARE_BASE_DIR = "/builds/hg-shared"
 
 config = {
     "branch": BRANCH,
     "log_name": "single_locale",
     "objdir": OBJDIR,
     "is_automation": True,
     "buildbot_json_path": "buildprops.json",
-    "purge_minsize": 10,
     "force_clobber": True,
     "clobberer_url": "https://api.pub.build.mozilla.org/clobberer/lastclobber",
     "locales_file": "%s/mobile/android/locales/all-locales" % MOZILLA_DIR,
     "locales_dir": "mobile/android/locales",
     "ignore_locales": ["en-US"],
     "nightly_build": True,
     'balrog_credentials_file': 'oauth.txt',
     "tools_repo": "https://hg.mozilla.org/build/tools",
--- a/testing/mozharness/configs/single_locale/mozilla-central_android-api-15.py
+++ b/testing/mozharness/configs/single_locale/mozilla-central_android-api-15.py
@@ -6,17 +6,16 @@ EN_US_BINARY_URL = "http://archive.mozil
 HG_SHARE_BASE_DIR = "/builds/hg-shared"
 
 config = {
     "branch": BRANCH,
     "log_name": "single_locale",
     "objdir": OBJDIR,
     "is_automation": True,
     "buildbot_json_path": "buildprops.json",
-    "purge_minsize": 10,
     "force_clobber": True,
     "clobberer_url": "https://api.pub.build.mozilla.org/clobberer/lastclobber",
     "locales_file": "%s/mobile/android/locales/all-locales" % MOZILLA_DIR,
     "locales_dir": "mobile/android/locales",
     "ignore_locales": ["en-US"],
     "nightly_build": True,
     'balrog_credentials_file': 'oauth.txt',
     "tools_repo": "https://hg.mozilla.org/build/tools",
--- a/testing/mozharness/configs/single_locale/mozilla-central_android-api-9.py
+++ b/testing/mozharness/configs/single_locale/mozilla-central_android-api-9.py
@@ -6,17 +6,16 @@ EN_US_BINARY_URL = "http://archive.mozil
 HG_SHARE_BASE_DIR = "/builds/hg-shared"
 
 config = {
     "branch": BRANCH,
     "log_name": "single_locale",
     "objdir": OBJDIR,
     "is_automation": True,
     "buildbot_json_path": "buildprops.json",
-    "purge_minsize": 10,
     "force_clobber": True,
     "clobberer_url": "https://api.pub.build.mozilla.org/clobberer/lastclobber",
     "locales_file": "%s/mobile/android/locales/all-locales" % MOZILLA_DIR,
     "locales_dir": "mobile/android/locales",
     "ignore_locales": ["en-US"],
     "nightly_build": True,
     'balrog_credentials_file': 'oauth.txt',
     "tools_repo": "https://hg.mozilla.org/build/tools",
--- a/testing/mozharness/configs/single_locale/mozilla-central_android.py
+++ b/testing/mozharness/configs/single_locale/mozilla-central_android.py
@@ -6,17 +6,16 @@ EN_US_BINARY_URL = "http://archive.mozil
 HG_SHARE_BASE_DIR = "/builds/hg-shared"
 
 config = {
     "branch": BRANCH,
     "log_name": "single_locale",
     "objdir": OBJDIR,
     "is_automation": True,
     "buildbot_json_path": "buildprops.json",
-    "purge_minsize": 10,
     "force_clobber": True,
     "clobberer_url": "https://api.pub.build.mozilla.org/clobberer/lastclobber",
     "locales_file": "%s/mobile/android/locales/all-locales" % MOZILLA_DIR,
     "locales_dir": "mobile/android/locales",
     "ignore_locales": ["en-US"],
     "nightly_build": True,
     'balrog_credentials_file': 'oauth.txt',
     "tools_repo": "https://hg.mozilla.org/build/tools",
--- a/testing/mozharness/configs/single_locale/release_mozilla-beta_android.py
+++ b/testing/mozharness/configs/single_locale/release_mozilla-beta_android.py
@@ -5,17 +5,16 @@ OBJDIR = "obj-l10n"
 EN_US_BINARY_URL = "http://archive.mozilla.org/pub/mobile/candidates/%(version)s-candidates/build%(buildnum)d/android/en-US"
 HG_SHARE_BASE_DIR = "/builds/hg-shared"
 
 config = {
     "log_name": "single_locale",
     "objdir": OBJDIR,
     "is_automation": True,
     "buildbot_json_path": "buildprops.json",
-    "purge_minsize": 10,
     "force_clobber": True,
     "clobberer_url": "https://api.pub.build.mozilla.org/clobberer/lastclobber",
     "locales_file": "buildbot-configs/mozilla/l10n-changesets_mobile-beta.json",
     "locales_dir": "mobile/android/locales",
     "locales_platform": "android",
     "ignore_locales": ["en-US"],
     "balrog_credentials_file": "oauth.txt",
     "tools_repo": "https://hg.mozilla.org/build/tools",
--- a/testing/mozharness/configs/single_locale/release_mozilla-beta_android_api_15.py
+++ b/testing/mozharness/configs/single_locale/release_mozilla-beta_android_api_15.py
@@ -6,17 +6,16 @@ EN_US_BINARY_URL = "http://archive.mozil
 HG_SHARE_BASE_DIR = "/builds/hg-shared"
 
 config = {
     "stage_product": "mobile",
     "log_name": "single_locale",
     "objdir": OBJDIR,
     "is_automation": True,
     "buildbot_json_path": "buildprops.json",
-    "purge_minsize": 10,
     "force_clobber": True,
     "clobberer_url": "https://api.pub.build.mozilla.org/clobberer/lastclobber",
     "locales_file": "buildbot-configs/mozilla/l10n-changesets_mobile-beta.json",
     "locales_dir": "mobile/android/locales",
     "locales_platform": "android",
     "ignore_locales": ["en-US"],
     "balrog_credentials_file": "oauth.txt",
     "tools_repo": "https://hg.mozilla.org/build/tools",
--- a/testing/mozharness/configs/single_locale/release_mozilla-beta_android_api_9.py
+++ b/testing/mozharness/configs/single_locale/release_mozilla-beta_android_api_9.py
@@ -6,17 +6,16 @@ EN_US_BINARY_URL = "http://archive.mozil
 HG_SHARE_BASE_DIR = "/builds/hg-shared"
 
 config = {
     "stage_product": "mobile",
     "log_name": "single_locale",
     "objdir": OBJDIR,
     "is_automation": True,
     "buildbot_json_path": "buildprops.json",
-    "purge_minsize": 10,
     "force_clobber": True,
     "clobberer_url": "https://api.pub.build.mozilla.org/clobberer/lastclobber",
     "locales_file": "buildbot-configs/mozilla/l10n-changesets_mobile-beta.json",
     "locales_dir": "mobile/android/locales",
     "locales_platform": "android",
     "ignore_locales": ["en-US"],
     "balrog_credentials_file": "oauth.txt",
     "tools_repo": "https://hg.mozilla.org/build/tools",
--- a/testing/mozharness/configs/single_locale/release_mozilla-release_android.py
+++ b/testing/mozharness/configs/single_locale/release_mozilla-release_android.py
@@ -5,17 +5,16 @@ OBJDIR = "obj-l10n"
 EN_US_BINARY_URL = "http://archive.mozilla.org/pub/mobile/candidates/%(version)s-candidates/build%(buildnum)d/android/en-US"
 HG_SHARE_BASE_DIR = "/builds/hg-shared"
 
 config = {
     "log_name": "single_locale",
     "objdir": OBJDIR,
     "is_automation": True,
     "buildbot_json_path": "buildprops.json",
-    "purge_minsize": 10,
     "force_clobber": True,
     "clobberer_url": "https://api.pub.build.mozilla.org/clobberer/lastclobber",
     "locales_file": "buildbot-configs/mozilla/l10n-changesets_mobile-release.json",
     "locales_dir": "mobile/android/locales",
     "locales_platform": "android",
     "ignore_locales": ["en-US"],
     "balrog_credentials_file": "oauth.txt",
     "tools_repo": "https://hg.mozilla.org/build/tools",
--- a/testing/mozharness/configs/single_locale/release_mozilla-release_android_api_15.py
+++ b/testing/mozharness/configs/single_locale/release_mozilla-release_android_api_15.py
@@ -6,17 +6,16 @@ EN_US_BINARY_URL = "http://archive.mozil
 HG_SHARE_BASE_DIR = "/builds/hg-shared"
 
 config = {
     "stage_product": "mobile",
     "log_name": "single_locale",
     "objdir": OBJDIR,
     "is_automation": True,
     "buildbot_json_path": "buildprops.json",
-    "purge_minsize": 10,
     "force_clobber": True,
     "clobberer_url": "https://api.pub.build.mozilla.org/clobberer/lastclobber",
     "locales_file": "buildbot-configs/mozilla/l10n-changesets_mobile-release.json",
     "locales_dir": "mobile/android/locales",
     "locales_platform": "android",
     "ignore_locales": ["en-US"],
     "balrog_credentials_file": "oauth.txt",
     "tools_repo": "https://hg.mozilla.org/build/tools",
--- a/testing/mozharness/configs/single_locale/release_mozilla-release_android_api_9.py
+++ b/testing/mozharness/configs/single_locale/release_mozilla-release_android_api_9.py
@@ -6,17 +6,16 @@ EN_US_BINARY_URL = "http://archive.mozil
 HG_SHARE_BASE_DIR = "/builds/hg-shared"
 
 config = {
     "stage_product": "mobile",
     "log_name": "single_locale",
     "objdir": OBJDIR,
     "is_automation": True,
     "buildbot_json_path": "buildprops.json",
-    "purge_minsize": 10,
     "force_clobber": True,
     "clobberer_url": "https://api.pub.build.mozilla.org/clobberer/lastclobber",
     "locales_file": "buildbot-configs/mozilla/l10n-changesets_mobile-release.json",
     "locales_dir": "mobile/android/locales",
     "locales_platform": "android",
     "ignore_locales": ["en-US"],
     "balrog_credentials_file": "oauth.txt",
     "tools_repo": "https://hg.mozilla.org/build/tools",
--- a/testing/mozharness/configs/single_locale/staging_release_mozilla-beta_android.py
+++ b/testing/mozharness/configs/single_locale/staging_release_mozilla-beta_android.py
@@ -6,17 +6,16 @@ STAGE_SERVER = "ftp.stage.mozaws.net"
 EN_US_BINARY_URL = "http://" + STAGE_SERVER + "/pubmobile/candidates/%(version)s-candidates/build%(buildnum)d/android/en-US"
 HG_SHARE_BASE_DIR = "/builds/hg-shared"
 
 config = {
     "log_name": "single_locale",
     "objdir": OBJDIR,
     "is_automation": True,
     "buildbot_json_path": "buildprops.json",
-    "purge_minsize": 10,
     "force_clobber": True,
     "clobberer_url": "https://api-pub-build.allizom.org/clobberer/lastclobber",
     "locales_file": "buildbot-configs/mozilla/l10n-changesets_mobile-beta.json",
     "locales_dir": "mobile/android/locales",
     "locales_platform": "android",
     "ignore_locales": ["en-US"],
     "balrog_credentials_file": "oauth.txt",
     "tools_repo": "https://hg.mozilla.org/build/tools",
--- a/testing/mozharness/configs/single_locale/staging_release_mozilla-beta_android_api_15.py
+++ b/testing/mozharness/configs/single_locale/staging_release_mozilla-beta_android_api_15.py
@@ -6,17 +6,16 @@ STAGE_SERVER = "ftp.stage.mozaws.net"
 EN_US_BINARY_URL = "http://" + STAGE_SERVER + "/pub/mobile/candidates/%(version)s-candidates/build%(buildnum)d/android-api-15/en-US"
 HG_SHARE_BASE_DIR = "/builds/hg-shared"
 
 config = {
     "log_name": "single_locale",
     "objdir": OBJDIR,
     "is_automation": True,
     "buildbot_json_path": "buildprops.json",
-    "purge_minsize": 10,
     "force_clobber": True,
     "clobberer_url": "https://api-pub-build.allizom.org/clobberer/lastclobber",
     "locales_file": "buildbot-configs/mozilla/l10n-changesets_mobile-beta.json",
     "locales_dir": "mobile/android/locales",
     "locales_platform": "android",
     "ignore_locales": ["en-US"],
     "balrog_credentials_file": "oauth.txt",
     "tools_repo": "https://hg.mozilla.org/build/tools",
--- a/testing/mozharness/configs/single_locale/staging_release_mozilla-beta_android_api_9.py
+++ b/testing/mozharness/configs/single_locale/staging_release_mozilla-beta_android_api_9.py
@@ -6,17 +6,16 @@ STAGE_SERVER = "ftp.stage.mozaws.net"
 EN_US_BINARY_URL = "http://" + STAGE_SERVER + "/pub/mobile/candidates/%(version)s-candidates/build%(buildnum)d/android-api-9/en-US"
 HG_SHARE_BASE_DIR = "/builds/hg-shared"
 
 config = {
     "log_name": "single_locale",
     "objdir": OBJDIR,
     "is_automation": True,
     "buildbot_json_path": "buildprops.json",
-    "purge_minsize": 10,
     "force_clobber": True,
     "clobberer_url": "https://api-pub-build.allizom.org/clobberer/lastclobber",
     "locales_file": "buildbot-configs/mozilla/l10n-changesets_mobile-beta.json",
     "locales_dir": "mobile/android/locales",
     "locales_platform": "android",
     "ignore_locales": ["en-US"],
     "balrog_credentials_file": "oauth.txt",
     "tools_repo": "https://hg.mozilla.org/build/tools",
--- a/testing/mozharness/configs/single_locale/staging_release_mozilla-release_android.py
+++ b/testing/mozharness/configs/single_locale/staging_release_mozilla-release_android.py
@@ -6,17 +6,16 @@ STAGE_SERVER = "dev-stage01.srv.releng.s
 EN_US_BINARY_URL = "http://" + STAGE_SERVER + "/pub/mozilla.org/mobile/candidates/%(version)s-candidates/build%(buildnum)d/android/en-US"
 HG_SHARE_BASE_DIR = "/builds/hg-shared"
 
 config = {
     "log_name": "single_locale",
     "objdir": OBJDIR,
     "is_automation": True,
     "buildbot_json_path": "buildprops.json",
-    "purge_minsize": 10,
     "force_clobber": True,
     "clobberer_url": "https://api-pub-build.allizom.org/clobberer/lastclobber",
     "locales_file": "buildbot-configs/mozilla/l10n-changesets_mobile-release.json",
     "locales_dir": "mobile/android/locales",
     "locales_platform": "android",
     "ignore_locales": ["en-US"],
     "balrog_credentials_file": "oauth.txt",
     "tools_repo": "https://hg.mozilla.org/build/tools",
--- a/testing/mozharness/configs/single_locale/staging_release_mozilla-release_android_api_15.py
+++ b/testing/mozharness/configs/single_locale/staging_release_mozilla-release_android_api_15.py
@@ -6,17 +6,16 @@ STAGE_SERVER = "dev-stage01.srv.releng.s
 EN_US_BINARY_URL = "http://" + STAGE_SERVER + "/pub/mozilla.org/mobile/candidates/%(version)s-candidates/build%(buildnum)d/android-api-15/en-US"
 HG_SHARE_BASE_DIR = "/builds/hg-shared"
 
 config = {
     "log_name": "single_locale",
     "objdir": OBJDIR,
     "is_automation": True,
     "buildbot_json_path": "buildprops.json",
-    "purge_minsize": 10,
     "force_clobber": True,
     "clobberer_url": "https://api-pub-build.allizom.org/clobberer/lastclobber",
     "locales_file": "buildbot-configs/mozilla/l10n-changesets_mobile-release.json",
     "locales_dir": "mobile/android/locales",
     "locales_platform": "android",
     "ignore_locales": ["en-US"],
     "balrog_credentials_file": "oauth.txt",
     "tools_repo": "https://hg.mozilla.org/build/tools",
--- a/testing/mozharness/configs/single_locale/staging_release_mozilla-release_android_api_9.py
+++ b/testing/mozharness/configs/single_locale/staging_release_mozilla-release_android_api_9.py
@@ -6,17 +6,16 @@ STAGE_SERVER = "dev-stage01.srv.releng.s
 EN_US_BINARY_URL = "http://" + STAGE_SERVER + "/pub/mozilla.org/mobile/candidates/%(version)s-candidates/build%(buildnum)d/android-api-9/en-US"
 HG_SHARE_BASE_DIR = "/builds/hg-shared"
 
 config = {
     "log_name": "single_locale",
     "objdir": OBJDIR,
     "is_automation": True,
     "buildbot_json_path": "buildprops.json",
-    "purge_minsize": 10,
     "force_clobber": True,
     "clobberer_url": "https://api-pub-build.allizom.org/clobberer/lastclobber",
     "locales_file": "buildbot-configs/mozilla/l10n-changesets_mobile-release.json",
     "locales_dir": "mobile/android/locales",
     "locales_platform": "android",
     "ignore_locales": ["en-US"],
     "balrog_credentials_file": "oauth.txt",
     "tools_repo": "https://hg.mozilla.org/build/tools",
deleted file mode 100755
--- a/testing/mozharness/external_tools/purge_builds.py
+++ /dev/null
@@ -1,303 +0,0 @@
-#!/usr/bin/env python
-# Written for Mozilla by Chris AtLee <catlee@mozilla.com> 2008
-"""Delete old buildbot builds to make room for the current build.
-
-%prog [options] base_dir1 [base_dir2 ...]
-
-base_dir1 is the root of the directory tree you want to delete builds
-from.
-
-Sub-directories of base_dir1 will be deleted, in order from oldest to newest,
-until the specified amount of space is free.
-
-base_dir1 will always be used for space calculations, but if other base_dir#
-are provided, subdirectories within those dirs will also be purged. This will
-obviously only increase the available space if the other base_dirs are on the
-same mountpoint, but this can be useful for, e.g., cleaning up scratchbox.
-
-example:
-    python %prog -s 6 /builds/moz2_slave /scratchbox/users/cltbld/home/cltbld/build
-"""
-
-import os
-import shutil
-import sys
-from fnmatch import fnmatch
-import re
-
-DEFAULT_BASE_DIRS = [".."]
-
-clobber_suffix = '.deleteme'
-
-if sys.platform == 'win32':
-    # os.statvfs doesn't work on Windows
-    from win32file import RemoveDirectory, DeleteFile, \
-        GetFileAttributesW, SetFileAttributesW, GetDiskFreeSpace, \
-        FILE_ATTRIBUTE_NORMAL, FILE_ATTRIBUTE_DIRECTORY
-    from win32api import FindFiles
-
-    def freespace(p):
-        secsPerClus, bytesPerSec, nFreeClus, totClus = GetDiskFreeSpace(p)
-        return secsPerClus * bytesPerSec * nFreeClus
-else:
-    def freespace(p):
-        "Returns the number of bytes free under directory `p`"
-        r = os.statvfs(p)
-        return r.f_frsize * r.f_bavail
-
-
-def mtime_sort(p1, p2):
-    "sorting function for sorting a list of paths by mtime"
-    return cmp(os.path.getmtime(p1), os.path.getmtime(p2))
-
-
-def rmdirRecursiveWindows(dir):
-    """Windows-specific version of rmdirRecursive that handles
-    path lengths longer than MAX_PATH.
-    """
-
-    dir = os.path.realpath(dir)
-    # Make sure directory is writable
-    SetFileAttributesW('\\\\?\\' + dir, FILE_ATTRIBUTE_NORMAL)
-
-    for ffrec in FindFiles('\\\\?\\' + dir + '\*.*'):
-        file_attr = ffrec[0]
-        name = ffrec[8]
-        if name == '.' or name == '..':
-            continue
-        full_name = os.path.join(dir, name)
-
-        if file_attr & FILE_ATTRIBUTE_DIRECTORY:
-            rmdirRecursiveWindows(full_name)
-        else:
-            SetFileAttributesW('\\\\?\\' + full_name, FILE_ATTRIBUTE_NORMAL)
-            DeleteFile('\\\\?\\' + full_name)
-    RemoveDirectory('\\\\?\\' + dir)
-
-
-def rmdirRecursive(dir):
-    """This is a replacement for shutil.rmtree that works better under
-    windows. Thanks to Bear at the OSAF for the code.
-    (Borrowed from buildbot.slave.commands)"""
-    if os.name == 'nt':
-        rmdirRecursiveWindows(dir)
-        return
-
-    if not os.path.exists(dir):
-        # This handles broken links
-        if os.path.islink(dir):
-            os.remove(dir)
-        return
-
-    if os.path.islink(dir):
-        os.remove(dir)
-        return
-
-    # Verify the directory is read/write/execute for the current user
-    os.chmod(dir, 0700)
-
-    for name in os.listdir(dir):
-        full_name = os.path.join(dir, name)
-        # on Windows, if we don't have write permission we can't remove
-        # the file/directory either, so turn that on
-        if os.name == 'nt':
-            if not os.access(full_name, os.W_OK):
-                # I think this is now redundant, but I don't have an NT
-                # machine to test on, so I'm going to leave it in place
-                # -warner
-                os.chmod(full_name, 0600)
-
-        if os.path.isdir(full_name):
-            rmdirRecursive(full_name)
-        else:
-            # Don't try to chmod links
-            if not os.path.islink(full_name):
-                os.chmod(full_name, 0700)
-            os.remove(full_name)
-    os.rmdir(dir)
-
-
-def str2seconds(s):
-    """ Accepts time intervals resembling:
-         30d  (30 days)
-         10h  (10 hours)
-        Returns the specified interval as a positive integer in seconds.
-    """
-    m = re.match(r'^(\d+)([dh])$', s)
-    if (m):
-        mul = {'d': 24*60*60, 'h': 60*60}
-        n = int(m.group(1))
-        unit = m.group(2)
-        return n * mul[unit]
-    else:
-        raise ValueError("Unhandled time format '%s'" % s)
-
-
-def purge(base_dirs, gigs, ignore, max_age, dry_run=False):
-    """Delete directories under `base_dirs` until `gigs` GB are free.
-
-    Delete any directories older than max_age.
-
-    Will not delete directories listed in the ignore list except
-    those tagged with an expiry threshold.  Example:
-
-      rel-*:40d
-
-    Will not delete rel-* directories until they are over 40 days old.
-    """
-    gigs *= 1024 * 1024 * 1024
-
-    # convert 'ignore' to a dict resembling { directory: cutoff_time }
-    # where a cutoff time of -1 means 'never expire'.
-    ignore = dict(map(lambda x: x.split(':')[0:2] if len(x.split(':')) > 1 else [x, -1], ignore))
-    ignore = dict(map(lambda key: [key, time.time() - str2seconds(ignore[key])] if ignore[key] != -1 else [key, ignore[key]], ignore))
-
-    dirs = []
-    for base_dir in base_dirs:
-        if os.path.exists(base_dir):
-            for d in os.listdir(base_dir):
-                p = os.path.join(base_dir, d)
-                if not os.path.isdir(p):
-                    continue
-                mtime = os.path.getmtime(p)
-                skip = False
-                for pattern, cutoff_time in ignore.iteritems():
-                    if (fnmatch(d, pattern)):
-                        if cutoff_time == -1 or mtime > cutoff_time:
-                            skip = True
-                            break
-                        else:
-                            print("Ignored directory '%s' exceeds cutoff time" % d)
-                if skip:
-                    continue
-                dirs.append((mtime, p))
-
-    dirs.sort()
-
-    while dirs:
-        mtime, d = dirs.pop(0)
-
-        # If we're newer than max_age, and don't need any more free space,
-        # we're all done here
-        if (not max_age) or (mtime > max_age):
-            if freespace(base_dirs[0]) >= gigs:
-                break
-
-        print "Deleting", d
-        if not dry_run:
-            try:
-                clobber_path = d + clobber_suffix
-                if os.path.exists(clobber_path):
-                    rmdirRecursive(clobber_path)
-                # Prevent repeated moving.
-                if d.endswith(clobber_suffix):
-                    rmdirRecursive(d)
-                else:
-                    shutil.move(d, clobber_path)
-                    rmdirRecursive(clobber_path)
-            except:
-                print >>sys.stderr, "Couldn't purge %s properly. Skipping." % d
-
-
-def purge_hg_shares(share_dir, gigs, max_age, dry_run=False):
-    """Deletes old hg directories under share_dir"""
-    # Find hg directories
-    hg_dirs = []
-    for root, dirs, files in os.walk(share_dir):
-        for d in dirs[:]:
-            path = os.path.join(root, d, '.hg')
-            if os.path.exists(path) or os.path.exists(path + clobber_suffix):
-                hg_dirs.append(os.path.join(root, d))
-                # Remove d from the list so we don't go traversing down into it
-                dirs.remove(d)
-
-    # Now we have a list of hg directories, call purge on them
-    purge(hg_dirs, gigs, [], max_age, dry_run)
-
-    # Clean up empty directories
-    for d in hg_dirs:
-        if not os.path.exists(os.path.join(d, '.hg')):
-            print "Cleaning up", d
-            if not dry_run:
-                rmdirRecursive(d)
-
-if __name__ == '__main__':
-    import time
-    from optparse import OptionParser
-    from ConfigParser import ConfigParser, NoOptionError
-
-    max_age = 14
-    config = ConfigParser()
-    config.read(os.path.expanduser('~/.purge_builds.cfg'))
-    try:
-        max_age = config.getint('DEFAULT', 'max_age')
-    except (NoOptionError, ValueError):
-        pass
-
-    cwd = os.path.basename(os.getcwd())
-    parser = OptionParser(usage=__doc__)
-    parser.set_defaults(size=5, share_size=1, skip=[cwd], dry_run=False, max_age=max_age)
-
-    parser.add_option('-s', '--size',
-                      help='free space required (in GB, default 5)', dest='size',
-                      type='float')
-
-    parser.add_option('--share-size',
-                      help='free space required for vcs shares (in GB, default 1)', dest='share_size',
-                      type='float')
-
-    parser.add_option('-n', '--not', help='do not delete this directory. Append :30d to skip for up to 30 days, or :30h to skip for up to 30 hours',
-                      action='append', dest='skip')
-
-    parser.add_option('', '--dry-run', action='store_true',
-                      dest='dry_run',
-                      help='''do not delete anything, just print out what would be
-deleted.  note that since no directories are deleted, if the amount of free
-disk space in base_dir(s) is less than the required size, then ALL directories
-will be listed in the order in which they would be deleted.''')
-
-    parser.add_option('', '--max-age', dest='max_age', type='int',
-                      help='''maximum age (in days) for directories.  If any directory
-            has an mtime older than this, it will be deleted, regardless of how
-            much free space is required.  Set to 0 to disable.''')
-
-    options, base_dirs = parser.parse_args()
-
-    if len(base_dirs) < 1:
-        for d in DEFAULT_BASE_DIRS:
-            if os.path.exists(d):
-                base_dirs.append(d)
-    if len(base_dirs) < 1:
-        parser.error("Must specify one or more base_dirs")
-        sys.exit(1)
-
-    # Figure out the mtime before which we'll start deleting old directories
-    if options.max_age:
-        cutoff_time = time.time() - 24 * 3600 * options.max_age
-    else:
-        cutoff_time = None
-
-    purge(base_dirs, options.size, options.skip, cutoff_time, options.dry_run)
-
-    # Try to cleanup shared hg repos. We run here even if we've freed enough
-    # space so we can be sure and delete repositories older than max_age
-    if 'HG_SHARE_BASE_DIR' in os.environ:
-        purge_hg_shares(os.environ['HG_SHARE_BASE_DIR'],
-                        options.share_size, cutoff_time, options.dry_run)
-
-    after = freespace(base_dirs[0]) / (1024 * 1024 * 1024.0)
-
-    # Try to cleanup the current dir if we still need space and it will
-    # actually help.
-    if after < options.size:
-        # We skip the tools dir here because we've usually just cloned it.
-        purge(['.'], options.size, ['tools'], cutoff_time, options.dry_run)
-        after = freespace(base_dirs[0]) / (1024 * 1024 * 1024.0)
-
-    if after < options.size:
-        print "Error: unable to free %1.2f GB of space. " % options.size + \
-              "Free space only %1.2f GB" % after
-        sys.exit(1)
-    else:
-        print "%1.2f GB of space available" % after
-        sys.exit(0)
--- a/testing/mozharness/mozharness/mozilla/purge.py
+++ b/testing/mozharness/mozharness/mozilla/purge.py
@@ -18,67 +18,22 @@ external_tools_path = os.path.join(
 
 from mozharness.base.log import ERROR
 
 
 # PurgeMixin {{{1
 # Depends on ScriptMixin for self.run_command,
 # and BuildbotMixin for self.buildbot_config and self.query_is_nightly()
 class PurgeMixin(object):
-    purge_tool = os.path.join(external_tools_path, 'purge_builds.py')
     clobber_tool = os.path.join(external_tools_path, 'clobberer.py')
 
     default_skips = ['info', 'rel-*', 'tb-rel-*']
     default_maxage = 14
     default_periodic_clobber = 7 * 24
 
-    def purge_builds(self, basedirs=None, min_size=None, skip=None, max_age=None):
-        # Try clobbering first
-        c = self.config
-        dirs = self.query_abs_dirs()
-        if 'clobberer_url' in c and c.get('use_clobberer', True):
-            self.clobberer()
-
-        min_size = min_size or c['purge_minsize']
-        max_age = max_age or c.get('purge_maxage') or self.default_maxage
-        skip = skip or c.get('purge_skip') or self.default_skips
-
-        if not basedirs:
-            # some platforms using this method (like linux) supply more than
-            # one basedir
-            basedirs = []
-            basedirs.append(os.path.dirname(dirs['base_work_dir']))
-            if self.config.get('purge_basedirs'):
-                basedirs.extend(self.config.get('purge_basedirs'))
-
-        cmd = []
-        if self._is_windows():
-            # The virtualenv isn't setup yet, so just use python directly.
-            cmd.append(self.query_exe('python'))
-        # Add --dry-run if you don't want to do this for realz
-        cmd.extend([self.purge_tool, '-s', str(min_size)])
-
-        if max_age:
-            cmd.extend(['--max-age', str(max_age)])
-
-        for s in skip:
-            cmd.extend(['--not', s])
-
-        cmd.extend(basedirs)
-
-        # purge_builds.py can also clean up old shared hg repos if we set
-        # HG_SHARE_BASE_DIR accordingly
-        env = {'PATH': os.environ.get('PATH')}
-        share_base = c.get('vcs_share_base', os.environ.get("HG_SHARE_BASE_DIR", None))
-        if share_base:
-            env['HG_SHARE_BASE_DIR'] = share_base
-        retval = self.run_command(cmd, env=env)
-        if retval != 0:
-            self.fatal("failed to purge builds", exit_code=2)
-
     def clobberer(self):
         c = self.config
         dirs = self.query_abs_dirs()
         if not self.buildbot_config:
             self.fatal("clobberer requires self.buildbot_config (usually from $PROPERTIES_FILE)")
 
         periodic_clobber = c.get('periodic_clobber') or self.default_periodic_clobber
         clobberer_url = c['clobberer_url']
@@ -137,12 +92,10 @@ class PurgeMixin(object):
                 super(PurgeMixin, self).clobber()
             else:
                 # Delete the upload dir so we don't upload previous stuff by
                 # accident
                 if always_clobber_dirs is None:
                     always_clobber_dirs = []
                 for path in always_clobber_dirs:
                     self.rmtree(path)
-            # run purge_builds / check clobberer
-            self.purge_builds()
         else:
             super(PurgeMixin, self).clobber()
--- a/testing/mozharness/scripts/spidermonkey_build.py
+++ b/testing/mozharness/scripts/spidermonkey_build.py
@@ -149,19 +149,16 @@ class SpidermonkeyBuild(MockMixin,
             self.read_buildbot_config()
 
         if self.buildbot_config:
             bb_props = [('mock_target', 'mock_target', None),
                         ('base_bundle_urls', 'hgtool_base_bundle_urls', None),
                         ('base_mirror_urls', 'hgtool_base_mirror_urls', None),
                         ('hgurl', 'hgurl', None),
                         ('clobberer_url', 'clobberer_url', 'https://api.pub.build.mozilla.org/clobberer/lastclobber'),
-                        ('purge_minsize', 'purge_minsize', 15),
-                        ('purge_maxage', 'purge_maxage', None),
-                        ('purge_skip', 'purge_skip', None),
                         ('force_clobber', 'force_clobber', None),
                         ('branch', 'blob_upload_branch', None),
                         ]
             buildbot_props = self.buildbot_config.get('properties', {})
             for bb_prop, cfg_prop, default in bb_props:
                 if not self.config.get(cfg_prop) and buildbot_props.get(bb_prop, default):
                     self.config[cfg_prop] = buildbot_props.get(bb_prop, default)
             self.config['is_automation'] = True