Remove Debian9 GCC jobs and related code

Also update some recipe expectations to use job names that currently
exist.

Bug: skia:9632
Change-Id: I35883474a91ffb9fb2ab3b16089c7c80b5df0bd6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255982
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Ben Wagner aka dogben <benjaminwagner@google.com>
diff --git a/infra/bots/assets/mips64el_toolchain_linux/VERSION b/infra/bots/assets/mips64el_toolchain_linux/VERSION
deleted file mode 100644
index 62f9457..0000000
--- a/infra/bots/assets/mips64el_toolchain_linux/VERSION
+++ /dev/null
@@ -1 +0,0 @@
-6
\ No newline at end of file
diff --git a/infra/bots/assets/mips64el_toolchain_linux/common.py b/infra/bots/assets/mips64el_toolchain_linux/common.py
deleted file mode 100755
index caa0ad8..0000000
--- a/infra/bots/assets/mips64el_toolchain_linux/common.py
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/usr/bin/env python
-#
-# Copyright 2017 Google Inc.
-#
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-
-"""Common vars used by scripts in this directory."""
-
-
-import os
-import sys
-
-FILE_DIR = os.path.dirname(os.path.abspath(__file__))
-INFRA_BOTS_DIR = os.path.realpath(os.path.join(FILE_DIR, os.pardir, os.pardir))
-
-sys.path.insert(0, INFRA_BOTS_DIR)
-from assets import assets
-
-ASSET_NAME = os.path.basename(FILE_DIR)
-
-
-def run(cmd):
-  """Run a command, eg. "upload" or "download". """
-  assets.main([cmd, ASSET_NAME] + sys.argv[1:])
diff --git a/infra/bots/assets/mips64el_toolchain_linux/create.py b/infra/bots/assets/mips64el_toolchain_linux/create.py
deleted file mode 100755
index 5057129..0000000
--- a/infra/bots/assets/mips64el_toolchain_linux/create.py
+++ /dev/null
@@ -1,92 +0,0 @@
-#!/usr/bin/env python
-#
-# Copyright 2018 Google Inc.
-#
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-
-"""Create the asset."""
-
-
-import argparse
-import common
-import os
-import shutil
-import subprocess
-import utils
-
-# This is basically all the deps of g++-multilib-mips64el-linux-gnuabi64 that
-# are not already installed on the bots.
-#
-# We could try to also include packages that *are* already installed on the bots
-# as well, but that would be quite a bit, and would probably entail more hacky
-# fixes like below.
-#
-# There is probably a way to generate this list from apt, but it's not as
-# straightforward as it should be.
-PKGS = [
-    'binutils-mips64el-linux-gnuabi64',
-    'cpp-8-mips64el-linux-gnuabi64',
-    'g++-8-mips64el-linux-gnuabi64',
-    'gcc-8-cross-base',
-    'gcc-8-mips64el-linux-gnuabi64',
-    'gcc-8-mips64el-linux-gnuabi64-base',
-    'libatomic1-mips64el-cross',
-    'libc6-dev-mips64el-cross',
-    'libc6-mips64el-cross',
-    'libgcc-8-dev-mips64el-cross',
-    'libgcc1-mips64el-cross',
-    'libgomp1-mips64el-cross',
-    'libisl19',
-    'libmpfr6',  # This is new in buster, so build machines don't have it yet.
-    'libstdc++-8-dev-mips64el-cross',
-    'libstdc++6-mips64el-cross',
-    'linux-libc-dev-mips64el-cross',
-]
-
-def create_asset(target_dir):
-  """Create the asset."""
-  # This is all a bit hacky. Rather than installing to a chroot, we just extract
-  # all the packages to the target dir, then fix things up so that it can be
-  # used in our recipes.
-  with utils.tmp_dir():
-    # Download required Debian packages.
-    subprocess.check_call(['apt-get', 'download'] + PKGS)
-    for f in os.listdir('.'):
-      subprocess.check_call(['dpkg-deb', '--extract', f, target_dir])
-  parent_dir = os.path.join(target_dir, 'usr')
-  # Remove unnecessary files that cause problems with zipping (due to dangling
-  # symlinks).
-  os.remove(os.path.join(parent_dir,
-                         'lib/gcc-cross/mips64el-linux-gnuabi64/8/libcc1.so'))
-  shutil.rmtree(os.path.join(parent_dir, 'share'))
-  # Remove usr/ prefix.
-  for d in os.listdir(parent_dir):
-    os.rename(os.path.join(parent_dir, d), os.path.join(target_dir, d))
-  os.rmdir(parent_dir)
-  # Remove absolute paths in GNU ld scripts.
-  lib_dir = os.path.join(target_dir, 'mips64el-linux-gnuabi64/lib')
-  ld_script_token = 'OUTPUT_FORMAT(elf64-tradlittlemips)'
-  ld_script_files = subprocess.check_output(
-    ['grep', '--recursive', '--files-with-matches',
-     '--binary-files=without-match', '--fixed-strings', ld_script_token,
-     lib_dir]).split()
-  abs_path = '/usr/mips64el-linux-gnuabi64/lib/'
-  for f in ld_script_files:
-    with open(f) as script:
-      contents = script.read()
-    contents = contents.replace(abs_path, '')
-    with open(f, 'w') as script:
-      script.write(contents)
-
-
-def main():
-  parser = argparse.ArgumentParser()
-  parser.add_argument('--target_dir', '-t', required=True)
-  args = parser.parse_args()
-  create_asset(args.target_dir)
-
-
-if __name__ == '__main__':
-  main()
diff --git a/infra/bots/assets/mips64el_toolchain_linux/create_and_upload.py b/infra/bots/assets/mips64el_toolchain_linux/create_and_upload.py
deleted file mode 100755
index de56a80..0000000
--- a/infra/bots/assets/mips64el_toolchain_linux/create_and_upload.py
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/usr/bin/env python
-#
-# Copyright 2017 Google Inc.
-#
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-
-"""Create the asset and upload it."""
-
-
-import argparse
-import common
-import os
-import subprocess
-import sys
-import utils
-
-
-def main():
-  parser = argparse.ArgumentParser()
-  parser.add_argument('--gsutil')
-  args = parser.parse_args()
-
-  with utils.tmp_dir():
-    cwd = os.getcwd()
-    create_script = os.path.join(common.FILE_DIR, 'create.py')
-    upload_script = os.path.join(common.FILE_DIR, 'upload.py')
-
-    try:
-      subprocess.check_call(['python', create_script, '-t', cwd])
-      cmd = ['python', upload_script, '-t', cwd]
-      if args.gsutil:
-        cmd.extend(['--gsutil', args.gsutil])
-      subprocess.check_call(cmd)
-    except subprocess.CalledProcessError:
-      # Trap exceptions to avoid printing two stacktraces.
-      sys.exit(1)
-
-
-if __name__ == '__main__':
-  main()
diff --git a/infra/bots/assets/mips64el_toolchain_linux/download.py b/infra/bots/assets/mips64el_toolchain_linux/download.py
deleted file mode 100755
index ca999e0..0000000
--- a/infra/bots/assets/mips64el_toolchain_linux/download.py
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/usr/bin/env python
-#
-# Copyright 2017 Google Inc.
-#
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-
-"""Download the current version of the asset."""
-
-
-import common
-
-
-if __name__ == '__main__':
-  common.run('download')
diff --git a/infra/bots/assets/mips64el_toolchain_linux/upload.py b/infra/bots/assets/mips64el_toolchain_linux/upload.py
deleted file mode 100755
index bdfbda7..0000000
--- a/infra/bots/assets/mips64el_toolchain_linux/upload.py
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/usr/bin/env python
-#
-# Copyright 2017 Google Inc.
-#
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-
-"""Upload a new version of the asset."""
-
-
-import common
-
-
-if __name__ == '__main__':
-  common.run('upload')
diff --git a/infra/bots/compile.isolate b/infra/bots/compile.isolate
index a21c4ad..8b9f55a 100644
--- a/infra/bots/compile.isolate
+++ b/infra/bots/compile.isolate
@@ -44,7 +44,6 @@
       'assets/cast_toolchain/VERSION',
       'assets/clang_linux/VERSION',
       'assets/clang_win/VERSION',
-      'assets/mips64el_toolchain_linux/VERSION',
     ],
   },
 }
diff --git a/infra/bots/gen_compile_isolate.py b/infra/bots/gen_compile_isolate.py
index 01f76ed..c9bf262 100755
--- a/infra/bots/gen_compile_isolate.py
+++ b/infra/bots/gen_compile_isolate.py
@@ -40,7 +40,6 @@
   'infra/bots/assets/cast_toolchain/VERSION',
   'infra/bots/assets/clang_linux/VERSION',
   'infra/bots/assets/clang_win/VERSION',
-  'infra/bots/assets/mips64el_toolchain_linux/VERSION',
   'infra/canvaskit',
   'infra/pathkit',
   'resources',
diff --git a/infra/bots/gen_tasks_logic/gen_tasks_logic.go b/infra/bots/gen_tasks_logic/gen_tasks_logic.go
index fceb821..f3536ed 100644
--- a/infra/bots/gen_tasks_logic/gen_tasks_logic.go
+++ b/infra/bots/gen_tasks_logic/gen_tasks_logic.go
@@ -207,12 +207,12 @@
 	Project string `json:"project"`
 
 	// Service accounts.
-	ServiceAccountCompile                 string `json:"service_account_compile"`
-	ServiceAccountHousekeeper             string `json:"service_account_housekeeper"`
-	ServiceAccountRecreateSKPs            string `json:"service_account_recreate_skps"`
-	ServiceAccountUploadBinary            string `json:"service_account_upload_binary"`
-	ServiceAccountUploadGM                string `json:"service_account_upload_gm"`
-	ServiceAccountUploadNano              string `json:"service_account_upload_nano"`
+	ServiceAccountCompile      string `json:"service_account_compile"`
+	ServiceAccountHousekeeper  string `json:"service_account_housekeeper"`
+	ServiceAccountRecreateSKPs string `json:"service_account_recreate_skps"`
+	ServiceAccountUploadBinary string `json:"service_account_upload_binary"`
+	ServiceAccountUploadGM     string `json:"service_account_upload_gm"`
+	ServiceAccountUploadNano   string `json:"service_account_upload_nano"`
 
 	// Optional override function which derives Swarming bot dimensions
 	// from parts of task names.
@@ -487,10 +487,9 @@
 			task_os = "Mac"
 		} else if strings.Contains(task_os, "Win") {
 			task_os = "Win"
-		} else if parts["compiler"] == "GCC" && task_os == "Debian10" {
+		} else if parts["compiler"] == "GCC" {
 			// GCC compiles are now on a Docker container. We use the same OS and
 			// version to compile as to test.
-			// TODO(dogben): Remove Debian10 criteria above.
 			ec = append(ec, "Docker")
 		} else if strings.Contains(task_os, "Ubuntu") || strings.Contains(task_os, "Debian") {
 			task_os = "Debian9"
@@ -1019,12 +1018,6 @@
 		if strings.Contains(name, "Clang") {
 			task.CipdPackages = append(task.CipdPackages, b.MustGetCipdPackageFromAsset("clang_linux"))
 		}
-		if parts["target_arch"] == "mips64el" || parts["target_arch"] == "loongson3a" {
-			if parts["compiler"] != "GCC" {
-				glog.Fatalf("mips64el toolchain is GCC, but compiler is %q in %q", parts["compiler"], name)
-			}
-			task.CipdPackages = append(task.CipdPackages, b.MustGetCipdPackageFromAsset("mips64el_toolchain_linux"))
-		}
 		if strings.Contains(name, "SwiftShader") {
 			task.CipdPackages = append(task.CipdPackages, b.MustGetCipdPackageFromAsset("cmake_linux"))
 		}
diff --git a/infra/bots/jobs.json b/infra/bots/jobs.json
index d12ddff..a3baa85 100644
--- a/infra/bots/jobs.json
+++ b/infra/bots/jobs.json
@@ -82,17 +82,6 @@
   "Build-Debian9-EMCC-wasm-Release-CanvasKit",
   "Build-Debian9-EMCC-wasm-Release-CanvasKit_CPU",
   "Build-Debian9-EMCC-wasm-Release-PathKit",
-  "Build-Debian9-GCC-loongson3a-Debug",
-  "Build-Debian9-GCC-loongson3a-Release",
-  "Build-Debian9-GCC-mips64el-Debug",
-  "Build-Debian9-GCC-mips64el-Release",
-  "Build-Debian9-GCC-x86-Debug",
-  "Build-Debian9-GCC-x86-Release",
-  "Build-Debian9-GCC-x86_64-Debug",
-  "Build-Debian9-GCC-x86_64-Debug-NoGPU",
-  "Build-Debian9-GCC-x86_64-Release",
-  "Build-Debian9-GCC-x86_64-Release-NoGPU",
-  "Build-Debian9-GCC-x86_64-Release-Shared",
   "Build-Mac-Clang-arm-Debug-iOS",
   "Build-Mac-Clang-arm-Release-iOS",
   "Build-Mac-Clang-arm64-Debug-Android",
@@ -445,10 +434,6 @@
   "Test-Debian9-EMCC-GCE-CPU-AVX2-wasm-Release-All-CanvasKit",
   "Test-Debian9-EMCC-GCE-CPU-AVX2-wasm-Release-All-PathKit",
   "Test-Debian9-EMCC-GCE-GPU-AVX2-wasm-Release-All-CanvasKit",
-  "Test-Debian9-GCC-GCE-CPU-AVX2-x86-Debug-All",
-  "Test-Debian9-GCC-GCE-CPU-AVX2-x86-Release-All",
-  "Test-Debian9-GCC-GCE-CPU-AVX2-x86_64-Debug-All",
-  "Test-Debian9-GCC-GCE-CPU-AVX2-x86_64-Release-All",
   "Test-Mac10.13-Clang-MacBook10.1-GPU-IntelHD615-x86_64-Debug-All",
   "Test-Mac10.13-Clang-MacBook10.1-GPU-IntelHD615-x86_64-Debug-All-CommandBuffer",
   "Test-Mac10.13-Clang-MacBook10.1-GPU-IntelHD615-x86_64-Debug-All-DDL1_Metal",
diff --git a/infra/bots/recipe_modules/build/default.py b/infra/bots/recipe_modules/build/default.py
index 23430b4..4d16d04 100644
--- a/infra/bots/recipe_modules/build/default.py
+++ b/infra/bots/recipe_modules/build/default.py
@@ -140,28 +140,6 @@
 
   elif compiler == 'Clang':
     cc, cxx = 'clang', 'clang++'
-  elif compiler == 'GCC':
-    if target_arch in ['mips64el', 'loongson3a']:
-      mips64el_toolchain_linux = str(api.vars.slave_dir.join(
-          'mips64el_toolchain_linux'))
-      cc  = mips64el_toolchain_linux + '/bin/mips64el-linux-gnuabi64-gcc-8'
-      cxx = mips64el_toolchain_linux + '/bin/mips64el-linux-gnuabi64-g++-8'
-      env['LD_LIBRARY_PATH'] = (
-          mips64el_toolchain_linux + '/lib/x86_64-linux-gnu/')
-      extra_ldflags.append('-L' + mips64el_toolchain_linux +
-                           '/mips64el-linux-gnuabi64/lib')
-      extra_cflags.extend([
-          ('-DDUMMY_mips64el_toolchain_linux_version=%s' %
-           api.run.asset_version('mips64el_toolchain_linux', skia_dir))
-      ])
-      args.update({
-        'skia_use_system_freetype2': 'false',
-        'skia_use_fontconfig':       'false',
-        'skia_enable_gpu':           'false',
-        'werror':                    'false',
-      })
-    else:
-      cc, cxx = 'gcc', 'g++'
 
   if 'Tidy' in extra_tokens:
     # Swap in clang-tidy.sh for clang++, but update PATH so it can find clang++.
@@ -242,8 +220,6 @@
       'skia_use_vulkan':        'false',
       'skia_use_zlib':          'false',
     })
-  if 'NoGPU' in extra_tokens:
-    args['skia_enable_gpu'] = 'false'
   if 'Shared' in extra_tokens:
     args['is_component_build'] = 'true'
   if 'Vulkan' in extra_tokens and not 'Android' in extra_tokens:
diff --git a/infra/bots/recipe_modules/build/examples/full.expected/Build-Debian9-GCC-arm-Release-Chromecast.json b/infra/bots/recipe_modules/build/examples/full.expected/Build-Debian9-Clang-arm-Release-Chromecast.json
similarity index 95%
rename from infra/bots/recipe_modules/build/examples/full.expected/Build-Debian9-GCC-arm-Release-Chromecast.json
rename to infra/bots/recipe_modules/build/examples/full.expected/Build-Debian9-Clang-arm-Release-Chromecast.json
index 3e915a6..22a3fb2 100644
--- a/infra/bots/recipe_modules/build/examples/full.expected/Build-Debian9-GCC-arm-Release-Chromecast.json
+++ b/infra/bots/recipe_modules/build/examples/full.expected/Build-Debian9-Clang-arm-Release-Chromecast.json
@@ -35,7 +35,7 @@
     "cmd": [
       "[START_DIR]/cache/work/skia/bin/gn",
       "gen",
-      "[START_DIR]/cache/work/skia/out/Build-Debian9-GCC-arm-Release-Chromecast/Release",
+      "[START_DIR]/cache/work/skia/out/Build-Debian9-Clang-arm-Release-Chromecast/Release",
       "--args=ar=\"[START_DIR]/cast_toolchain/armv7a/bin/armv7a-cros-linux-gnueabihf-ar\" cc=\"[START_DIR]/cast_toolchain/armv7a/usr/bin/clang-9.elf\" cxx=\"[START_DIR]/cast_toolchain/armv7a/usr/bin/clang++-9.elf\" extra_asmflags=[\"-target\", \"armv7a-cros-linux-gnueabihf\"] extra_cflags=[\"-target\", \"armv7a-cros-linux-gnueabihf\", \"--sysroot\", \"[START_DIR]/cast_toolchain/armv7a/usr/armv7a-cros-linux-gnueabihf\", \"-I[START_DIR]/chromebook_arm_gles/include\", \"-DMESA_EGL_NO_X11_HEADERS\", \"-DSK_NO_COMMAND_BUFFER\", \"-Wno-error=unused-function\", \"-g0\", \"-DDUMMY_cast_toolchain_version=42\", \"-include\", \"[START_DIR]/cache/work/skia/tools/force_older_glibc_math.h\"] extra_ldflags=[\"-target\", \"armv7a-cros-linux-gnueabihf\", \"--sysroot\", \"[START_DIR]/cast_toolchain/armv7a/usr/armv7a-cros-linux-gnueabihf\", \"-static-libstdc++\", \"-static-libgcc\", \"-L[START_DIR]/cast_toolchain/armv7a/lib\", \"-L[START_DIR]/chromebook_arm_gles/lib\", \"-fuse-ld=gold\", \"-B[START_DIR]/cast_toolchain/armv7a/usr/libexec/gcc\"] is_debug=false skia_enable_gpu=true skia_use_egl=true skia_use_fontconfig=false skia_use_icu=false skia_use_system_freetype2=false target_cpu=\"arm\" werror=true"
     ],
     "cwd": "[START_DIR]/cache/work/skia",
@@ -49,7 +49,7 @@
     "cmd": [
       "ninja",
       "-C",
-      "[START_DIR]/cache/work/skia/out/Build-Debian9-GCC-arm-Release-Chromecast/Release",
+      "[START_DIR]/cache/work/skia/out/Build-Debian9-Clang-arm-Release-Chromecast/Release",
       "nanobench",
       "dm"
     ],
@@ -65,7 +65,7 @@
       "python",
       "-u",
       "import errno\nimport glob\nimport os\nimport shutil\nimport sys\n\nsrc = sys.argv[1]\ndst = sys.argv[2]\nbuild_products = ['dm', 'dm.exe', 'dm.app', 'nanobench.app', 'get_images_from_skps', 'get_images_from_skps.exe', 'hello-opencl', 'hello-opencl.exe', 'nanobench', 'nanobench.exe', 'skpbench', 'skpbench.exe', '*.so', '*.dll', '*.dylib', 'skia_launcher', 'skottie_tool', 'lib/*.so', 'run_testlab', 'skqp-universal-debug.apk', 'whitelist_devices.json']\n\ntry:\n  os.makedirs(dst)\nexcept OSError as e:\n  if e.errno != errno.EEXIST:\n    raise\n\nfor pattern in build_products:\n  path = os.path.join(src, pattern)\n  for f in glob.glob(path):\n    dst_path = os.path.join(dst, os.path.relpath(f, src))\n    if not os.path.isdir(os.path.dirname(dst_path)):\n      os.makedirs(os.path.dirname(dst_path))\n    print 'Copying build product %s to %s' % (f, dst_path)\n    shutil.move(f, dst_path)\n",
-      "[START_DIR]/cache/work/skia/out/Build-Debian9-GCC-arm-Release-Chromecast/Release",
+      "[START_DIR]/cache/work/skia/out/Build-Debian9-Clang-arm-Release-Chromecast/Release",
       "[START_DIR]/[SWARM_OUT_DIR]/out/Release"
     ],
     "infra_step": true,
diff --git a/infra/bots/recipe_modules/build/examples/full.expected/Build-Debian9-GCC-loongson3a-Release.json b/infra/bots/recipe_modules/build/examples/full.expected/Build-Debian9-Clang-x86_64-Release-ANGLE.json
similarity index 80%
rename from infra/bots/recipe_modules/build/examples/full.expected/Build-Debian9-GCC-loongson3a-Release.json
rename to infra/bots/recipe_modules/build/examples/full.expected/Build-Debian9-Clang-x86_64-Release-ANGLE.json
index bf3e923..0389e08 100644
--- a/infra/bots/recipe_modules/build/examples/full.expected/Build-Debian9-GCC-loongson3a-Release.json
+++ b/infra/bots/recipe_modules/build/examples/full.expected/Build-Debian9-Clang-x86_64-Release-ANGLE.json
@@ -7,11 +7,11 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "[START_DIR]/cache/work/skia/infra/bots/assets/mips64el_toolchain_linux/VERSION",
+      "[START_DIR]/cache/work/skia/infra/bots/assets/clang_linux/VERSION",
       "/path/to/tmp/"
     ],
     "infra_step": true,
-    "name": "Get mips64el_toolchain_linux VERSION",
+    "name": "Get clang_linux VERSION",
     "~followup_annotations": [
       "@@@STEP_LOG_LINE@VERSION@42@@@",
       "@@@STEP_LOG_END@VERSION@@@"
@@ -35,13 +35,12 @@
     "cmd": [
       "[START_DIR]/cache/work/skia/bin/gn",
       "gen",
-      "[START_DIR]/cache/work/skia/out/Build-Debian9-GCC-loongson3a-Release/Release",
-      "--args=cc=\"[START_DIR]/mips64el_toolchain_linux/bin/mips64el-linux-gnuabi64-gcc-8\" cxx=\"[START_DIR]/mips64el_toolchain_linux/bin/mips64el-linux-gnuabi64-g++-8\" extra_cflags=[\"-DDUMMY_mips64el_toolchain_linux_version=42\"] extra_ldflags=[\"-L[START_DIR]/mips64el_toolchain_linux/mips64el-linux-gnuabi64/lib\"] is_debug=false skia_enable_gpu=false skia_use_fontconfig=false skia_use_system_freetype2=false target_cpu=\"loongson3a\" werror=false"
+      "[START_DIR]/cache/work/skia/out/Build-Debian9-Clang-x86_64-Release-ANGLE/Release",
+      "--args=cc=\"[START_DIR]/clang_linux/bin/clang\" cxx=\"[START_DIR]/clang_linux/bin/clang++\" extra_cflags=[\"-B[START_DIR]/clang_linux/bin\", \"-DDUMMY_clang_linux_version=42\"] extra_ldflags=[\"-B[START_DIR]/clang_linux/bin\", \"-fuse-ld=lld\"] is_debug=false skia_use_angle=true target_cpu=\"x86_64\" werror=true"
     ],
     "cwd": "[START_DIR]/cache/work/skia",
     "env": {
       "CHROME_HEADLESS": "1",
-      "LD_LIBRARY_PATH": "[START_DIR]/mips64el_toolchain_linux/lib/x86_64-linux-gnu/",
       "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
     },
     "name": "gn gen"
@@ -50,12 +49,11 @@
     "cmd": [
       "ninja",
       "-C",
-      "[START_DIR]/cache/work/skia/out/Build-Debian9-GCC-loongson3a-Release/Release"
+      "[START_DIR]/cache/work/skia/out/Build-Debian9-Clang-x86_64-Release-ANGLE/Release"
     ],
     "cwd": "[START_DIR]/cache/work/skia",
     "env": {
       "CHROME_HEADLESS": "1",
-      "LD_LIBRARY_PATH": "[START_DIR]/mips64el_toolchain_linux/lib/x86_64-linux-gnu/",
       "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
     },
     "name": "ninja"
@@ -65,7 +63,7 @@
       "python",
       "-u",
       "import errno\nimport glob\nimport os\nimport shutil\nimport sys\n\nsrc = sys.argv[1]\ndst = sys.argv[2]\nbuild_products = ['dm', 'dm.exe', 'dm.app', 'nanobench.app', 'get_images_from_skps', 'get_images_from_skps.exe', 'hello-opencl', 'hello-opencl.exe', 'nanobench', 'nanobench.exe', 'skpbench', 'skpbench.exe', '*.so', '*.dll', '*.dylib', 'skia_launcher', 'skottie_tool', 'lib/*.so', 'run_testlab', 'skqp-universal-debug.apk', 'whitelist_devices.json']\n\ntry:\n  os.makedirs(dst)\nexcept OSError as e:\n  if e.errno != errno.EEXIST:\n    raise\n\nfor pattern in build_products:\n  path = os.path.join(src, pattern)\n  for f in glob.glob(path):\n    dst_path = os.path.join(dst, os.path.relpath(f, src))\n    if not os.path.isdir(os.path.dirname(dst_path)):\n      os.makedirs(os.path.dirname(dst_path))\n    print 'Copying build product %s to %s' % (f, dst_path)\n    shutil.move(f, dst_path)\n",
-      "[START_DIR]/cache/work/skia/out/Build-Debian9-GCC-loongson3a-Release/Release",
+      "[START_DIR]/cache/work/skia/out/Build-Debian9-Clang-x86_64-Release-ANGLE/Release",
       "[START_DIR]/[SWARM_OUT_DIR]/out/Release"
     ],
     "infra_step": true,
diff --git a/infra/bots/recipe_modules/build/examples/full.expected/Build-Debian9-GCC-x86_64-Release-NoGPU.json b/infra/bots/recipe_modules/build/examples/full.expected/Build-Debian9-GCC-x86_64-Release-NoGPU.json
deleted file mode 100644
index 29fb6d2..0000000
--- a/infra/bots/recipe_modules/build/examples/full.expected/Build-Debian9-GCC-x86_64-Release-NoGPU.json
+++ /dev/null
@@ -1,84 +0,0 @@
-[
-  {
-    "cmd": [
-      "python",
-      "-u",
-      "[START_DIR]/cache/work/skia/bin/fetch-gn"
-    ],
-    "cwd": "[START_DIR]/cache/work/skia",
-    "env": {
-      "CHROME_HEADLESS": "1",
-      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
-    },
-    "infra_step": true,
-    "name": "fetch-gn"
-  },
-  {
-    "cmd": [
-      "[START_DIR]/cache/work/skia/bin/gn",
-      "gen",
-      "[START_DIR]/cache/work/skia/out/Build-Debian9-GCC-x86_64-Release-NoGPU/Release",
-      "--args=cc=\"gcc\" cxx=\"g++\" is_debug=false skia_enable_gpu=false target_cpu=\"x86_64\" werror=true"
-    ],
-    "cwd": "[START_DIR]/cache/work/skia",
-    "env": {
-      "CHROME_HEADLESS": "1",
-      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
-    },
-    "name": "gn gen"
-  },
-  {
-    "cmd": [
-      "ninja",
-      "-C",
-      "[START_DIR]/cache/work/skia/out/Build-Debian9-GCC-x86_64-Release-NoGPU/Release"
-    ],
-    "cwd": "[START_DIR]/cache/work/skia",
-    "env": {
-      "CHROME_HEADLESS": "1",
-      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
-    },
-    "name": "ninja"
-  },
-  {
-    "cmd": [
-      "python",
-      "-u",
-      "import errno\nimport glob\nimport os\nimport shutil\nimport sys\n\nsrc = sys.argv[1]\ndst = sys.argv[2]\nbuild_products = ['dm', 'dm.exe', 'dm.app', 'nanobench.app', 'get_images_from_skps', 'get_images_from_skps.exe', 'hello-opencl', 'hello-opencl.exe', 'nanobench', 'nanobench.exe', 'skpbench', 'skpbench.exe', '*.so', '*.dll', '*.dylib', 'skia_launcher', 'skottie_tool', 'lib/*.so', 'run_testlab', 'skqp-universal-debug.apk', 'whitelist_devices.json']\n\ntry:\n  os.makedirs(dst)\nexcept OSError as e:\n  if e.errno != errno.EEXIST:\n    raise\n\nfor pattern in build_products:\n  path = os.path.join(src, pattern)\n  for f in glob.glob(path):\n    dst_path = os.path.join(dst, os.path.relpath(f, src))\n    if not os.path.isdir(os.path.dirname(dst_path)):\n      os.makedirs(os.path.dirname(dst_path))\n    print 'Copying build product %s to %s' % (f, dst_path)\n    shutil.move(f, dst_path)\n",
-      "[START_DIR]/cache/work/skia/out/Build-Debian9-GCC-x86_64-Release-NoGPU/Release",
-      "[START_DIR]/[SWARM_OUT_DIR]/out/Release"
-    ],
-    "infra_step": true,
-    "name": "copy build products",
-    "~followup_annotations": [
-      "@@@STEP_LOG_LINE@python.inline@import errno@@@",
-      "@@@STEP_LOG_LINE@python.inline@import glob@@@",
-      "@@@STEP_LOG_LINE@python.inline@import os@@@",
-      "@@@STEP_LOG_LINE@python.inline@import shutil@@@",
-      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
-      "@@@STEP_LOG_LINE@python.inline@@@@",
-      "@@@STEP_LOG_LINE@python.inline@src = sys.argv[1]@@@",
-      "@@@STEP_LOG_LINE@python.inline@dst = sys.argv[2]@@@",
-      "@@@STEP_LOG_LINE@python.inline@build_products = ['dm', 'dm.exe', 'dm.app', 'nanobench.app', 'get_images_from_skps', 'get_images_from_skps.exe', 'hello-opencl', 'hello-opencl.exe', 'nanobench', 'nanobench.exe', 'skpbench', 'skpbench.exe', '*.so', '*.dll', '*.dylib', 'skia_launcher', 'skottie_tool', 'lib/*.so', 'run_testlab', 'skqp-universal-debug.apk', 'whitelist_devices.json']@@@",
-      "@@@STEP_LOG_LINE@python.inline@@@@",
-      "@@@STEP_LOG_LINE@python.inline@try:@@@",
-      "@@@STEP_LOG_LINE@python.inline@  os.makedirs(dst)@@@",
-      "@@@STEP_LOG_LINE@python.inline@except OSError as e:@@@",
-      "@@@STEP_LOG_LINE@python.inline@  if e.errno != errno.EEXIST:@@@",
-      "@@@STEP_LOG_LINE@python.inline@    raise@@@",
-      "@@@STEP_LOG_LINE@python.inline@@@@",
-      "@@@STEP_LOG_LINE@python.inline@for pattern in build_products:@@@",
-      "@@@STEP_LOG_LINE@python.inline@  path = os.path.join(src, pattern)@@@",
-      "@@@STEP_LOG_LINE@python.inline@  for f in glob.glob(path):@@@",
-      "@@@STEP_LOG_LINE@python.inline@    dst_path = os.path.join(dst, os.path.relpath(f, src))@@@",
-      "@@@STEP_LOG_LINE@python.inline@    if not os.path.isdir(os.path.dirname(dst_path)):@@@",
-      "@@@STEP_LOG_LINE@python.inline@      os.makedirs(os.path.dirname(dst_path))@@@",
-      "@@@STEP_LOG_LINE@python.inline@    print 'Copying build product %s to %s' % (f, dst_path)@@@",
-      "@@@STEP_LOG_LINE@python.inline@    shutil.move(f, dst_path)@@@",
-      "@@@STEP_LOG_END@python.inline@@@"
-    ]
-  },
-  {
-    "name": "$result"
-  }
-]
\ No newline at end of file
diff --git a/infra/bots/recipe_modules/build/examples/full.expected/Build-Debian9-GCC-x86_64-Release-Shared.json b/infra/bots/recipe_modules/build/examples/full.expected/Build-Debian9-GCC-x86_64-Release-Shared.json
deleted file mode 100644
index 12b83d8..0000000
--- a/infra/bots/recipe_modules/build/examples/full.expected/Build-Debian9-GCC-x86_64-Release-Shared.json
+++ /dev/null
@@ -1,84 +0,0 @@
-[
-  {
-    "cmd": [
-      "python",
-      "-u",
-      "[START_DIR]/cache/work/skia/bin/fetch-gn"
-    ],
-    "cwd": "[START_DIR]/cache/work/skia",
-    "env": {
-      "CHROME_HEADLESS": "1",
-      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
-    },
-    "infra_step": true,
-    "name": "fetch-gn"
-  },
-  {
-    "cmd": [
-      "[START_DIR]/cache/work/skia/bin/gn",
-      "gen",
-      "[START_DIR]/cache/work/skia/out/Build-Debian9-GCC-x86_64-Release-Shared/Release",
-      "--args=cc=\"gcc\" cxx=\"g++\" is_component_build=true is_debug=false target_cpu=\"x86_64\" werror=true"
-    ],
-    "cwd": "[START_DIR]/cache/work/skia",
-    "env": {
-      "CHROME_HEADLESS": "1",
-      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
-    },
-    "name": "gn gen"
-  },
-  {
-    "cmd": [
-      "ninja",
-      "-C",
-      "[START_DIR]/cache/work/skia/out/Build-Debian9-GCC-x86_64-Release-Shared/Release"
-    ],
-    "cwd": "[START_DIR]/cache/work/skia",
-    "env": {
-      "CHROME_HEADLESS": "1",
-      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
-    },
-    "name": "ninja"
-  },
-  {
-    "cmd": [
-      "python",
-      "-u",
-      "import errno\nimport glob\nimport os\nimport shutil\nimport sys\n\nsrc = sys.argv[1]\ndst = sys.argv[2]\nbuild_products = ['dm', 'dm.exe', 'dm.app', 'nanobench.app', 'get_images_from_skps', 'get_images_from_skps.exe', 'hello-opencl', 'hello-opencl.exe', 'nanobench', 'nanobench.exe', 'skpbench', 'skpbench.exe', '*.so', '*.dll', '*.dylib', 'skia_launcher', 'skottie_tool', 'lib/*.so', 'run_testlab', 'skqp-universal-debug.apk', 'whitelist_devices.json']\n\ntry:\n  os.makedirs(dst)\nexcept OSError as e:\n  if e.errno != errno.EEXIST:\n    raise\n\nfor pattern in build_products:\n  path = os.path.join(src, pattern)\n  for f in glob.glob(path):\n    dst_path = os.path.join(dst, os.path.relpath(f, src))\n    if not os.path.isdir(os.path.dirname(dst_path)):\n      os.makedirs(os.path.dirname(dst_path))\n    print 'Copying build product %s to %s' % (f, dst_path)\n    shutil.move(f, dst_path)\n",
-      "[START_DIR]/cache/work/skia/out/Build-Debian9-GCC-x86_64-Release-Shared/Release",
-      "[START_DIR]/[SWARM_OUT_DIR]/out/Release"
-    ],
-    "infra_step": true,
-    "name": "copy build products",
-    "~followup_annotations": [
-      "@@@STEP_LOG_LINE@python.inline@import errno@@@",
-      "@@@STEP_LOG_LINE@python.inline@import glob@@@",
-      "@@@STEP_LOG_LINE@python.inline@import os@@@",
-      "@@@STEP_LOG_LINE@python.inline@import shutil@@@",
-      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
-      "@@@STEP_LOG_LINE@python.inline@@@@",
-      "@@@STEP_LOG_LINE@python.inline@src = sys.argv[1]@@@",
-      "@@@STEP_LOG_LINE@python.inline@dst = sys.argv[2]@@@",
-      "@@@STEP_LOG_LINE@python.inline@build_products = ['dm', 'dm.exe', 'dm.app', 'nanobench.app', 'get_images_from_skps', 'get_images_from_skps.exe', 'hello-opencl', 'hello-opencl.exe', 'nanobench', 'nanobench.exe', 'skpbench', 'skpbench.exe', '*.so', '*.dll', '*.dylib', 'skia_launcher', 'skottie_tool', 'lib/*.so', 'run_testlab', 'skqp-universal-debug.apk', 'whitelist_devices.json']@@@",
-      "@@@STEP_LOG_LINE@python.inline@@@@",
-      "@@@STEP_LOG_LINE@python.inline@try:@@@",
-      "@@@STEP_LOG_LINE@python.inline@  os.makedirs(dst)@@@",
-      "@@@STEP_LOG_LINE@python.inline@except OSError as e:@@@",
-      "@@@STEP_LOG_LINE@python.inline@  if e.errno != errno.EEXIST:@@@",
-      "@@@STEP_LOG_LINE@python.inline@    raise@@@",
-      "@@@STEP_LOG_LINE@python.inline@@@@",
-      "@@@STEP_LOG_LINE@python.inline@for pattern in build_products:@@@",
-      "@@@STEP_LOG_LINE@python.inline@  path = os.path.join(src, pattern)@@@",
-      "@@@STEP_LOG_LINE@python.inline@  for f in glob.glob(path):@@@",
-      "@@@STEP_LOG_LINE@python.inline@    dst_path = os.path.join(dst, os.path.relpath(f, src))@@@",
-      "@@@STEP_LOG_LINE@python.inline@    if not os.path.isdir(os.path.dirname(dst_path)):@@@",
-      "@@@STEP_LOG_LINE@python.inline@      os.makedirs(os.path.dirname(dst_path))@@@",
-      "@@@STEP_LOG_LINE@python.inline@    print 'Copying build product %s to %s' % (f, dst_path)@@@",
-      "@@@STEP_LOG_LINE@python.inline@    shutil.move(f, dst_path)@@@",
-      "@@@STEP_LOG_END@python.inline@@@"
-    ]
-  },
-  {
-    "name": "$result"
-  }
-]
\ No newline at end of file
diff --git a/infra/bots/recipe_modules/build/examples/full.expected/Build-Debian9-GCC-x86_64-Release-ANGLE.json b/infra/bots/recipe_modules/build/examples/full.expected/Build-Win-Clang-x86_64-Debug-ANGLE.json
similarity index 70%
rename from infra/bots/recipe_modules/build/examples/full.expected/Build-Debian9-GCC-x86_64-Release-ANGLE.json
rename to infra/bots/recipe_modules/build/examples/full.expected/Build-Win-Clang-x86_64-Debug-ANGLE.json
index b54d262..8c9d108 100644
--- a/infra/bots/recipe_modules/build/examples/full.expected/Build-Debian9-GCC-x86_64-Release-ANGLE.json
+++ b/infra/bots/recipe_modules/build/examples/full.expected/Build-Win-Clang-x86_64-Debug-ANGLE.json
@@ -1,29 +1,47 @@
 [
   {
     "cmd": [
+      "vpython",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]\\resources\\fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "copy",
+      "[START_DIR]\\cache\\work\\skia\\infra\\bots\\assets\\clang_win\\VERSION",
+      "/path/to/tmp/"
+    ],
+    "infra_step": true,
+    "name": "Get clang_win VERSION",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@VERSION@42@@@",
+      "@@@STEP_LOG_END@VERSION@@@"
+    ]
+  },
+  {
+    "cmd": [
       "python",
       "-u",
-      "[START_DIR]/cache/work/skia/bin/fetch-gn"
+      "[START_DIR]\\cache\\work\\skia\\bin\\fetch-gn"
     ],
-    "cwd": "[START_DIR]/cache/work/skia",
+    "cwd": "[START_DIR]\\cache\\work\\skia",
     "env": {
       "CHROME_HEADLESS": "1",
-      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
+      "PATH": "<PATH>;RECIPE_REPO[depot_tools]"
     },
     "infra_step": true,
     "name": "fetch-gn"
   },
   {
     "cmd": [
-      "[START_DIR]/cache/work/skia/bin/gn",
+      "[START_DIR]\\cache\\work\\skia\\bin\\gn",
       "gen",
-      "[START_DIR]/cache/work/skia/out/Build-Debian9-GCC-x86_64-Release-ANGLE/Release",
-      "--args=cc=\"gcc\" cxx=\"g++\" is_debug=false skia_use_angle=true target_cpu=\"x86_64\" werror=true"
+      "[START_DIR]\\cache\\work\\skia\\out\\Build-Win-Clang-x86_64-Debug-ANGLE\\Debug_x64",
+      "--args=cc=\"clang\" clang_win=\"[START_DIR]\\clang_win\" cxx=\"clang++\" extra_cflags=[\"-O1\", \"-DDUMMY_clang_win_version=42\"] skia_use_angle=true target_cpu=\"x86_64\" werror=true win_sdk=\"[START_DIR]\\win_toolchain/win_sdk\" win_vc=\"[START_DIR]\\win_toolchain/VC\""
     ],
-    "cwd": "[START_DIR]/cache/work/skia",
+    "cwd": "[START_DIR]\\cache\\work\\skia",
     "env": {
       "CHROME_HEADLESS": "1",
-      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
+      "PATH": "<PATH>;RECIPE_REPO[depot_tools]"
     },
     "name": "gn gen"
   },
@@ -31,12 +49,12 @@
     "cmd": [
       "ninja",
       "-C",
-      "[START_DIR]/cache/work/skia/out/Build-Debian9-GCC-x86_64-Release-ANGLE/Release"
+      "[START_DIR]\\cache\\work\\skia\\out\\Build-Win-Clang-x86_64-Debug-ANGLE\\Debug_x64"
     ],
-    "cwd": "[START_DIR]/cache/work/skia",
+    "cwd": "[START_DIR]\\cache\\work\\skia",
     "env": {
       "CHROME_HEADLESS": "1",
-      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
+      "PATH": "<PATH>;RECIPE_REPO[depot_tools]"
     },
     "name": "ninja"
   },
@@ -45,8 +63,8 @@
       "python",
       "-u",
       "import errno\nimport glob\nimport os\nimport shutil\nimport sys\n\nsrc = sys.argv[1]\ndst = sys.argv[2]\nbuild_products = ['dm', 'dm.exe', 'dm.app', 'nanobench.app', 'get_images_from_skps', 'get_images_from_skps.exe', 'hello-opencl', 'hello-opencl.exe', 'nanobench', 'nanobench.exe', 'skpbench', 'skpbench.exe', '*.so', '*.dll', '*.dylib', 'skia_launcher', 'skottie_tool', 'lib/*.so', 'run_testlab', 'skqp-universal-debug.apk', 'whitelist_devices.json']\n\ntry:\n  os.makedirs(dst)\nexcept OSError as e:\n  if e.errno != errno.EEXIST:\n    raise\n\nfor pattern in build_products:\n  path = os.path.join(src, pattern)\n  for f in glob.glob(path):\n    dst_path = os.path.join(dst, os.path.relpath(f, src))\n    if not os.path.isdir(os.path.dirname(dst_path)):\n      os.makedirs(os.path.dirname(dst_path))\n    print 'Copying build product %s to %s' % (f, dst_path)\n    shutil.move(f, dst_path)\n",
-      "[START_DIR]/cache/work/skia/out/Build-Debian9-GCC-x86_64-Release-ANGLE/Release",
-      "[START_DIR]/[SWARM_OUT_DIR]/out/Release"
+      "[START_DIR]\\cache\\work\\skia\\out\\Build-Win-Clang-x86_64-Debug-ANGLE\\Debug_x64",
+      "[START_DIR]\\[SWARM_OUT_DIR]\\out\\Debug_x64"
     ],
     "infra_step": true,
     "name": "copy build products",
diff --git a/infra/bots/recipe_modules/build/examples/full.expected/Build-Debian9-GCC-loongson3a-Release.json b/infra/bots/recipe_modules/build/examples/full.expected/Build-Win-Clang-x86_64-Release-Shared.json
similarity index 70%
copy from infra/bots/recipe_modules/build/examples/full.expected/Build-Debian9-GCC-loongson3a-Release.json
copy to infra/bots/recipe_modules/build/examples/full.expected/Build-Win-Clang-x86_64-Release-Shared.json
index bf3e923..9243394 100644
--- a/infra/bots/recipe_modules/build/examples/full.expected/Build-Debian9-GCC-loongson3a-Release.json
+++ b/infra/bots/recipe_modules/build/examples/full.expected/Build-Win-Clang-x86_64-Release-Shared.json
@@ -3,15 +3,15 @@
     "cmd": [
       "vpython",
       "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "RECIPE_MODULE[recipe_engine::file]\\resources\\fileutil.py",
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "[START_DIR]/cache/work/skia/infra/bots/assets/mips64el_toolchain_linux/VERSION",
+      "[START_DIR]\\cache\\work\\skia\\infra\\bots\\assets\\clang_win\\VERSION",
       "/path/to/tmp/"
     ],
     "infra_step": true,
-    "name": "Get mips64el_toolchain_linux VERSION",
+    "name": "Get clang_win VERSION",
     "~followup_annotations": [
       "@@@STEP_LOG_LINE@VERSION@42@@@",
       "@@@STEP_LOG_END@VERSION@@@"
@@ -21,28 +21,27 @@
     "cmd": [
       "python",
       "-u",
-      "[START_DIR]/cache/work/skia/bin/fetch-gn"
+      "[START_DIR]\\cache\\work\\skia\\bin\\fetch-gn"
     ],
-    "cwd": "[START_DIR]/cache/work/skia",
+    "cwd": "[START_DIR]\\cache\\work\\skia",
     "env": {
       "CHROME_HEADLESS": "1",
-      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
+      "PATH": "<PATH>;RECIPE_REPO[depot_tools]"
     },
     "infra_step": true,
     "name": "fetch-gn"
   },
   {
     "cmd": [
-      "[START_DIR]/cache/work/skia/bin/gn",
+      "[START_DIR]\\cache\\work\\skia\\bin\\gn",
       "gen",
-      "[START_DIR]/cache/work/skia/out/Build-Debian9-GCC-loongson3a-Release/Release",
-      "--args=cc=\"[START_DIR]/mips64el_toolchain_linux/bin/mips64el-linux-gnuabi64-gcc-8\" cxx=\"[START_DIR]/mips64el_toolchain_linux/bin/mips64el-linux-gnuabi64-g++-8\" extra_cflags=[\"-DDUMMY_mips64el_toolchain_linux_version=42\"] extra_ldflags=[\"-L[START_DIR]/mips64el_toolchain_linux/mips64el-linux-gnuabi64/lib\"] is_debug=false skia_enable_gpu=false skia_use_fontconfig=false skia_use_system_freetype2=false target_cpu=\"loongson3a\" werror=false"
+      "[START_DIR]\\cache\\work\\skia\\out\\Build-Win-Clang-x86_64-Release-Shared\\Release_x64",
+      "--args=cc=\"clang\" clang_win=\"[START_DIR]\\clang_win\" cxx=\"clang++\" extra_cflags=[\"-DDUMMY_clang_win_version=42\"] is_component_build=true is_debug=false target_cpu=\"x86_64\" werror=true win_sdk=\"[START_DIR]\\win_toolchain/win_sdk\" win_vc=\"[START_DIR]\\win_toolchain/VC\""
     ],
-    "cwd": "[START_DIR]/cache/work/skia",
+    "cwd": "[START_DIR]\\cache\\work\\skia",
     "env": {
       "CHROME_HEADLESS": "1",
-      "LD_LIBRARY_PATH": "[START_DIR]/mips64el_toolchain_linux/lib/x86_64-linux-gnu/",
-      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
+      "PATH": "<PATH>;RECIPE_REPO[depot_tools]"
     },
     "name": "gn gen"
   },
@@ -50,13 +49,12 @@
     "cmd": [
       "ninja",
       "-C",
-      "[START_DIR]/cache/work/skia/out/Build-Debian9-GCC-loongson3a-Release/Release"
+      "[START_DIR]\\cache\\work\\skia\\out\\Build-Win-Clang-x86_64-Release-Shared\\Release_x64"
     ],
-    "cwd": "[START_DIR]/cache/work/skia",
+    "cwd": "[START_DIR]\\cache\\work\\skia",
     "env": {
       "CHROME_HEADLESS": "1",
-      "LD_LIBRARY_PATH": "[START_DIR]/mips64el_toolchain_linux/lib/x86_64-linux-gnu/",
-      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
+      "PATH": "<PATH>;RECIPE_REPO[depot_tools]"
     },
     "name": "ninja"
   },
@@ -65,8 +63,8 @@
       "python",
       "-u",
       "import errno\nimport glob\nimport os\nimport shutil\nimport sys\n\nsrc = sys.argv[1]\ndst = sys.argv[2]\nbuild_products = ['dm', 'dm.exe', 'dm.app', 'nanobench.app', 'get_images_from_skps', 'get_images_from_skps.exe', 'hello-opencl', 'hello-opencl.exe', 'nanobench', 'nanobench.exe', 'skpbench', 'skpbench.exe', '*.so', '*.dll', '*.dylib', 'skia_launcher', 'skottie_tool', 'lib/*.so', 'run_testlab', 'skqp-universal-debug.apk', 'whitelist_devices.json']\n\ntry:\n  os.makedirs(dst)\nexcept OSError as e:\n  if e.errno != errno.EEXIST:\n    raise\n\nfor pattern in build_products:\n  path = os.path.join(src, pattern)\n  for f in glob.glob(path):\n    dst_path = os.path.join(dst, os.path.relpath(f, src))\n    if not os.path.isdir(os.path.dirname(dst_path)):\n      os.makedirs(os.path.dirname(dst_path))\n    print 'Copying build product %s to %s' % (f, dst_path)\n    shutil.move(f, dst_path)\n",
-      "[START_DIR]/cache/work/skia/out/Build-Debian9-GCC-loongson3a-Release/Release",
-      "[START_DIR]/[SWARM_OUT_DIR]/out/Release"
+      "[START_DIR]\\cache\\work\\skia\\out\\Build-Win-Clang-x86_64-Release-Shared\\Release_x64",
+      "[START_DIR]\\[SWARM_OUT_DIR]\\out\\Release_x64"
     ],
     "infra_step": true,
     "name": "copy build products",
diff --git a/infra/bots/recipe_modules/build/examples/full.py b/infra/bots/recipe_modules/build/examples/full.py
index f0a7d00..7a3f428 100644
--- a/infra/bots/recipe_modules/build/examples/full.py
+++ b/infra/bots/recipe_modules/build/examples/full.py
@@ -26,9 +26,15 @@
 
 
 TEST_BUILDERS = [
+  'Build-Debian10-GCC-loongson3a-Release-Docker',
+  'Build-Debian10-GCC-x86-Debug-Docker',
+  'Build-Debian10-GCC-x86_64-Debug-Docker',
+  'Build-Debian10-GCC-x86_64-Release-NoGPU_Docker',
+  'Build-Debian10-GCC-x86_64-Release-Shared_Docker',
   'Build-Debian9-Clang-arm-Release-Android_API26',
   'Build-Debian9-Clang-arm-Release-Android_ASAN',
   'Build-Debian9-Clang-arm-Release-Chromebook_GLES',
+  'Build-Debian9-Clang-arm-Release-Chromecast',
   'Build-Debian9-Clang-arm-Release-Flutter_Android',
   'Build-Debian9-Clang-arm64-Release-Android_Wuffs',
   'Build-Debian9-Clang-x86-devrel-Android_SKQP',
@@ -41,6 +47,7 @@
   'Build-Debian9-Clang-x86_64-Debug-SwiftShader_MSAN',
   'Build-Debian9-Clang-x86_64-Debug-Tidy',
   'Build-Debian9-Clang-x86_64-Debug-Wuffs',
+  'Build-Debian9-Clang-x86_64-Release-ANGLE',
   'Build-Debian9-Clang-x86_64-Release-ASAN',
   'Build-Debian9-Clang-x86_64-Release-CMake',
   'Build-Debian9-Clang-x86_64-Release-Fast',
@@ -54,16 +61,6 @@
   'Build-Debian9-EMCC-wasm-Debug-PathKit',
   'Build-Debian9-EMCC-wasm-Release-CanvasKit_CPU',
   'Build-Debian9-EMCC-wasm-Release-PathKit',
-  'Build-Debian9-GCC-arm-Release-Chromecast',
-  'Build-Debian9-GCC-loongson3a-Release',
-  'Build-Debian9-GCC-x86_64-Release-ANGLE',
-  'Build-Debian9-GCC-x86_64-Release-NoGPU',
-  'Build-Debian9-GCC-x86_64-Release-Shared',
-  'Build-Debian10-GCC-loongson3a-Release-Docker',
-  'Build-Debian10-GCC-x86-Debug-Docker',
-  'Build-Debian10-GCC-x86_64-Debug-Docker',
-  'Build-Debian10-GCC-x86_64-Release-NoGPU_Docker',
-  'Build-Debian10-GCC-x86_64-Release-Shared_Docker',
   'Build-Mac-Clang-arm-Debug-iOS',
   'Build-Mac-Clang-arm64-Debug-Android_Vulkan',
   'Build-Mac-Clang-arm64-Debug-iOS',
@@ -73,7 +70,9 @@
   'Build-Mac-Clang-x86_64-Release-MoltenVK_Vulkan',
   'Build-Win-Clang-arm64-Release-Android',
   'Build-Win-Clang-x86-Debug-Exceptions',
+  'Build-Win-Clang-x86_64-Debug-ANGLE',
   'Build-Win-Clang-x86_64-Debug-OpenCL',
+  'Build-Win-Clang-x86_64-Release-Shared',
   'Build-Win-Clang-x86_64-Release-Vulkan',
   'Test-Debian9-Clang-GCE-CPU-AVX2-universal-devrel-All-Android_SKQP',
   'Housekeeper-PerCommit-CheckGeneratedFiles',
diff --git a/infra/bots/recipe_modules/checkout/examples/full.py b/infra/bots/recipe_modules/checkout/examples/full.py
index eaa79a6..5cb0aaf 100644
--- a/infra/bots/recipe_modules/checkout/examples/full.py
+++ b/infra/bots/recipe_modules/checkout/examples/full.py
@@ -103,7 +103,7 @@
       api.path.exists(api.path['start_dir'].join('skp_output'))
   )
 
-  buildername = 'Build-Debian9-GCC-x86_64-Release'
+  buildername = 'Build-Debian9-Clang-x86_64-Release'
   yield (
       api.test('cross_repo_trybot') +
       api.properties(
diff --git a/infra/bots/recipe_modules/flavor/examples/full.expected/Test-Ubuntu17-GCC-Golo-GPU-QuadroP400-x86_64-Release-All-Valgrind_AbandonGpuContext.json b/infra/bots/recipe_modules/flavor/examples/full.expected/Test-Ubuntu18-Clang-Golo-GPU-QuadroP400-x86_64-Release-All-Valgrind_AbandonGpuContext_SK_CPU_LIMIT_SSE41.json
similarity index 100%
rename from infra/bots/recipe_modules/flavor/examples/full.expected/Test-Ubuntu17-GCC-Golo-GPU-QuadroP400-x86_64-Release-All-Valgrind_AbandonGpuContext.json
rename to infra/bots/recipe_modules/flavor/examples/full.expected/Test-Ubuntu18-Clang-Golo-GPU-QuadroP400-x86_64-Release-All-Valgrind_AbandonGpuContext_SK_CPU_LIMIT_SSE41.json
diff --git a/infra/bots/recipe_modules/flavor/examples/full.py b/infra/bots/recipe_modules/flavor/examples/full.py
index 3c72558..7374926 100644
--- a/infra/bots/recipe_modules/flavor/examples/full.py
+++ b/infra/bots/recipe_modules/flavor/examples/full.py
@@ -94,8 +94,8 @@
   'Test-Debian9-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-All-OpenCL',
   'Test-Debian9-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-All-Vulkan',
   'Test-Mac10.13-Clang-MacBookPro11.5-CPU-AVX2-x86_64-Debug-All-ASAN',
-  ('Test-Ubuntu17-GCC-Golo-GPU-QuadroP400-x86_64-Release-All'
-   '-Valgrind_AbandonGpuContext'),
+  ('Test-Ubuntu18-Clang-Golo-GPU-QuadroP400-x86_64-Release-All'
+   '-Valgrind_AbandonGpuContext_SK_CPU_LIMIT_SSE41'),
   'Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Release-All-Vulkan_ProcDump',
   'Test-Win10-MSVC-LenovoYogaC630-GPU-Adreno630-arm64-Debug-All-ANGLE',
 ]
@@ -124,7 +124,7 @@
           stdout=api.raw_io.output('192.168.1.2:5555'))
     yield test
 
-  builder = 'Test-Debian9-GCC-GCE-CPU-AVX2-x86_64-Release-All'
+  builder = 'Test-Debian9-Clang-GCE-CPU-AVX2-x86_64-Release-All'
   yield (
       api.test('exceptions') +
       api.properties(buildername=builder,
diff --git a/infra/bots/recipe_modules/vars/examples/full.expected/integer_issue.json b/infra/bots/recipe_modules/vars/examples/full.expected/integer_issue.json
index 87c23d4..06e2078 100644
--- a/infra/bots/recipe_modules/vars/examples/full.expected/integer_issue.json
+++ b/infra/bots/recipe_modules/vars/examples/full.expected/integer_issue.json
@@ -30,8 +30,8 @@
     "name": "show",
     "~followup_annotations": [
       "@@@SET_BUILD_PROPERTY@build_dir@\"[START_DIR]/build\"@@@",
-      "@@@SET_BUILD_PROPERTY@builder_cfg@\"{'extra_config': 'ASAN_Vulkan', 'cpu_or_gpu_value': 'AVX2', 'arch': 'x86_64', 'test_filter': 'All', 'sub-role-1': 'Test', 'cpu_or_gpu': 'CPU', 'role': 'Upload', 'model': 'GCE', 'configuration': 'Debug', 'os': 'Debian9', 'compiler': 'GCC'}\"@@@",
-      "@@@SET_BUILD_PROPERTY@builder_name@\"Upload-Test-Debian9-GCC-GCE-CPU-AVX2-x86_64-Debug-All-ASAN_Vulkan\"@@@",
+      "@@@SET_BUILD_PROPERTY@builder_cfg@\"{'extra_config': 'ASAN_Vulkan', 'cpu_or_gpu_value': 'AVX2', 'arch': 'x86_64', 'test_filter': 'All', 'sub-role-1': 'Test', 'cpu_or_gpu': 'CPU', 'role': 'Upload', 'model': 'GCE', 'configuration': 'Debug', 'os': 'Debian9', 'compiler': 'Clang'}\"@@@",
+      "@@@SET_BUILD_PROPERTY@builder_name@\"Upload-Test-Debian9-Clang-GCE-CPU-AVX2-x86_64-Debug-All-ASAN_Vulkan\"@@@",
       "@@@SET_BUILD_PROPERTY@cache_dir@\"[START_DIR]/cache\"@@@",
       "@@@SET_BUILD_PROPERTY@default_env@\"{'PATH': '%(PATH)s:RECIPE_REPO[depot_tools]', 'CHROME_HEADLESS': '1'}\"@@@",
       "@@@SET_BUILD_PROPERTY@extra_tokens@\"['ASAN', 'Vulkan']\"@@@",
diff --git a/infra/bots/recipe_modules/vars/examples/full.py b/infra/bots/recipe_modules/vars/examples/full.py
index 1fded69..01d8efd 100644
--- a/infra/bots/recipe_modules/vars/examples/full.py
+++ b/infra/bots/recipe_modules/vars/examples/full.py
@@ -77,7 +77,7 @@
       )
   )
 
-  buildername = 'Upload-Test-Debian9-GCC-GCE-CPU-AVX2-x86_64-Debug-All-ASAN_Vulkan'
+  buildername = 'Upload-Test-Debian9-Clang-GCE-CPU-AVX2-x86_64-Debug-All-ASAN_Vulkan'
   yield (
       api.test('integer_issue') +
       api.properties(buildername=buildername,
diff --git a/infra/bots/recipes/perf.expected/Perf-Ubuntu17-GCC-Golo-GPU-QuadroP400-x86_64-Release-All-Valgrind.json b/infra/bots/recipes/perf.expected/Perf-Ubuntu18-Clang-Golo-GPU-QuadroP400-x86_64-Release-All-Valgrind_SK_CPU_LIMIT_SSE41.json
similarity index 100%
rename from infra/bots/recipes/perf.expected/Perf-Ubuntu17-GCC-Golo-GPU-QuadroP400-x86_64-Release-All-Valgrind.json
rename to infra/bots/recipes/perf.expected/Perf-Ubuntu18-Clang-Golo-GPU-QuadroP400-x86_64-Release-All-Valgrind_SK_CPU_LIMIT_SSE41.json
diff --git a/infra/bots/recipes/perf.py b/infra/bots/recipes/perf.py
index 1d36ceb..74b9f1b 100644
--- a/infra/bots/recipes/perf.py
+++ b/infra/bots/recipes/perf.py
@@ -397,7 +397,8 @@
    'Metal'),
   ('Perf-Mac10.13-Clang-MacMini7.1-GPU-IntelIris5100-x86_64-Release-All-'
    'CommandBuffer'),
-  'Perf-Ubuntu17-GCC-Golo-GPU-QuadroP400-x86_64-Release-All-Valgrind',
+  ('Perf-Ubuntu18-Clang-Golo-GPU-QuadroP400-x86_64-Release-All'
+   '-Valgrind_SK_CPU_LIMIT_SSE41'),
   'Perf-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Release-All-ANGLE',
   'Perf-Win10-Clang-ShuttleA-GPU-GTX660-x86_64-Release-All-Vulkan',
   'Perf-iOS-Clang-iPadPro-GPU-PowerVRGT7800-arm64-Release-All',
diff --git a/infra/bots/recipes/sync_and_compile.expected/Build-Debian9-GCC-x86_64-Release-Flutter_Android.json b/infra/bots/recipes/sync_and_compile.expected/Build-Debian9-Clang-arm-Release-Flutter_Android.json
similarity index 100%
rename from infra/bots/recipes/sync_and_compile.expected/Build-Debian9-GCC-x86_64-Release-Flutter_Android.json
rename to infra/bots/recipes/sync_and_compile.expected/Build-Debian9-Clang-arm-Release-Flutter_Android.json
diff --git a/infra/bots/recipes/sync_and_compile.py b/infra/bots/recipes/sync_and_compile.py
index 3946f13..03c942d 100644
--- a/infra/bots/recipes/sync_and_compile.py
+++ b/infra/bots/recipes/sync_and_compile.py
@@ -88,7 +88,7 @@
 
 TEST_BUILDERS = [
   'Build-Debian9-Clang-universal-devrel-Android_SKQP',
-  'Build-Debian9-GCC-x86_64-Release-Flutter_Android',
+  'Build-Debian9-Clang-arm-Release-Flutter_Android',
   'Build-Mac-Clang-x86_64-Debug-CommandBuffer',
   'Build-Win10-Clang-x86_64-Release-NoDEPS',
 ]
diff --git a/infra/bots/recipes/test.expected/Test-Ubuntu17-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-Lottie.json b/infra/bots/recipes/test.expected/Test-Ubuntu17-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-Lottie.json
deleted file mode 100644
index b72d032..0000000
--- a/infra/bots/recipes/test.expected/Test-Ubuntu17-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-Lottie.json
+++ /dev/null
@@ -1,377 +0,0 @@
-[
-  {
-    "cmd": [
-      "vpython",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "ensure-directory",
-      "--mode",
-      "0777",
-      "[START_DIR]/tmp"
-    ],
-    "infra_step": true,
-    "name": "makedirs tmp_dir"
-  },
-  {
-    "cmd": [
-      "vpython",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[START_DIR]/skia/infra/bots/assets/lottie-samples/VERSION",
-      "/path/to/tmp/"
-    ],
-    "infra_step": true,
-    "name": "Get lottie-samples VERSION",
-    "~followup_annotations": [
-      "@@@STEP_LOG_LINE@VERSION@42@@@",
-      "@@@STEP_LOG_END@VERSION@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "42",
-      "[START_DIR]/tmp/LOTTIE_VERSION"
-    ],
-    "infra_step": true,
-    "name": "write LOTTIE_VERSION",
-    "~followup_annotations": [
-      "@@@STEP_LOG_LINE@LOTTIE_VERSION@42@@@",
-      "@@@STEP_LOG_END@LOTTIE_VERSION@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "rmtree",
-      "[START_DIR]/test"
-    ],
-    "infra_step": true,
-    "name": "rmtree test"
-  },
-  {
-    "cmd": [
-      "vpython",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "ensure-directory",
-      "--mode",
-      "0777",
-      "[START_DIR]/test"
-    ],
-    "infra_step": true,
-    "name": "makedirs test"
-  },
-  {
-    "cmd": [
-      "python",
-      "-u",
-      "\nimport contextlib\nimport math\nimport socket\nimport sys\nimport time\nimport urllib2\n\nHASHES_URL = sys.argv[1]\nRETRIES = 5\nTIMEOUT = 60\nWAIT_BASE = 15\n\nsocket.setdefaulttimeout(TIMEOUT)\nfor retry in range(RETRIES):\n  try:\n    with contextlib.closing(\n        urllib2.urlopen(HASHES_URL, timeout=TIMEOUT)) as w:\n      hashes = w.read()\n      with open(sys.argv[2], 'w') as f:\n        f.write(hashes)\n        break\n  except Exception as e:\n    print 'Failed to get uninteresting hashes from %s:' % HASHES_URL\n    print e\n    if retry == RETRIES:\n      raise\n    waittime = WAIT_BASE * math.pow(2, retry)\n    print 'Retry in %d seconds.' % waittime\n    time.sleep(waittime)\n",
-      "https://example.com/hashes.txt",
-      "[START_DIR]/tmp/uninteresting_hashes.txt"
-    ],
-    "env": {
-      "CHROME_HEADLESS": "1",
-      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
-    },
-    "infra_step": true,
-    "name": "get uninteresting hashes",
-    "~followup_annotations": [
-      "@@@STEP_LOG_LINE@python.inline@@@@",
-      "@@@STEP_LOG_LINE@python.inline@import contextlib@@@",
-      "@@@STEP_LOG_LINE@python.inline@import math@@@",
-      "@@@STEP_LOG_LINE@python.inline@import socket@@@",
-      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
-      "@@@STEP_LOG_LINE@python.inline@import time@@@",
-      "@@@STEP_LOG_LINE@python.inline@import urllib2@@@",
-      "@@@STEP_LOG_LINE@python.inline@@@@",
-      "@@@STEP_LOG_LINE@python.inline@HASHES_URL = sys.argv[1]@@@",
-      "@@@STEP_LOG_LINE@python.inline@RETRIES = 5@@@",
-      "@@@STEP_LOG_LINE@python.inline@TIMEOUT = 60@@@",
-      "@@@STEP_LOG_LINE@python.inline@WAIT_BASE = 15@@@",
-      "@@@STEP_LOG_LINE@python.inline@@@@",
-      "@@@STEP_LOG_LINE@python.inline@socket.setdefaulttimeout(TIMEOUT)@@@",
-      "@@@STEP_LOG_LINE@python.inline@for retry in range(RETRIES):@@@",
-      "@@@STEP_LOG_LINE@python.inline@  try:@@@",
-      "@@@STEP_LOG_LINE@python.inline@    with contextlib.closing(@@@",
-      "@@@STEP_LOG_LINE@python.inline@        urllib2.urlopen(HASHES_URL, timeout=TIMEOUT)) as w:@@@",
-      "@@@STEP_LOG_LINE@python.inline@      hashes = w.read()@@@",
-      "@@@STEP_LOG_LINE@python.inline@      with open(sys.argv[2], 'w') as f:@@@",
-      "@@@STEP_LOG_LINE@python.inline@        f.write(hashes)@@@",
-      "@@@STEP_LOG_LINE@python.inline@        break@@@",
-      "@@@STEP_LOG_LINE@python.inline@  except Exception as e:@@@",
-      "@@@STEP_LOG_LINE@python.inline@    print 'Failed to get uninteresting hashes from %s:' % HASHES_URL@@@",
-      "@@@STEP_LOG_LINE@python.inline@    print e@@@",
-      "@@@STEP_LOG_LINE@python.inline@    if retry == RETRIES:@@@",
-      "@@@STEP_LOG_LINE@python.inline@      raise@@@",
-      "@@@STEP_LOG_LINE@python.inline@    waittime = WAIT_BASE * math.pow(2, retry)@@@",
-      "@@@STEP_LOG_LINE@python.inline@    print 'Retry in %d seconds.' % waittime@@@",
-      "@@@STEP_LOG_LINE@python.inline@    time.sleep(waittime)@@@",
-      "@@@STEP_LOG_END@python.inline@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "python",
-      "-u",
-      "import os\nprint os.environ.get('SWARMING_BOT_ID', '')\n"
-    ],
-    "name": "get swarming bot id",
-    "~followup_annotations": [
-      "@@@STEP_LOG_LINE@python.inline@import os@@@",
-      "@@@STEP_LOG_LINE@python.inline@print os.environ.get('SWARMING_BOT_ID', '')@@@",
-      "@@@STEP_LOG_END@python.inline@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "python",
-      "-u",
-      "import os\nprint os.environ.get('SWARMING_TASK_ID', '')\n"
-    ],
-    "name": "get swarming task id",
-    "~followup_annotations": [
-      "@@@STEP_LOG_LINE@python.inline@import os@@@",
-      "@@@STEP_LOG_LINE@python.inline@print os.environ.get('SWARMING_TASK_ID', '')@@@",
-      "@@@STEP_LOG_END@python.inline@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "python",
-      "-u",
-      "RECIPE_MODULE[skia::flavor]/resources/symbolize_stack_trace.py",
-      "[START_DIR]",
-      "catchsegv",
-      "[START_DIR]/build/dm",
-      "--resourcePath",
-      "[START_DIR]/skia/resources",
-      "--skps",
-      "[START_DIR]/skp",
-      "--images",
-      "[START_DIR]/skimage/dm",
-      "--colorImages",
-      "[START_DIR]/skimage/colorspace",
-      "--nameByHash",
-      "--properties",
-      "gitHash",
-      "abc123",
-      "builder",
-      "Test-Ubuntu17-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-Lottie",
-      "buildbucket_build_id",
-      "123454321",
-      "task_id",
-      "task_12345",
-      "swarming_bot_id",
-      "skia-bot-123",
-      "swarming_task_id",
-      "123456",
-      "--svgs",
-      "[START_DIR]/svg",
-      "--lotties",
-      "[START_DIR]/skia/resources/skottie",
-      "[START_DIR]/lottie-samples",
-      "--key",
-      "arch",
-      "x86_64",
-      "compiler",
-      "Clang",
-      "configuration",
-      "Debug",
-      "cpu_or_gpu",
-      "GPU",
-      "cpu_or_gpu_value",
-      "QuadroP400",
-      "extra_config",
-      "Lottie",
-      "model",
-      "Golo",
-      "os",
-      "Ubuntu17",
-      "renderer",
-      "skottie",
-      "style",
-      "default",
-      "--uninterestingHashesFile",
-      "[START_DIR]/tmp/uninteresting_hashes.txt",
-      "--writePath",
-      "[START_DIR]/[SWARM_OUT_DIR]",
-      "--dont_write",
-      "pdf",
-      "--randomProcessorTest",
-      "--nocpu",
-      "--config",
-      "gl",
-      "--src",
-      "lottie",
-      "--blacklist",
-      "gl1010102",
-      "image",
-      "_",
-      "_",
-      "gltestpersistentcache",
-      "gm",
-      "_",
-      "atlastext",
-      "gltestpersistentcache",
-      "gm",
-      "_",
-      "dftext",
-      "gltestpersistentcache",
-      "gm",
-      "_",
-      "glyph_pos_h_b",
-      "gltestglslcache",
-      "gm",
-      "_",
-      "atlastext",
-      "gltestglslcache",
-      "gm",
-      "_",
-      "dftext",
-      "gltestglslcache",
-      "gm",
-      "_",
-      "glyph_pos_h_b",
-      "gltestprecompile",
-      "gm",
-      "_",
-      "atlastext",
-      "gltestprecompile",
-      "gm",
-      "_",
-      "dftext",
-      "gltestprecompile",
-      "gm",
-      "_",
-      "glyph_pos_h_b",
-      "_",
-      "svg",
-      "_",
-      "svgparse_",
-      "_",
-      "image",
-      "gen_platf",
-      "error",
-      "_",
-      "image",
-      "_",
-      "interlaced1.png",
-      "_",
-      "image",
-      "_",
-      "interlaced2.png",
-      "_",
-      "image",
-      "_",
-      "interlaced3.png",
-      "_",
-      "image",
-      "_",
-      ".arw",
-      "_",
-      "image",
-      "_",
-      ".cr2",
-      "_",
-      "image",
-      "_",
-      ".dng",
-      "_",
-      "image",
-      "_",
-      ".nef",
-      "_",
-      "image",
-      "_",
-      ".nrw",
-      "_",
-      "image",
-      "_",
-      ".orf",
-      "_",
-      "image",
-      "_",
-      ".raf",
-      "_",
-      "image",
-      "_",
-      ".rw2",
-      "_",
-      "image",
-      "_",
-      ".pef",
-      "_",
-      "image",
-      "_",
-      ".srw",
-      "_",
-      "image",
-      "_",
-      ".ARW",
-      "_",
-      "image",
-      "_",
-      ".CR2",
-      "_",
-      "image",
-      "_",
-      ".DNG",
-      "_",
-      "image",
-      "_",
-      ".NEF",
-      "_",
-      "image",
-      "_",
-      ".NRW",
-      "_",
-      "image",
-      "_",
-      ".ORF",
-      "_",
-      "image",
-      "_",
-      ".RAF",
-      "_",
-      "image",
-      "_",
-      ".RW2",
-      "_",
-      "image",
-      "_",
-      ".PEF",
-      "_",
-      "image",
-      "_",
-      ".SRW",
-      "--nonativeFonts",
-      "--verbose"
-    ],
-    "cwd": "[START_DIR]/skia",
-    "env": {
-      "CHROME_HEADLESS": "1",
-      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
-    },
-    "name": "symbolized dm"
-  },
-  {
-    "name": "$result"
-  }
-]
\ No newline at end of file
diff --git a/infra/bots/recipes/test.expected/Test-Ubuntu17-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-Vulkan_Coverage.json b/infra/bots/recipes/test.expected/Test-Ubuntu17-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-Vulkan_Coverage.json
deleted file mode 100644
index 805fd63..0000000
--- a/infra/bots/recipes/test.expected/Test-Ubuntu17-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-Vulkan_Coverage.json
+++ /dev/null
@@ -1,336 +0,0 @@
-[
-  {
-    "cmd": [
-      "vpython",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "ensure-directory",
-      "--mode",
-      "0777",
-      "[START_DIR]/tmp"
-    ],
-    "infra_step": true,
-    "name": "makedirs tmp_dir"
-  },
-  {
-    "cmd": [
-      "vpython",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[START_DIR]/skia/infra/bots/assets/skp/VERSION",
-      "/path/to/tmp/"
-    ],
-    "infra_step": true,
-    "name": "Get skp VERSION",
-    "~followup_annotations": [
-      "@@@STEP_LOG_LINE@VERSION@42@@@",
-      "@@@STEP_LOG_END@VERSION@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "42",
-      "[START_DIR]/tmp/SKP_VERSION"
-    ],
-    "infra_step": true,
-    "name": "write SKP_VERSION",
-    "~followup_annotations": [
-      "@@@STEP_LOG_LINE@SKP_VERSION@42@@@",
-      "@@@STEP_LOG_END@SKP_VERSION@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[START_DIR]/skia/infra/bots/assets/skimage/VERSION",
-      "/path/to/tmp/"
-    ],
-    "infra_step": true,
-    "name": "Get skimage VERSION",
-    "~followup_annotations": [
-      "@@@STEP_LOG_LINE@VERSION@42@@@",
-      "@@@STEP_LOG_END@VERSION@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "42",
-      "[START_DIR]/tmp/SK_IMAGE_VERSION"
-    ],
-    "infra_step": true,
-    "name": "write SK_IMAGE_VERSION",
-    "~followup_annotations": [
-      "@@@STEP_LOG_LINE@SK_IMAGE_VERSION@42@@@",
-      "@@@STEP_LOG_END@SK_IMAGE_VERSION@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[START_DIR]/skia/infra/bots/assets/svg/VERSION",
-      "/path/to/tmp/"
-    ],
-    "infra_step": true,
-    "name": "Get svg VERSION",
-    "~followup_annotations": [
-      "@@@STEP_LOG_LINE@VERSION@42@@@",
-      "@@@STEP_LOG_END@VERSION@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "42",
-      "[START_DIR]/tmp/SVG_VERSION"
-    ],
-    "infra_step": true,
-    "name": "write SVG_VERSION",
-    "~followup_annotations": [
-      "@@@STEP_LOG_LINE@SVG_VERSION@42@@@",
-      "@@@STEP_LOG_END@SVG_VERSION@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "python",
-      "-u",
-      "import os\nprint os.environ.get('SWARMING_BOT_ID', '')\n"
-    ],
-    "name": "get swarming bot id",
-    "~followup_annotations": [
-      "@@@STEP_LOG_LINE@python.inline@import os@@@",
-      "@@@STEP_LOG_LINE@python.inline@print os.environ.get('SWARMING_BOT_ID', '')@@@",
-      "@@@STEP_LOG_END@python.inline@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "python",
-      "-u",
-      "import os\nprint os.environ.get('SWARMING_TASK_ID', '')\n"
-    ],
-    "name": "get swarming task id",
-    "~followup_annotations": [
-      "@@@STEP_LOG_LINE@python.inline@import os@@@",
-      "@@@STEP_LOG_LINE@python.inline@print os.environ.get('SWARMING_TASK_ID', '')@@@",
-      "@@@STEP_LOG_END@python.inline@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "python",
-      "-u",
-      "RECIPE_MODULE[skia::flavor]/resources/symbolize_stack_trace.py",
-      "[START_DIR]",
-      "catchsegv",
-      "[START_DIR]/build/dm",
-      "--resourcePath",
-      "[START_DIR]/skia/resources",
-      "--skps",
-      "[START_DIR]/skp",
-      "--images",
-      "[START_DIR]/skimage/dm",
-      "--colorImages",
-      "[START_DIR]/skimage/colorspace",
-      "--nameByHash",
-      "--properties",
-      "gitHash",
-      "abc123",
-      "builder",
-      "Test-Ubuntu17-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-Vulkan_Coverage",
-      "buildbucket_build_id",
-      "123454321",
-      "task_id",
-      "task_12345",
-      "swarming_bot_id",
-      "skia-bot-123",
-      "swarming_task_id",
-      "123456",
-      "--svgs",
-      "[START_DIR]/svg",
-      "--key",
-      "arch",
-      "x86_64",
-      "compiler",
-      "Clang",
-      "configuration",
-      "Debug",
-      "cpu_or_gpu",
-      "GPU",
-      "cpu_or_gpu_value",
-      "QuadroP400",
-      "extra_config",
-      "Vulkan_Coverage",
-      "model",
-      "Golo",
-      "os",
-      "Ubuntu17",
-      "style",
-      "default",
-      "--dont_write",
-      "pdf",
-      "--randomProcessorTest",
-      "--nocpu",
-      "--config",
-      "vk",
-      "vkmsaa8",
-      "vk1010102",
-      "--src",
-      "tests",
-      "gm",
-      "image",
-      "colorImage",
-      "svg",
-      "--blacklist",
-      "vk1010102",
-      "image",
-      "_",
-      "_",
-      "_",
-      "svg",
-      "_",
-      "svgparse_",
-      "_",
-      "image",
-      "gen_platf",
-      "error",
-      "_",
-      "image",
-      "_",
-      "interlaced1.png",
-      "_",
-      "image",
-      "_",
-      "interlaced2.png",
-      "_",
-      "image",
-      "_",
-      "interlaced3.png",
-      "_",
-      "image",
-      "_",
-      ".arw",
-      "_",
-      "image",
-      "_",
-      ".cr2",
-      "_",
-      "image",
-      "_",
-      ".dng",
-      "_",
-      "image",
-      "_",
-      ".nef",
-      "_",
-      "image",
-      "_",
-      ".nrw",
-      "_",
-      "image",
-      "_",
-      ".orf",
-      "_",
-      "image",
-      "_",
-      ".raf",
-      "_",
-      "image",
-      "_",
-      ".rw2",
-      "_",
-      "image",
-      "_",
-      ".pef",
-      "_",
-      "image",
-      "_",
-      ".srw",
-      "_",
-      "image",
-      "_",
-      ".ARW",
-      "_",
-      "image",
-      "_",
-      ".CR2",
-      "_",
-      "image",
-      "_",
-      ".DNG",
-      "_",
-      "image",
-      "_",
-      ".NEF",
-      "_",
-      "image",
-      "_",
-      ".NRW",
-      "_",
-      "image",
-      "_",
-      ".ORF",
-      "_",
-      "image",
-      "_",
-      ".RAF",
-      "_",
-      "image",
-      "_",
-      ".RW2",
-      "_",
-      "image",
-      "_",
-      ".PEF",
-      "_",
-      "image",
-      "_",
-      ".SRW",
-      "--nonativeFonts",
-      "--verbose"
-    ],
-    "cwd": "[START_DIR]/skia",
-    "env": {
-      "CHROME_HEADLESS": "1",
-      "LD_LIBRARY_PATH": "[START_DIR]/linux_vulkan_sdk/lib",
-      "LLVM_PROFILE_FILE": "[START_DIR]/[SWARM_OUT_DIR]/All.profraw",
-      "PATH": "<PATH>:RECIPE_REPO[depot_tools]:[START_DIR]/linux_vulkan_sdk/bin"
-    },
-    "name": "symbolized dm"
-  },
-  {
-    "name": "$result"
-  }
-]
\ No newline at end of file
diff --git a/infra/bots/recipes/test.expected/Test-Ubuntu17-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-DDL1.json b/infra/bots/recipes/test.expected/Test-Ubuntu18-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-DDL1.json
similarity index 99%
rename from infra/bots/recipes/test.expected/Test-Ubuntu17-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-DDL1.json
rename to infra/bots/recipes/test.expected/Test-Ubuntu18-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-DDL1.json
index 8965277..cd54544 100644
--- a/infra/bots/recipes/test.expected/Test-Ubuntu17-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-DDL1.json
+++ b/infra/bots/recipes/test.expected/Test-Ubuntu18-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-DDL1.json
@@ -245,7 +245,7 @@
       "gitHash",
       "abc123",
       "builder",
-      "Test-Ubuntu17-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-DDL1",
+      "Test-Ubuntu18-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-DDL1",
       "buildbucket_build_id",
       "123454321",
       "task_id",
@@ -272,7 +272,7 @@
       "model",
       "Golo",
       "os",
-      "Ubuntu17",
+      "Ubuntu18",
       "style",
       "DDL",
       "--uninterestingHashesFile",
diff --git a/infra/bots/recipes/test.expected/Test-Ubuntu17-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-DDL3.json b/infra/bots/recipes/test.expected/Test-Ubuntu18-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-DDL3.json
similarity index 99%
rename from infra/bots/recipes/test.expected/Test-Ubuntu17-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-DDL3.json
rename to infra/bots/recipes/test.expected/Test-Ubuntu18-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-DDL3.json
index 7345c63..c301cf4 100644
--- a/infra/bots/recipes/test.expected/Test-Ubuntu17-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-DDL3.json
+++ b/infra/bots/recipes/test.expected/Test-Ubuntu18-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-DDL3.json
@@ -245,7 +245,7 @@
       "gitHash",
       "abc123",
       "builder",
-      "Test-Ubuntu17-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-DDL3",
+      "Test-Ubuntu18-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-DDL3",
       "buildbucket_build_id",
       "123454321",
       "task_id",
@@ -272,7 +272,7 @@
       "model",
       "Golo",
       "os",
-      "Ubuntu17",
+      "Ubuntu18",
       "style",
       "DDL",
       "--uninterestingHashesFile",
diff --git a/infra/bots/recipes/test.expected/Test-Ubuntu17-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-DDL3.json b/infra/bots/recipes/test.expected/Test-Ubuntu18-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-Vulkan.json
similarity index 91%
copy from infra/bots/recipes/test.expected/Test-Ubuntu17-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-DDL3.json
copy to infra/bots/recipes/test.expected/Test-Ubuntu18-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-Vulkan.json
index 7345c63..e70d132 100644
--- a/infra/bots/recipes/test.expected/Test-Ubuntu17-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-DDL3.json
+++ b/infra/bots/recipes/test.expected/Test-Ubuntu18-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-Vulkan.json
@@ -245,7 +245,7 @@
       "gitHash",
       "abc123",
       "builder",
-      "Test-Ubuntu17-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-DDL3",
+      "Test-Ubuntu18-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-Vulkan",
       "buildbucket_build_id",
       "123454321",
       "task_id",
@@ -268,13 +268,13 @@
       "cpu_or_gpu_value",
       "QuadroP400",
       "extra_config",
-      "DDL3",
+      "Vulkan",
       "model",
       "Golo",
       "os",
-      "Ubuntu17",
+      "Ubuntu18",
       "style",
-      "DDL",
+      "default",
       "--uninterestingHashesFile",
       "[START_DIR]/tmp/uninteresting_hashes.txt",
       "--writePath",
@@ -283,57 +283,21 @@
       "pdf",
       "--randomProcessorTest",
       "--nocpu",
-      "--skpViewportSize",
-      "2048",
-      "--gpuThreads",
-      "0",
       "--config",
-      "ddl-gl",
-      "ddl2-gl",
+      "vk",
+      "vkmsaa8",
+      "vk1010102",
       "--src",
+      "tests",
       "gm",
-      "skp",
+      "image",
+      "colorImage",
+      "svg",
       "--blacklist",
-      "gl1010102",
+      "vk1010102",
       "image",
       "_",
       "_",
-      "gltestpersistentcache",
-      "gm",
-      "_",
-      "atlastext",
-      "gltestpersistentcache",
-      "gm",
-      "_",
-      "dftext",
-      "gltestpersistentcache",
-      "gm",
-      "_",
-      "glyph_pos_h_b",
-      "gltestglslcache",
-      "gm",
-      "_",
-      "atlastext",
-      "gltestglslcache",
-      "gm",
-      "_",
-      "dftext",
-      "gltestglslcache",
-      "gm",
-      "_",
-      "glyph_pos_h_b",
-      "gltestprecompile",
-      "gm",
-      "_",
-      "atlastext",
-      "gltestprecompile",
-      "gm",
-      "_",
-      "dftext",
-      "gltestprecompile",
-      "gm",
-      "_",
-      "glyph_pos_h_b",
       "_",
       "svg",
       "_",
@@ -440,7 +404,8 @@
     "cwd": "[START_DIR]/skia",
     "env": {
       "CHROME_HEADLESS": "1",
-      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
+      "LD_LIBRARY_PATH": "[START_DIR]/linux_vulkan_sdk/lib",
+      "PATH": "<PATH>:RECIPE_REPO[depot_tools]:[START_DIR]/linux_vulkan_sdk/bin"
     },
     "name": "symbolized dm"
   },
diff --git a/infra/bots/recipes/test.expected/Test-Ubuntu17-GCC-Golo-GPU-QuadroP400-x86_64-Release-All-Valgrind_AbandonGpuContext.json b/infra/bots/recipes/test.expected/Test-Ubuntu18-Clang-Golo-GPU-QuadroP400-x86_64-Release-All-Valgrind_AbandonGpuContext_SK_CPU_LIMIT_SSE41.json
similarity index 96%
rename from infra/bots/recipes/test.expected/Test-Ubuntu17-GCC-Golo-GPU-QuadroP400-x86_64-Release-All-Valgrind_AbandonGpuContext.json
rename to infra/bots/recipes/test.expected/Test-Ubuntu18-Clang-Golo-GPU-QuadroP400-x86_64-Release-All-Valgrind_AbandonGpuContext_SK_CPU_LIMIT_SSE41.json
index 139ecd4..4e1172e 100644
--- a/infra/bots/recipes/test.expected/Test-Ubuntu17-GCC-Golo-GPU-QuadroP400-x86_64-Release-All-Valgrind_AbandonGpuContext.json
+++ b/infra/bots/recipes/test.expected/Test-Ubuntu18-Clang-Golo-GPU-QuadroP400-x86_64-Release-All-Valgrind_AbandonGpuContext_SK_CPU_LIMIT_SSE41.json
@@ -171,7 +171,7 @@
       "gitHash",
       "abc123",
       "builder",
-      "Test-Ubuntu17-GCC-Golo-GPU-QuadroP400-x86_64-Release-All-Valgrind_AbandonGpuContext",
+      "Test-Ubuntu18-Clang-Golo-GPU-QuadroP400-x86_64-Release-All-Valgrind_AbandonGpuContext_SK_CPU_LIMIT_SSE41",
       "buildbucket_build_id",
       "123454321",
       "task_id",
@@ -186,7 +186,7 @@
       "arch",
       "x86_64",
       "compiler",
-      "GCC",
+      "Clang",
       "configuration",
       "Release",
       "cpu_or_gpu",
@@ -194,11 +194,11 @@
       "cpu_or_gpu_value",
       "QuadroP400",
       "extra_config",
-      "Valgrind_AbandonGpuContext",
+      "Valgrind_AbandonGpuContext_SK_CPU_LIMIT_SSE41",
       "model",
       "Golo",
       "os",
-      "Ubuntu17",
+      "Ubuntu18",
       "style",
       "default",
       "--dont_write",
diff --git a/infra/bots/recipes/test.expected/Test-Ubuntu17-GCC-Golo-GPU-QuadroP400-x86_64-Release-All-Valgrind_PreAbandonGpuContext.json b/infra/bots/recipes/test.expected/Test-Ubuntu18-Clang-Golo-GPU-QuadroP400-x86_64-Release-All-Valgrind_PreAbandonGpuContext_SK_CPU_LIMIT_SSE41.json
similarity index 96%
rename from infra/bots/recipes/test.expected/Test-Ubuntu17-GCC-Golo-GPU-QuadroP400-x86_64-Release-All-Valgrind_PreAbandonGpuContext.json
rename to infra/bots/recipes/test.expected/Test-Ubuntu18-Clang-Golo-GPU-QuadroP400-x86_64-Release-All-Valgrind_PreAbandonGpuContext_SK_CPU_LIMIT_SSE41.json
index 3c5eff7..ea023b0 100644
--- a/infra/bots/recipes/test.expected/Test-Ubuntu17-GCC-Golo-GPU-QuadroP400-x86_64-Release-All-Valgrind_PreAbandonGpuContext.json
+++ b/infra/bots/recipes/test.expected/Test-Ubuntu18-Clang-Golo-GPU-QuadroP400-x86_64-Release-All-Valgrind_PreAbandonGpuContext_SK_CPU_LIMIT_SSE41.json
@@ -171,7 +171,7 @@
       "gitHash",
       "abc123",
       "builder",
-      "Test-Ubuntu17-GCC-Golo-GPU-QuadroP400-x86_64-Release-All-Valgrind_PreAbandonGpuContext",
+      "Test-Ubuntu18-Clang-Golo-GPU-QuadroP400-x86_64-Release-All-Valgrind_PreAbandonGpuContext_SK_CPU_LIMIT_SSE41",
       "buildbucket_build_id",
       "123454321",
       "task_id",
@@ -186,7 +186,7 @@
       "arch",
       "x86_64",
       "compiler",
-      "GCC",
+      "Clang",
       "configuration",
       "Release",
       "cpu_or_gpu",
@@ -194,11 +194,11 @@
       "cpu_or_gpu_value",
       "QuadroP400",
       "extra_config",
-      "Valgrind_PreAbandonGpuContext",
+      "Valgrind_PreAbandonGpuContext_SK_CPU_LIMIT_SSE41",
       "model",
       "Golo",
       "os",
-      "Ubuntu17",
+      "Ubuntu18",
       "style",
       "default",
       "--dont_write",
diff --git a/infra/bots/recipes/test.expected/failed_dm.json b/infra/bots/recipes/test.expected/failed_dm.json
index 84ea988..0cc34e6 100644
--- a/infra/bots/recipes/test.expected/failed_dm.json
+++ b/infra/bots/recipes/test.expected/failed_dm.json
@@ -245,7 +245,7 @@
       "gitHash",
       "abc123",
       "builder",
-      "Test-Debian9-GCC-GCE-CPU-AVX2-x86_64-Debug-All",
+      "Test-Debian9-Clang-GCE-CPU-AVX2-x86_64-Debug-All",
       "buildbucket_build_id",
       "123454321",
       "task_id",
@@ -260,7 +260,7 @@
       "arch",
       "x86_64",
       "compiler",
-      "GCC",
+      "Clang",
       "configuration",
       "Debug",
       "cpu_or_gpu",
diff --git a/infra/bots/recipes/test.py b/infra/bots/recipes/test.py
index 44fbaac..a022c1b 100644
--- a/infra/bots/recipes/test.py
+++ b/infra/bots/recipes/test.py
@@ -326,9 +326,6 @@
       args.extend(['--skpViewportSize', "2048"])
       args.extend(['--gpuThreads', "0"])
 
-    if 'Lottie' in bot:
-      configs = ['gl']
-
   tf = api.vars.builder_cfg.get('test_filter')
   if 'All' != tf:
     # Expected format: shard_XX_YY
@@ -1035,14 +1032,13 @@
   ('Test-Mac10.13-Clang-MacMini7.1-GPU-IntelIris5100-x86_64-Debug-All'
    '-CommandBuffer'),
   'Test-Mac10.14-Clang-MacBookAir7.2-GPU-IntelHD6000-x86_64-Debug-All',
-  'Test-Ubuntu17-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-Vulkan_Coverage',
-  ('Test-Ubuntu17-GCC-Golo-GPU-QuadroP400-x86_64-Release-All'
-   '-Valgrind_AbandonGpuContext'),
-  ('Test-Ubuntu17-GCC-Golo-GPU-QuadroP400-x86_64-Release-All'
-   '-Valgrind_PreAbandonGpuContext'),
-  'Test-Ubuntu17-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-DDL1',
-  'Test-Ubuntu17-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-DDL3',
-  'Test-Ubuntu17-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-Lottie',
+  'Test-Ubuntu18-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-Vulkan',
+  ('Test-Ubuntu18-Clang-Golo-GPU-QuadroP400-x86_64-Release-All'
+   '-Valgrind_AbandonGpuContext_SK_CPU_LIMIT_SSE41'),
+  ('Test-Ubuntu18-Clang-Golo-GPU-QuadroP400-x86_64-Release-All'
+   '-Valgrind_PreAbandonGpuContext_SK_CPU_LIMIT_SSE41'),
+  'Test-Ubuntu18-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-DDL1',
+  'Test-Ubuntu18-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-DDL3',
   'Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Release-All-BonusConfigs',
   'Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-NonNVPR',
   ('Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Release-All'
@@ -1127,7 +1123,7 @@
     )
   )
 
-  builder = 'Test-Debian9-GCC-GCE-CPU-AVX2-x86_64-Debug-All'
+  builder = 'Test-Debian9-Clang-GCE-CPU-AVX2-x86_64-Debug-All'
   yield (
     api.test('failed_dm') +
     api.properties(buildername=builder,
diff --git a/infra/bots/recipes/upload_dm_results.expected/alternate_bucket.json b/infra/bots/recipes/upload_dm_results.expected/alternate_bucket.json
index e2d2993..112ef71 100644
--- a/infra/bots/recipes/upload_dm_results.expected/alternate_bucket.json
+++ b/infra/bots/recipes/upload_dm_results.expected/alternate_bucket.json
@@ -51,7 +51,7 @@
       "cp",
       "-Z",
       "[START_DIR]/test/dm.json",
-      "gs://skia-infra-gm-alt/dm-json-v1/2012/05/14/12/abc123/Upload-Test-Debian9-GCC-GCE-CPU-AVX2-x86_64-Debug-All/1337000001/dm.json"
+      "gs://skia-infra-gm-alt/dm-json-v1/2012/05/14/12/abc123/Upload-Test-Debian9-Clang-GCE-CPU-AVX2-x86_64-Debug-All/1337000001/dm.json"
     ],
     "name": "upload dm.json"
   },
@@ -79,7 +79,7 @@
       "cp",
       "-Z",
       "[START_DIR]/test/verbose.log",
-      "gs://skia-infra-gm-alt/dm-json-v1/2012/05/14/12/abc123/Upload-Test-Debian9-GCC-GCE-CPU-AVX2-x86_64-Debug-All/1337000001/verbose.log"
+      "gs://skia-infra-gm-alt/dm-json-v1/2012/05/14/12/abc123/Upload-Test-Debian9-Clang-GCE-CPU-AVX2-x86_64-Debug-All/1337000001/verbose.log"
     ],
     "name": "upload verbose.log"
   },
diff --git a/infra/bots/recipes/upload_dm_results.expected/failed_once.json b/infra/bots/recipes/upload_dm_results.expected/failed_once.json
index 1c6aca1..c8d96a4 100644
--- a/infra/bots/recipes/upload_dm_results.expected/failed_once.json
+++ b/infra/bots/recipes/upload_dm_results.expected/failed_once.json
@@ -64,7 +64,7 @@
       "cp",
       "-Z",
       "[START_DIR]/test/dm.json",
-      "gs://skia-infra-gm/dm-json-v1/2012/05/14/12/abc123/Upload-Test-Debian9-GCC-GCE-CPU-AVX2-x86_64-Debug-All/1337000001/dm.json"
+      "gs://skia-infra-gm/dm-json-v1/2012/05/14/12/abc123/Upload-Test-Debian9-Clang-GCE-CPU-AVX2-x86_64-Debug-All/1337000001/dm.json"
     ],
     "name": "upload dm.json"
   },
@@ -92,7 +92,7 @@
       "cp",
       "-Z",
       "[START_DIR]/test/verbose.log",
-      "gs://skia-infra-gm/dm-json-v1/2012/05/14/12/abc123/Upload-Test-Debian9-GCC-GCE-CPU-AVX2-x86_64-Debug-All/1337000001/verbose.log"
+      "gs://skia-infra-gm/dm-json-v1/2012/05/14/12/abc123/Upload-Test-Debian9-Clang-GCE-CPU-AVX2-x86_64-Debug-All/1337000001/verbose.log"
     ],
     "name": "upload verbose.log"
   },
diff --git a/infra/bots/recipes/upload_dm_results.expected/normal_bot.json b/infra/bots/recipes/upload_dm_results.expected/normal_bot.json
index 1ebc1e4..96f97fd 100644
--- a/infra/bots/recipes/upload_dm_results.expected/normal_bot.json
+++ b/infra/bots/recipes/upload_dm_results.expected/normal_bot.json
@@ -51,7 +51,7 @@
       "cp",
       "-Z",
       "[START_DIR]/test/dm.json",
-      "gs://skia-infra-gm/dm-json-v1/2012/05/14/12/abc123/Upload-Test-Debian9-GCC-GCE-CPU-AVX2-x86_64-Debug-All/1337000001/dm.json"
+      "gs://skia-infra-gm/dm-json-v1/2012/05/14/12/abc123/Upload-Test-Debian9-Clang-GCE-CPU-AVX2-x86_64-Debug-All/1337000001/dm.json"
     ],
     "name": "upload dm.json"
   },
@@ -79,7 +79,7 @@
       "cp",
       "-Z",
       "[START_DIR]/test/verbose.log",
-      "gs://skia-infra-gm/dm-json-v1/2012/05/14/12/abc123/Upload-Test-Debian9-GCC-GCE-CPU-AVX2-x86_64-Debug-All/1337000001/verbose.log"
+      "gs://skia-infra-gm/dm-json-v1/2012/05/14/12/abc123/Upload-Test-Debian9-Clang-GCE-CPU-AVX2-x86_64-Debug-All/1337000001/verbose.log"
     ],
     "name": "upload verbose.log"
   },
diff --git a/infra/bots/recipes/upload_dm_results.expected/trybot.json b/infra/bots/recipes/upload_dm_results.expected/trybot.json
index ff71c92..aa301ad 100644
--- a/infra/bots/recipes/upload_dm_results.expected/trybot.json
+++ b/infra/bots/recipes/upload_dm_results.expected/trybot.json
@@ -51,7 +51,7 @@
       "cp",
       "-Z",
       "[START_DIR]/test/dm.json",
-      "gs://skia-infra-gm/trybot/dm-json-v1/2012/05/14/12/abc123/Upload-Test-Debian9-GCC-GCE-CPU-AVX2-x86_64-Debug-All/1337000001/456789/12/dm.json"
+      "gs://skia-infra-gm/trybot/dm-json-v1/2012/05/14/12/abc123/Upload-Test-Debian9-Clang-GCE-CPU-AVX2-x86_64-Debug-All/1337000001/456789/12/dm.json"
     ],
     "name": "upload dm.json"
   },
@@ -79,7 +79,7 @@
       "cp",
       "-Z",
       "[START_DIR]/test/verbose.log",
-      "gs://skia-infra-gm/trybot/dm-json-v1/2012/05/14/12/abc123/Upload-Test-Debian9-GCC-GCE-CPU-AVX2-x86_64-Debug-All/1337000001/456789/12/verbose.log"
+      "gs://skia-infra-gm/trybot/dm-json-v1/2012/05/14/12/abc123/Upload-Test-Debian9-Clang-GCE-CPU-AVX2-x86_64-Debug-All/1337000001/456789/12/verbose.log"
     ],
     "name": "upload verbose.log"
   },
diff --git a/infra/bots/recipes/upload_dm_results.py b/infra/bots/recipes/upload_dm_results.py
index 3e8bfe4..34ade3d 100644
--- a/infra/bots/recipes/upload_dm_results.py
+++ b/infra/bots/recipes/upload_dm_results.py
@@ -81,7 +81,7 @@
 
 
 def GenTests(api):
-  builder = 'Upload-Test-Debian9-GCC-GCE-CPU-AVX2-x86_64-Debug-All'
+  builder = 'Upload-Test-Debian9-Clang-GCE-CPU-AVX2-x86_64-Debug-All'
   yield (
     api.test('normal_bot') +
     api.properties(buildername=builder,
diff --git a/infra/bots/recipes/upload_nano_results.expected/normal_bot.json b/infra/bots/recipes/upload_nano_results.expected/normal_bot.json
index 93c1e88..ee9532c 100644
--- a/infra/bots/recipes/upload_nano_results.expected/normal_bot.json
+++ b/infra/bots/recipes/upload_nano_results.expected/normal_bot.json
@@ -25,7 +25,7 @@
       "-z",
       "json",
       "[START_DIR]/perf/nanobench_abc123.json",
-      "gs://skia-perf/nano-json-v1/2012/05/14/12/Perf-Debian9-GCC-GCE-CPU-AVX2-x86_64-All-Debug/nanobench_abc123.json"
+      "gs://skia-perf/nano-json-v1/2012/05/14/12/Perf-Debian9-Clang-GCE-CPU-AVX2-x86_64-All-Debug/nanobench_abc123.json"
     ],
     "infra_step": true,
     "name": "upload"
diff --git a/infra/bots/recipes/upload_nano_results.expected/trybot.json b/infra/bots/recipes/upload_nano_results.expected/trybot.json
index bd2e454..fd2f2f0 100644
--- a/infra/bots/recipes/upload_nano_results.expected/trybot.json
+++ b/infra/bots/recipes/upload_nano_results.expected/trybot.json
@@ -25,7 +25,7 @@
       "-z",
       "json",
       "[START_DIR]/perf/nanobench_abc123.json",
-      "gs://skia-perf/trybot/nano-json-v1/2012/05/14/12/Perf-Debian9-GCC-GCE-CPU-AVX2-x86_64-All-Debug/456789/12/nanobench_abc123.json"
+      "gs://skia-perf/trybot/nano-json-v1/2012/05/14/12/Perf-Debian9-Clang-GCE-CPU-AVX2-x86_64-All-Debug/456789/12/nanobench_abc123.json"
     ],
     "infra_step": true,
     "name": "upload"
diff --git a/infra/bots/recipes/upload_nano_results.py b/infra/bots/recipes/upload_nano_results.py
index 9c108f8..4ff168d 100644
--- a/infra/bots/recipes/upload_nano_results.py
+++ b/infra/bots/recipes/upload_nano_results.py
@@ -53,7 +53,7 @@
 
 
 def GenTests(api):
-  builder = 'Perf-Debian9-GCC-GCE-CPU-AVX2-x86_64-All-Debug'
+  builder = 'Perf-Debian9-Clang-GCE-CPU-AVX2-x86_64-All-Debug'
   yield (
     api.test('normal_bot') +
     api.properties(buildername=builder,
diff --git a/infra/bots/tasks.json b/infra/bots/tasks.json
index 9ab8afa..afe7c40 100755
--- a/infra/bots/tasks.json
+++ b/infra/bots/tasks.json
@@ -419,61 +419,6 @@
         "Build-Debian9-EMCC-wasm-Release-PathKit"
       ]
     },
-    "Build-Debian9-GCC-loongson3a-Debug": {
-      "tasks": [
-        "Build-Debian9-GCC-loongson3a-Debug"
-      ]
-    },
-    "Build-Debian9-GCC-loongson3a-Release": {
-      "tasks": [
-        "Build-Debian9-GCC-loongson3a-Release"
-      ]
-    },
-    "Build-Debian9-GCC-mips64el-Debug": {
-      "tasks": [
-        "Build-Debian9-GCC-mips64el-Debug"
-      ]
-    },
-    "Build-Debian9-GCC-mips64el-Release": {
-      "tasks": [
-        "Build-Debian9-GCC-mips64el-Release"
-      ]
-    },
-    "Build-Debian9-GCC-x86-Debug": {
-      "tasks": [
-        "Build-Debian9-GCC-x86-Debug"
-      ]
-    },
-    "Build-Debian9-GCC-x86-Release": {
-      "tasks": [
-        "Build-Debian9-GCC-x86-Release"
-      ]
-    },
-    "Build-Debian9-GCC-x86_64-Debug": {
-      "tasks": [
-        "Build-Debian9-GCC-x86_64-Debug"
-      ]
-    },
-    "Build-Debian9-GCC-x86_64-Debug-NoGPU": {
-      "tasks": [
-        "Build-Debian9-GCC-x86_64-Debug-NoGPU"
-      ]
-    },
-    "Build-Debian9-GCC-x86_64-Release": {
-      "tasks": [
-        "Build-Debian9-GCC-x86_64-Release"
-      ]
-    },
-    "Build-Debian9-GCC-x86_64-Release-NoGPU": {
-      "tasks": [
-        "Build-Debian9-GCC-x86_64-Release-NoGPU"
-      ]
-    },
-    "Build-Debian9-GCC-x86_64-Release-Shared": {
-      "tasks": [
-        "Build-Debian9-GCC-x86_64-Release-Shared"
-      ]
-    },
     "Build-Mac-Clang-arm-Debug-iOS": {
       "tasks": [
         "Build-Mac-Clang-arm-Debug-iOS"
@@ -2247,26 +2192,6 @@
         "Upload-Test-Debian9-EMCC-GCE-GPU-AVX2-wasm-Release-All-CanvasKit"
       ]
     },
-    "Test-Debian9-GCC-GCE-CPU-AVX2-x86-Debug-All": {
-      "tasks": [
-        "Upload-Test-Debian9-GCC-GCE-CPU-AVX2-x86-Debug-All"
-      ]
-    },
-    "Test-Debian9-GCC-GCE-CPU-AVX2-x86-Release-All": {
-      "tasks": [
-        "Upload-Test-Debian9-GCC-GCE-CPU-AVX2-x86-Release-All"
-      ]
-    },
-    "Test-Debian9-GCC-GCE-CPU-AVX2-x86_64-Debug-All": {
-      "tasks": [
-        "Upload-Test-Debian9-GCC-GCE-CPU-AVX2-x86_64-Debug-All"
-      ]
-    },
-    "Test-Debian9-GCC-GCE-CPU-AVX2-x86_64-Release-All": {
-      "tasks": [
-        "Upload-Test-Debian9-GCC-GCE-CPU-AVX2-x86_64-Release-All"
-      ]
-    },
     "Test-Mac10.13-Clang-MacBook10.1-GPU-IntelHD615-x86_64-Debug-All": {
       "tasks": [
         "Upload-Test-Mac10.13-Clang-MacBook10.1-GPU-IntelHD615-x86_64-Debug-All"
@@ -3102,11 +3027,6 @@
           "name": "infra/tools/luci/vpython/${platform}",
           "path": "cipd_bin_packages",
           "version": "git_revision:0e171233385f11fd2b7458728c8ee439d4db53f1"
-        },
-        {
-          "name": "skia/bots/mips64el_toolchain_linux",
-          "path": "mips64el_toolchain_linux",
-          "version": "version:6"
         }
       ],
       "command": [
@@ -3176,11 +3096,6 @@
           "name": "infra/tools/luci/vpython/${platform}",
           "path": "cipd_bin_packages",
           "version": "git_revision:0e171233385f11fd2b7458728c8ee439d4db53f1"
-        },
-        {
-          "name": "skia/bots/mips64el_toolchain_linux",
-          "path": "mips64el_toolchain_linux",
-          "version": "version:6"
         }
       ],
       "command": [
@@ -3250,11 +3165,6 @@
           "name": "infra/tools/luci/vpython/${platform}",
           "path": "cipd_bin_packages",
           "version": "git_revision:0e171233385f11fd2b7458728c8ee439d4db53f1"
-        },
-        {
-          "name": "skia/bots/mips64el_toolchain_linux",
-          "path": "mips64el_toolchain_linux",
-          "version": "version:6"
         }
       ],
       "command": [
@@ -3324,11 +3234,6 @@
           "name": "infra/tools/luci/vpython/${platform}",
           "path": "cipd_bin_packages",
           "version": "git_revision:0e171233385f11fd2b7458728c8ee439d4db53f1"
-        },
-        {
-          "name": "skia/bots/mips64el_toolchain_linux",
-          "path": "mips64el_toolchain_linux",
-          "version": "version:6"
         }
       ],
       "command": [
@@ -9046,730 +8951,6 @@
       ],
       "service_account": "skia-external-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com"
     },
-    "Build-Debian9-GCC-loongson3a-Debug": {
-      "caches": [
-        {
-          "name": "vpython",
-          "path": "cache/vpython"
-        }
-      ],
-      "cipd_packages": [
-        {
-          "name": "infra/tools/luci/kitchen/${platform}",
-          "path": ".",
-          "version": "git_revision:0e171233385f11fd2b7458728c8ee439d4db53f1"
-        },
-        {
-          "name": "infra/tools/luci-auth/${platform}",
-          "path": "cipd_bin_packages",
-          "version": "git_revision:0e171233385f11fd2b7458728c8ee439d4db53f1"
-        },
-        {
-          "name": "infra/tools/luci/vpython/${platform}",
-          "path": "cipd_bin_packages",
-          "version": "git_revision:0e171233385f11fd2b7458728c8ee439d4db53f1"
-        },
-        {
-          "name": "skia/bots/mips64el_toolchain_linux",
-          "path": "mips64el_toolchain_linux",
-          "version": "version:6"
-        }
-      ],
-      "command": [
-        "cipd_bin_packages/vpython${EXECUTABLE_SUFFIX}",
-        "skia/infra/bots/run_recipe.py",
-        "${ISOLATED_OUTDIR}",
-        "compile",
-        "{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildername\":\"Build-Debian9-GCC-loongson3a-Debug\",\"swarm_out_dir\":\"build\"}",
-        "skia"
-      ],
-      "dependencies": [
-        "Housekeeper-PerCommit-BundleRecipes"
-      ],
-      "dimensions": [
-        "cpu:x86-64-Haswell_GCE",
-        "gpu:none",
-        "machine_type:n1-highcpu-64",
-        "os:Debian-9.8",
-        "pool:Skia"
-      ],
-      "env_prefixes": {
-        "PATH": [
-          "cipd_bin_packages",
-          "cipd_bin_packages/bin"
-        ],
-        "VPYTHON_VIRTUALENV_ROOT": [
-          "cache/vpython"
-        ]
-      },
-      "execution_timeout_ns": 3600000000000,
-      "extra_tags": {
-        "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
-      },
-      "idempotent": true,
-      "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
-      "max_attempts": 2,
-      "outputs": [
-        "build"
-      ],
-      "service_account": "skia-external-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com"
-    },
-    "Build-Debian9-GCC-loongson3a-Release": {
-      "caches": [
-        {
-          "name": "vpython",
-          "path": "cache/vpython"
-        }
-      ],
-      "cipd_packages": [
-        {
-          "name": "infra/tools/luci/kitchen/${platform}",
-          "path": ".",
-          "version": "git_revision:0e171233385f11fd2b7458728c8ee439d4db53f1"
-        },
-        {
-          "name": "infra/tools/luci-auth/${platform}",
-          "path": "cipd_bin_packages",
-          "version": "git_revision:0e171233385f11fd2b7458728c8ee439d4db53f1"
-        },
-        {
-          "name": "infra/tools/luci/vpython/${platform}",
-          "path": "cipd_bin_packages",
-          "version": "git_revision:0e171233385f11fd2b7458728c8ee439d4db53f1"
-        },
-        {
-          "name": "skia/bots/mips64el_toolchain_linux",
-          "path": "mips64el_toolchain_linux",
-          "version": "version:6"
-        }
-      ],
-      "command": [
-        "cipd_bin_packages/vpython${EXECUTABLE_SUFFIX}",
-        "skia/infra/bots/run_recipe.py",
-        "${ISOLATED_OUTDIR}",
-        "compile",
-        "{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildername\":\"Build-Debian9-GCC-loongson3a-Release\",\"swarm_out_dir\":\"build\"}",
-        "skia"
-      ],
-      "dependencies": [
-        "Housekeeper-PerCommit-BundleRecipes"
-      ],
-      "dimensions": [
-        "cpu:x86-64-Haswell_GCE",
-        "gpu:none",
-        "machine_type:n1-highcpu-64",
-        "os:Debian-9.8",
-        "pool:Skia"
-      ],
-      "env_prefixes": {
-        "PATH": [
-          "cipd_bin_packages",
-          "cipd_bin_packages/bin"
-        ],
-        "VPYTHON_VIRTUALENV_ROOT": [
-          "cache/vpython"
-        ]
-      },
-      "execution_timeout_ns": 3600000000000,
-      "extra_tags": {
-        "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
-      },
-      "idempotent": true,
-      "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
-      "max_attempts": 2,
-      "outputs": [
-        "build"
-      ],
-      "service_account": "skia-external-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com"
-    },
-    "Build-Debian9-GCC-mips64el-Debug": {
-      "caches": [
-        {
-          "name": "vpython",
-          "path": "cache/vpython"
-        }
-      ],
-      "cipd_packages": [
-        {
-          "name": "infra/tools/luci/kitchen/${platform}",
-          "path": ".",
-          "version": "git_revision:0e171233385f11fd2b7458728c8ee439d4db53f1"
-        },
-        {
-          "name": "infra/tools/luci-auth/${platform}",
-          "path": "cipd_bin_packages",
-          "version": "git_revision:0e171233385f11fd2b7458728c8ee439d4db53f1"
-        },
-        {
-          "name": "infra/tools/luci/vpython/${platform}",
-          "path": "cipd_bin_packages",
-          "version": "git_revision:0e171233385f11fd2b7458728c8ee439d4db53f1"
-        },
-        {
-          "name": "skia/bots/mips64el_toolchain_linux",
-          "path": "mips64el_toolchain_linux",
-          "version": "version:6"
-        }
-      ],
-      "command": [
-        "cipd_bin_packages/vpython${EXECUTABLE_SUFFIX}",
-        "skia/infra/bots/run_recipe.py",
-        "${ISOLATED_OUTDIR}",
-        "compile",
-        "{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildername\":\"Build-Debian9-GCC-mips64el-Debug\",\"swarm_out_dir\":\"build\"}",
-        "skia"
-      ],
-      "dependencies": [
-        "Housekeeper-PerCommit-BundleRecipes"
-      ],
-      "dimensions": [
-        "cpu:x86-64-Haswell_GCE",
-        "gpu:none",
-        "machine_type:n1-highcpu-64",
-        "os:Debian-9.8",
-        "pool:Skia"
-      ],
-      "env_prefixes": {
-        "PATH": [
-          "cipd_bin_packages",
-          "cipd_bin_packages/bin"
-        ],
-        "VPYTHON_VIRTUALENV_ROOT": [
-          "cache/vpython"
-        ]
-      },
-      "execution_timeout_ns": 3600000000000,
-      "extra_tags": {
-        "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
-      },
-      "idempotent": true,
-      "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
-      "max_attempts": 2,
-      "outputs": [
-        "build"
-      ],
-      "service_account": "skia-external-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com"
-    },
-    "Build-Debian9-GCC-mips64el-Release": {
-      "caches": [
-        {
-          "name": "vpython",
-          "path": "cache/vpython"
-        }
-      ],
-      "cipd_packages": [
-        {
-          "name": "infra/tools/luci/kitchen/${platform}",
-          "path": ".",
-          "version": "git_revision:0e171233385f11fd2b7458728c8ee439d4db53f1"
-        },
-        {
-          "name": "infra/tools/luci-auth/${platform}",
-          "path": "cipd_bin_packages",
-          "version": "git_revision:0e171233385f11fd2b7458728c8ee439d4db53f1"
-        },
-        {
-          "name": "infra/tools/luci/vpython/${platform}",
-          "path": "cipd_bin_packages",
-          "version": "git_revision:0e171233385f11fd2b7458728c8ee439d4db53f1"
-        },
-        {
-          "name": "skia/bots/mips64el_toolchain_linux",
-          "path": "mips64el_toolchain_linux",
-          "version": "version:6"
-        }
-      ],
-      "command": [
-        "cipd_bin_packages/vpython${EXECUTABLE_SUFFIX}",
-        "skia/infra/bots/run_recipe.py",
-        "${ISOLATED_OUTDIR}",
-        "compile",
-        "{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildername\":\"Build-Debian9-GCC-mips64el-Release\",\"swarm_out_dir\":\"build\"}",
-        "skia"
-      ],
-      "dependencies": [
-        "Housekeeper-PerCommit-BundleRecipes"
-      ],
-      "dimensions": [
-        "cpu:x86-64-Haswell_GCE",
-        "gpu:none",
-        "machine_type:n1-highcpu-64",
-        "os:Debian-9.8",
-        "pool:Skia"
-      ],
-      "env_prefixes": {
-        "PATH": [
-          "cipd_bin_packages",
-          "cipd_bin_packages/bin"
-        ],
-        "VPYTHON_VIRTUALENV_ROOT": [
-          "cache/vpython"
-        ]
-      },
-      "execution_timeout_ns": 3600000000000,
-      "extra_tags": {
-        "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
-      },
-      "idempotent": true,
-      "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
-      "max_attempts": 2,
-      "outputs": [
-        "build"
-      ],
-      "service_account": "skia-external-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com"
-    },
-    "Build-Debian9-GCC-x86-Debug": {
-      "caches": [
-        {
-          "name": "vpython",
-          "path": "cache/vpython"
-        }
-      ],
-      "cipd_packages": [
-        {
-          "name": "infra/tools/luci/kitchen/${platform}",
-          "path": ".",
-          "version": "git_revision:0e171233385f11fd2b7458728c8ee439d4db53f1"
-        },
-        {
-          "name": "infra/tools/luci-auth/${platform}",
-          "path": "cipd_bin_packages",
-          "version": "git_revision:0e171233385f11fd2b7458728c8ee439d4db53f1"
-        },
-        {
-          "name": "infra/tools/luci/vpython/${platform}",
-          "path": "cipd_bin_packages",
-          "version": "git_revision:0e171233385f11fd2b7458728c8ee439d4db53f1"
-        }
-      ],
-      "command": [
-        "cipd_bin_packages/vpython${EXECUTABLE_SUFFIX}",
-        "skia/infra/bots/run_recipe.py",
-        "${ISOLATED_OUTDIR}",
-        "compile",
-        "{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildername\":\"Build-Debian9-GCC-x86-Debug\",\"swarm_out_dir\":\"build\"}",
-        "skia"
-      ],
-      "dependencies": [
-        "Housekeeper-PerCommit-BundleRecipes"
-      ],
-      "dimensions": [
-        "cpu:x86-64-Haswell_GCE",
-        "gpu:none",
-        "machine_type:n1-highcpu-64",
-        "os:Debian-9.8",
-        "pool:Skia"
-      ],
-      "env_prefixes": {
-        "PATH": [
-          "cipd_bin_packages",
-          "cipd_bin_packages/bin"
-        ],
-        "VPYTHON_VIRTUALENV_ROOT": [
-          "cache/vpython"
-        ]
-      },
-      "execution_timeout_ns": 3600000000000,
-      "extra_tags": {
-        "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
-      },
-      "idempotent": true,
-      "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
-      "max_attempts": 2,
-      "outputs": [
-        "build"
-      ],
-      "service_account": "skia-external-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com"
-    },
-    "Build-Debian9-GCC-x86-Release": {
-      "caches": [
-        {
-          "name": "vpython",
-          "path": "cache/vpython"
-        }
-      ],
-      "cipd_packages": [
-        {
-          "name": "infra/tools/luci/kitchen/${platform}",
-          "path": ".",
-          "version": "git_revision:0e171233385f11fd2b7458728c8ee439d4db53f1"
-        },
-        {
-          "name": "infra/tools/luci-auth/${platform}",
-          "path": "cipd_bin_packages",
-          "version": "git_revision:0e171233385f11fd2b7458728c8ee439d4db53f1"
-        },
-        {
-          "name": "infra/tools/luci/vpython/${platform}",
-          "path": "cipd_bin_packages",
-          "version": "git_revision:0e171233385f11fd2b7458728c8ee439d4db53f1"
-        }
-      ],
-      "command": [
-        "cipd_bin_packages/vpython${EXECUTABLE_SUFFIX}",
-        "skia/infra/bots/run_recipe.py",
-        "${ISOLATED_OUTDIR}",
-        "compile",
-        "{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildername\":\"Build-Debian9-GCC-x86-Release\",\"swarm_out_dir\":\"build\"}",
-        "skia"
-      ],
-      "dependencies": [
-        "Housekeeper-PerCommit-BundleRecipes"
-      ],
-      "dimensions": [
-        "cpu:x86-64-Haswell_GCE",
-        "gpu:none",
-        "machine_type:n1-highcpu-64",
-        "os:Debian-9.8",
-        "pool:Skia"
-      ],
-      "env_prefixes": {
-        "PATH": [
-          "cipd_bin_packages",
-          "cipd_bin_packages/bin"
-        ],
-        "VPYTHON_VIRTUALENV_ROOT": [
-          "cache/vpython"
-        ]
-      },
-      "execution_timeout_ns": 3600000000000,
-      "extra_tags": {
-        "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
-      },
-      "idempotent": true,
-      "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
-      "max_attempts": 2,
-      "outputs": [
-        "build"
-      ],
-      "service_account": "skia-external-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com"
-    },
-    "Build-Debian9-GCC-x86_64-Debug": {
-      "caches": [
-        {
-          "name": "vpython",
-          "path": "cache/vpython"
-        }
-      ],
-      "cipd_packages": [
-        {
-          "name": "infra/tools/luci/kitchen/${platform}",
-          "path": ".",
-          "version": "git_revision:0e171233385f11fd2b7458728c8ee439d4db53f1"
-        },
-        {
-          "name": "infra/tools/luci-auth/${platform}",
-          "path": "cipd_bin_packages",
-          "version": "git_revision:0e171233385f11fd2b7458728c8ee439d4db53f1"
-        },
-        {
-          "name": "infra/tools/luci/vpython/${platform}",
-          "path": "cipd_bin_packages",
-          "version": "git_revision:0e171233385f11fd2b7458728c8ee439d4db53f1"
-        }
-      ],
-      "command": [
-        "cipd_bin_packages/vpython${EXECUTABLE_SUFFIX}",
-        "skia/infra/bots/run_recipe.py",
-        "${ISOLATED_OUTDIR}",
-        "compile",
-        "{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildername\":\"Build-Debian9-GCC-x86_64-Debug\",\"swarm_out_dir\":\"build\"}",
-        "skia"
-      ],
-      "dependencies": [
-        "Housekeeper-PerCommit-BundleRecipes"
-      ],
-      "dimensions": [
-        "cpu:x86-64-Haswell_GCE",
-        "gpu:none",
-        "machine_type:n1-highcpu-64",
-        "os:Debian-9.8",
-        "pool:Skia"
-      ],
-      "env_prefixes": {
-        "PATH": [
-          "cipd_bin_packages",
-          "cipd_bin_packages/bin"
-        ],
-        "VPYTHON_VIRTUALENV_ROOT": [
-          "cache/vpython"
-        ]
-      },
-      "execution_timeout_ns": 3600000000000,
-      "extra_tags": {
-        "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
-      },
-      "idempotent": true,
-      "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
-      "max_attempts": 2,
-      "outputs": [
-        "build"
-      ],
-      "service_account": "skia-external-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com"
-    },
-    "Build-Debian9-GCC-x86_64-Debug-NoGPU": {
-      "caches": [
-        {
-          "name": "vpython",
-          "path": "cache/vpython"
-        }
-      ],
-      "cipd_packages": [
-        {
-          "name": "infra/tools/luci/kitchen/${platform}",
-          "path": ".",
-          "version": "git_revision:0e171233385f11fd2b7458728c8ee439d4db53f1"
-        },
-        {
-          "name": "infra/tools/luci-auth/${platform}",
-          "path": "cipd_bin_packages",
-          "version": "git_revision:0e171233385f11fd2b7458728c8ee439d4db53f1"
-        },
-        {
-          "name": "infra/tools/luci/vpython/${platform}",
-          "path": "cipd_bin_packages",
-          "version": "git_revision:0e171233385f11fd2b7458728c8ee439d4db53f1"
-        }
-      ],
-      "command": [
-        "cipd_bin_packages/vpython${EXECUTABLE_SUFFIX}",
-        "skia/infra/bots/run_recipe.py",
-        "${ISOLATED_OUTDIR}",
-        "compile",
-        "{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildername\":\"Build-Debian9-GCC-x86_64-Debug-NoGPU\",\"swarm_out_dir\":\"build\"}",
-        "skia"
-      ],
-      "dependencies": [
-        "Housekeeper-PerCommit-BundleRecipes"
-      ],
-      "dimensions": [
-        "cpu:x86-64-Haswell_GCE",
-        "gpu:none",
-        "machine_type:n1-highcpu-64",
-        "os:Debian-9.8",
-        "pool:Skia"
-      ],
-      "env_prefixes": {
-        "PATH": [
-          "cipd_bin_packages",
-          "cipd_bin_packages/bin"
-        ],
-        "VPYTHON_VIRTUALENV_ROOT": [
-          "cache/vpython"
-        ]
-      },
-      "execution_timeout_ns": 3600000000000,
-      "extra_tags": {
-        "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
-      },
-      "idempotent": true,
-      "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
-      "max_attempts": 2,
-      "outputs": [
-        "build"
-      ],
-      "service_account": "skia-external-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com"
-    },
-    "Build-Debian9-GCC-x86_64-Release": {
-      "caches": [
-        {
-          "name": "vpython",
-          "path": "cache/vpython"
-        }
-      ],
-      "cipd_packages": [
-        {
-          "name": "infra/tools/luci/kitchen/${platform}",
-          "path": ".",
-          "version": "git_revision:0e171233385f11fd2b7458728c8ee439d4db53f1"
-        },
-        {
-          "name": "infra/tools/luci-auth/${platform}",
-          "path": "cipd_bin_packages",
-          "version": "git_revision:0e171233385f11fd2b7458728c8ee439d4db53f1"
-        },
-        {
-          "name": "infra/tools/luci/vpython/${platform}",
-          "path": "cipd_bin_packages",
-          "version": "git_revision:0e171233385f11fd2b7458728c8ee439d4db53f1"
-        }
-      ],
-      "command": [
-        "cipd_bin_packages/vpython${EXECUTABLE_SUFFIX}",
-        "skia/infra/bots/run_recipe.py",
-        "${ISOLATED_OUTDIR}",
-        "compile",
-        "{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildername\":\"Build-Debian9-GCC-x86_64-Release\",\"swarm_out_dir\":\"build\"}",
-        "skia"
-      ],
-      "dependencies": [
-        "Housekeeper-PerCommit-BundleRecipes"
-      ],
-      "dimensions": [
-        "cpu:x86-64-Haswell_GCE",
-        "gpu:none",
-        "machine_type:n1-highcpu-64",
-        "os:Debian-9.8",
-        "pool:Skia"
-      ],
-      "env_prefixes": {
-        "PATH": [
-          "cipd_bin_packages",
-          "cipd_bin_packages/bin"
-        ],
-        "VPYTHON_VIRTUALENV_ROOT": [
-          "cache/vpython"
-        ]
-      },
-      "execution_timeout_ns": 3600000000000,
-      "extra_tags": {
-        "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
-      },
-      "idempotent": true,
-      "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
-      "max_attempts": 2,
-      "outputs": [
-        "build"
-      ],
-      "service_account": "skia-external-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com"
-    },
-    "Build-Debian9-GCC-x86_64-Release-NoGPU": {
-      "caches": [
-        {
-          "name": "vpython",
-          "path": "cache/vpython"
-        }
-      ],
-      "cipd_packages": [
-        {
-          "name": "infra/tools/luci/kitchen/${platform}",
-          "path": ".",
-          "version": "git_revision:0e171233385f11fd2b7458728c8ee439d4db53f1"
-        },
-        {
-          "name": "infra/tools/luci-auth/${platform}",
-          "path": "cipd_bin_packages",
-          "version": "git_revision:0e171233385f11fd2b7458728c8ee439d4db53f1"
-        },
-        {
-          "name": "infra/tools/luci/vpython/${platform}",
-          "path": "cipd_bin_packages",
-          "version": "git_revision:0e171233385f11fd2b7458728c8ee439d4db53f1"
-        }
-      ],
-      "command": [
-        "cipd_bin_packages/vpython${EXECUTABLE_SUFFIX}",
-        "skia/infra/bots/run_recipe.py",
-        "${ISOLATED_OUTDIR}",
-        "compile",
-        "{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildername\":\"Build-Debian9-GCC-x86_64-Release-NoGPU\",\"swarm_out_dir\":\"build\"}",
-        "skia"
-      ],
-      "dependencies": [
-        "Housekeeper-PerCommit-BundleRecipes"
-      ],
-      "dimensions": [
-        "cpu:x86-64-Haswell_GCE",
-        "gpu:none",
-        "machine_type:n1-highcpu-64",
-        "os:Debian-9.8",
-        "pool:Skia"
-      ],
-      "env_prefixes": {
-        "PATH": [
-          "cipd_bin_packages",
-          "cipd_bin_packages/bin"
-        ],
-        "VPYTHON_VIRTUALENV_ROOT": [
-          "cache/vpython"
-        ]
-      },
-      "execution_timeout_ns": 3600000000000,
-      "extra_tags": {
-        "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
-      },
-      "idempotent": true,
-      "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
-      "max_attempts": 2,
-      "outputs": [
-        "build"
-      ],
-      "service_account": "skia-external-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com"
-    },
-    "Build-Debian9-GCC-x86_64-Release-Shared": {
-      "caches": [
-        {
-          "name": "vpython",
-          "path": "cache/vpython"
-        }
-      ],
-      "cipd_packages": [
-        {
-          "name": "infra/tools/luci/kitchen/${platform}",
-          "path": ".",
-          "version": "git_revision:0e171233385f11fd2b7458728c8ee439d4db53f1"
-        },
-        {
-          "name": "infra/tools/luci-auth/${platform}",
-          "path": "cipd_bin_packages",
-          "version": "git_revision:0e171233385f11fd2b7458728c8ee439d4db53f1"
-        },
-        {
-          "name": "infra/tools/luci/vpython/${platform}",
-          "path": "cipd_bin_packages",
-          "version": "git_revision:0e171233385f11fd2b7458728c8ee439d4db53f1"
-        }
-      ],
-      "command": [
-        "cipd_bin_packages/vpython${EXECUTABLE_SUFFIX}",
-        "skia/infra/bots/run_recipe.py",
-        "${ISOLATED_OUTDIR}",
-        "compile",
-        "{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildername\":\"Build-Debian9-GCC-x86_64-Release-Shared\",\"swarm_out_dir\":\"build\"}",
-        "skia"
-      ],
-      "dependencies": [
-        "Housekeeper-PerCommit-BundleRecipes"
-      ],
-      "dimensions": [
-        "cpu:x86-64-Haswell_GCE",
-        "gpu:none",
-        "machine_type:n1-highcpu-64",
-        "os:Debian-9.8",
-        "pool:Skia"
-      ],
-      "env_prefixes": {
-        "PATH": [
-          "cipd_bin_packages",
-          "cipd_bin_packages/bin"
-        ],
-        "VPYTHON_VIRTUALENV_ROOT": [
-          "cache/vpython"
-        ]
-      },
-      "execution_timeout_ns": 3600000000000,
-      "extra_tags": {
-        "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
-      },
-      "idempotent": true,
-      "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
-      "max_attempts": 2,
-      "outputs": [
-        "build"
-      ],
-      "service_account": "skia-external-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com"
-    },
     "Build-Mac-Clang-arm-Debug-iOS": {
       "caches": [
         {
@@ -35698,318 +34879,6 @@
         "test"
       ]
     },
-    "Test-Debian9-GCC-GCE-CPU-AVX2-x86-Debug-All": {
-      "caches": [
-        {
-          "name": "vpython",
-          "path": "cache/vpython"
-        }
-      ],
-      "cipd_packages": [
-        {
-          "name": "infra/tools/luci/kitchen/${platform}",
-          "path": ".",
-          "version": "git_revision:0e171233385f11fd2b7458728c8ee439d4db53f1"
-        },
-        {
-          "name": "infra/tools/luci-auth/${platform}",
-          "path": "cipd_bin_packages",
-          "version": "git_revision:0e171233385f11fd2b7458728c8ee439d4db53f1"
-        },
-        {
-          "name": "infra/tools/luci/vpython/${platform}",
-          "path": "cipd_bin_packages",
-          "version": "git_revision:0e171233385f11fd2b7458728c8ee439d4db53f1"
-        },
-        {
-          "name": "skia/bots/skimage",
-          "path": "skimage",
-          "version": "version:40"
-        },
-        {
-          "name": "skia/bots/skp",
-          "path": "skp",
-          "version": "version:214"
-        },
-        {
-          "name": "skia/bots/svg",
-          "path": "svg",
-          "version": "version:9"
-        }
-      ],
-      "command": [
-        "cipd_bin_packages/vpython${EXECUTABLE_SUFFIX}",
-        "skia/infra/bots/run_recipe.py",
-        "${ISOLATED_OUTDIR}",
-        "test",
-        "{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildbucket_build_id\":\"<(BUILDBUCKET_BUILD_ID)\",\"buildername\":\"Test-Debian9-GCC-GCE-CPU-AVX2-x86-Debug-All\",\"gold_hashes_url\":\"https://storage.googleapis.com/skia-infra-gm/hash_files/gold-prod-hashes.txt\",\"patch_issue\":\"<(ISSUE_INT)\",\"patch_ref\":\"<(PATCH_REF)\",\"patch_repo\":\"<(PATCH_REPO)\",\"patch_set\":\"<(PATCHSET_INT)\",\"patch_storage\":\"<(PATCH_STORAGE)\",\"repository\":\"<(REPO)\",\"revision\":\"<(REVISION)\",\"swarm_out_dir\":\"test\",\"task_id\":\"<(TASK_ID)\"}",
-        "skia"
-      ],
-      "dependencies": [
-        "Housekeeper-PerCommit-BundleRecipes",
-        "Build-Debian9-GCC-x86-Debug"
-      ],
-      "dimensions": [
-        "cpu:x86-64-Haswell_GCE",
-        "machine_type:n1-standard-16",
-        "os:Debian-9.8",
-        "pool:Skia"
-      ],
-      "env_prefixes": {
-        "PATH": [
-          "cipd_bin_packages",
-          "cipd_bin_packages/bin"
-        ],
-        "VPYTHON_VIRTUALENV_ROOT": [
-          "cache/vpython"
-        ]
-      },
-      "execution_timeout_ns": 21600000000000,
-      "expiration_ns": 72000000000000,
-      "extra_tags": {
-        "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
-      },
-      "io_timeout_ns": 21600000000000,
-      "isolate": "test_skia_bundled.isolate",
-      "max_attempts": 2,
-      "outputs": [
-        "test"
-      ]
-    },
-    "Test-Debian9-GCC-GCE-CPU-AVX2-x86-Release-All": {
-      "caches": [
-        {
-          "name": "vpython",
-          "path": "cache/vpython"
-        }
-      ],
-      "cipd_packages": [
-        {
-          "name": "infra/tools/luci/kitchen/${platform}",
-          "path": ".",
-          "version": "git_revision:0e171233385f11fd2b7458728c8ee439d4db53f1"
-        },
-        {
-          "name": "infra/tools/luci-auth/${platform}",
-          "path": "cipd_bin_packages",
-          "version": "git_revision:0e171233385f11fd2b7458728c8ee439d4db53f1"
-        },
-        {
-          "name": "infra/tools/luci/vpython/${platform}",
-          "path": "cipd_bin_packages",
-          "version": "git_revision:0e171233385f11fd2b7458728c8ee439d4db53f1"
-        },
-        {
-          "name": "skia/bots/skimage",
-          "path": "skimage",
-          "version": "version:40"
-        },
-        {
-          "name": "skia/bots/skp",
-          "path": "skp",
-          "version": "version:214"
-        },
-        {
-          "name": "skia/bots/svg",
-          "path": "svg",
-          "version": "version:9"
-        }
-      ],
-      "command": [
-        "cipd_bin_packages/vpython${EXECUTABLE_SUFFIX}",
-        "skia/infra/bots/run_recipe.py",
-        "${ISOLATED_OUTDIR}",
-        "test",
-        "{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildbucket_build_id\":\"<(BUILDBUCKET_BUILD_ID)\",\"buildername\":\"Test-Debian9-GCC-GCE-CPU-AVX2-x86-Release-All\",\"gold_hashes_url\":\"https://storage.googleapis.com/skia-infra-gm/hash_files/gold-prod-hashes.txt\",\"patch_issue\":\"<(ISSUE_INT)\",\"patch_ref\":\"<(PATCH_REF)\",\"patch_repo\":\"<(PATCH_REPO)\",\"patch_set\":\"<(PATCHSET_INT)\",\"patch_storage\":\"<(PATCH_STORAGE)\",\"repository\":\"<(REPO)\",\"revision\":\"<(REVISION)\",\"swarm_out_dir\":\"test\",\"task_id\":\"<(TASK_ID)\"}",
-        "skia"
-      ],
-      "dependencies": [
-        "Housekeeper-PerCommit-BundleRecipes",
-        "Build-Debian9-GCC-x86-Release"
-      ],
-      "dimensions": [
-        "cpu:x86-64-Haswell_GCE",
-        "machine_type:n1-standard-16",
-        "os:Debian-9.8",
-        "pool:Skia"
-      ],
-      "env_prefixes": {
-        "PATH": [
-          "cipd_bin_packages",
-          "cipd_bin_packages/bin"
-        ],
-        "VPYTHON_VIRTUALENV_ROOT": [
-          "cache/vpython"
-        ]
-      },
-      "execution_timeout_ns": 14400000000000,
-      "expiration_ns": 72000000000000,
-      "extra_tags": {
-        "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
-      },
-      "io_timeout_ns": 14400000000000,
-      "isolate": "test_skia_bundled.isolate",
-      "max_attempts": 2,
-      "outputs": [
-        "test"
-      ]
-    },
-    "Test-Debian9-GCC-GCE-CPU-AVX2-x86_64-Debug-All": {
-      "caches": [
-        {
-          "name": "vpython",
-          "path": "cache/vpython"
-        }
-      ],
-      "cipd_packages": [
-        {
-          "name": "infra/tools/luci/kitchen/${platform}",
-          "path": ".",
-          "version": "git_revision:0e171233385f11fd2b7458728c8ee439d4db53f1"
-        },
-        {
-          "name": "infra/tools/luci-auth/${platform}",
-          "path": "cipd_bin_packages",
-          "version": "git_revision:0e171233385f11fd2b7458728c8ee439d4db53f1"
-        },
-        {
-          "name": "infra/tools/luci/vpython/${platform}",
-          "path": "cipd_bin_packages",
-          "version": "git_revision:0e171233385f11fd2b7458728c8ee439d4db53f1"
-        },
-        {
-          "name": "skia/bots/skimage",
-          "path": "skimage",
-          "version": "version:40"
-        },
-        {
-          "name": "skia/bots/skp",
-          "path": "skp",
-          "version": "version:214"
-        },
-        {
-          "name": "skia/bots/svg",
-          "path": "svg",
-          "version": "version:9"
-        }
-      ],
-      "command": [
-        "cipd_bin_packages/vpython${EXECUTABLE_SUFFIX}",
-        "skia/infra/bots/run_recipe.py",
-        "${ISOLATED_OUTDIR}",
-        "test",
-        "{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildbucket_build_id\":\"<(BUILDBUCKET_BUILD_ID)\",\"buildername\":\"Test-Debian9-GCC-GCE-CPU-AVX2-x86_64-Debug-All\",\"gold_hashes_url\":\"https://storage.googleapis.com/skia-infra-gm/hash_files/gold-prod-hashes.txt\",\"patch_issue\":\"<(ISSUE_INT)\",\"patch_ref\":\"<(PATCH_REF)\",\"patch_repo\":\"<(PATCH_REPO)\",\"patch_set\":\"<(PATCHSET_INT)\",\"patch_storage\":\"<(PATCH_STORAGE)\",\"repository\":\"<(REPO)\",\"revision\":\"<(REVISION)\",\"swarm_out_dir\":\"test\",\"task_id\":\"<(TASK_ID)\"}",
-        "skia"
-      ],
-      "dependencies": [
-        "Housekeeper-PerCommit-BundleRecipes",
-        "Build-Debian9-GCC-x86_64-Debug"
-      ],
-      "dimensions": [
-        "cpu:x86-64-Haswell_GCE",
-        "machine_type:n1-standard-16",
-        "os:Debian-9.8",
-        "pool:Skia"
-      ],
-      "env_prefixes": {
-        "PATH": [
-          "cipd_bin_packages",
-          "cipd_bin_packages/bin"
-        ],
-        "VPYTHON_VIRTUALENV_ROOT": [
-          "cache/vpython"
-        ]
-      },
-      "execution_timeout_ns": 14400000000000,
-      "expiration_ns": 72000000000000,
-      "extra_tags": {
-        "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
-      },
-      "io_timeout_ns": 14400000000000,
-      "isolate": "test_skia_bundled.isolate",
-      "max_attempts": 2,
-      "outputs": [
-        "test"
-      ]
-    },
-    "Test-Debian9-GCC-GCE-CPU-AVX2-x86_64-Release-All": {
-      "caches": [
-        {
-          "name": "vpython",
-          "path": "cache/vpython"
-        }
-      ],
-      "cipd_packages": [
-        {
-          "name": "infra/tools/luci/kitchen/${platform}",
-          "path": ".",
-          "version": "git_revision:0e171233385f11fd2b7458728c8ee439d4db53f1"
-        },
-        {
-          "name": "infra/tools/luci-auth/${platform}",
-          "path": "cipd_bin_packages",
-          "version": "git_revision:0e171233385f11fd2b7458728c8ee439d4db53f1"
-        },
-        {
-          "name": "infra/tools/luci/vpython/${platform}",
-          "path": "cipd_bin_packages",
-          "version": "git_revision:0e171233385f11fd2b7458728c8ee439d4db53f1"
-        },
-        {
-          "name": "skia/bots/skimage",
-          "path": "skimage",
-          "version": "version:40"
-        },
-        {
-          "name": "skia/bots/skp",
-          "path": "skp",
-          "version": "version:214"
-        },
-        {
-          "name": "skia/bots/svg",
-          "path": "svg",
-          "version": "version:9"
-        }
-      ],
-      "command": [
-        "cipd_bin_packages/vpython${EXECUTABLE_SUFFIX}",
-        "skia/infra/bots/run_recipe.py",
-        "${ISOLATED_OUTDIR}",
-        "test",
-        "{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildbucket_build_id\":\"<(BUILDBUCKET_BUILD_ID)\",\"buildername\":\"Test-Debian9-GCC-GCE-CPU-AVX2-x86_64-Release-All\",\"gold_hashes_url\":\"https://storage.googleapis.com/skia-infra-gm/hash_files/gold-prod-hashes.txt\",\"patch_issue\":\"<(ISSUE_INT)\",\"patch_ref\":\"<(PATCH_REF)\",\"patch_repo\":\"<(PATCH_REPO)\",\"patch_set\":\"<(PATCHSET_INT)\",\"patch_storage\":\"<(PATCH_STORAGE)\",\"repository\":\"<(REPO)\",\"revision\":\"<(REVISION)\",\"swarm_out_dir\":\"test\",\"task_id\":\"<(TASK_ID)\"}",
-        "skia"
-      ],
-      "dependencies": [
-        "Housekeeper-PerCommit-BundleRecipes",
-        "Build-Debian9-GCC-x86_64-Release"
-      ],
-      "dimensions": [
-        "cpu:x86-64-Haswell_GCE",
-        "machine_type:n1-standard-16",
-        "os:Debian-9.8",
-        "pool:Skia"
-      ],
-      "env_prefixes": {
-        "PATH": [
-          "cipd_bin_packages",
-          "cipd_bin_packages/bin"
-        ],
-        "VPYTHON_VIRTUALENV_ROOT": [
-          "cache/vpython"
-        ]
-      },
-      "execution_timeout_ns": 14400000000000,
-      "expiration_ns": 72000000000000,
-      "extra_tags": {
-        "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
-      },
-      "io_timeout_ns": 14400000000000,
-      "isolate": "test_skia_bundled.isolate",
-      "max_attempts": 2,
-      "outputs": [
-        "test"
-      ]
-    },
     "Test-Mac10.13-Clang-MacBook10.1-GPU-IntelHD615-x86_64-Debug-All": {
       "caches": [
         {
@@ -66138,270 +65007,6 @@
       "max_attempts": 2,
       "service_account": "skia-external-gm-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
-    "Upload-Test-Debian9-GCC-GCE-CPU-AVX2-x86-Debug-All": {
-      "caches": [
-        {
-          "name": "vpython",
-          "path": "cache/vpython"
-        }
-      ],
-      "cipd_packages": [
-        {
-          "name": "infra/tools/luci/kitchen/${platform}",
-          "path": ".",
-          "version": "git_revision:0e171233385f11fd2b7458728c8ee439d4db53f1"
-        },
-        {
-          "name": "infra/tools/luci-auth/${platform}",
-          "path": "cipd_bin_packages",
-          "version": "git_revision:0e171233385f11fd2b7458728c8ee439d4db53f1"
-        },
-        {
-          "name": "infra/tools/luci/vpython/${platform}",
-          "path": "cipd_bin_packages",
-          "version": "git_revision:0e171233385f11fd2b7458728c8ee439d4db53f1"
-        },
-        {
-          "name": "infra/gsutil",
-          "path": "cipd_bin_packages",
-          "version": "version:4.46"
-        }
-      ],
-      "command": [
-        "cipd_bin_packages/vpython${EXECUTABLE_SUFFIX}",
-        "skia/infra/bots/run_recipe.py",
-        "${ISOLATED_OUTDIR}",
-        "upload_dm_results",
-        "{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildbucket_build_id\":\"<(BUILDBUCKET_BUILD_ID)\",\"buildername\":\"Test-Debian9-GCC-GCE-CPU-AVX2-x86-Debug-All\",\"gs_bucket\":\"skia-infra-gm\",\"patch_issue\":\"<(ISSUE_INT)\",\"patch_ref\":\"<(PATCH_REF)\",\"patch_repo\":\"<(PATCH_REPO)\",\"patch_set\":\"<(PATCHSET_INT)\",\"patch_storage\":\"<(PATCH_STORAGE)\",\"repository\":\"<(REPO)\",\"revision\":\"<(REVISION)\",\"swarm_out_dir\":\"output_ignored\",\"task_id\":\"<(TASK_ID)\"}",
-        "skia"
-      ],
-      "dependencies": [
-        "Housekeeper-PerCommit-BundleRecipes",
-        "Test-Debian9-GCC-GCE-CPU-AVX2-x86-Debug-All"
-      ],
-      "dimensions": [
-        "cpu:x86-64-Haswell_GCE",
-        "gpu:none",
-        "machine_type:n1-highmem-2",
-        "os:Debian-9.8",
-        "pool:Skia"
-      ],
-      "env_prefixes": {
-        "PATH": [
-          "cipd_bin_packages",
-          "cipd_bin_packages/bin"
-        ],
-        "VPYTHON_VIRTUALENV_ROOT": [
-          "cache/vpython"
-        ]
-      },
-      "execution_timeout_ns": 3600000000000,
-      "extra_tags": {
-        "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
-      },
-      "io_timeout_ns": 3600000000000,
-      "isolate": "swarm_recipe.isolate",
-      "max_attempts": 2,
-      "service_account": "skia-external-gm-uploader@skia-swarming-bots.iam.gserviceaccount.com"
-    },
-    "Upload-Test-Debian9-GCC-GCE-CPU-AVX2-x86-Release-All": {
-      "caches": [
-        {
-          "name": "vpython",
-          "path": "cache/vpython"
-        }
-      ],
-      "cipd_packages": [
-        {
-          "name": "infra/tools/luci/kitchen/${platform}",
-          "path": ".",
-          "version": "git_revision:0e171233385f11fd2b7458728c8ee439d4db53f1"
-        },
-        {
-          "name": "infra/tools/luci-auth/${platform}",
-          "path": "cipd_bin_packages",
-          "version": "git_revision:0e171233385f11fd2b7458728c8ee439d4db53f1"
-        },
-        {
-          "name": "infra/tools/luci/vpython/${platform}",
-          "path": "cipd_bin_packages",
-          "version": "git_revision:0e171233385f11fd2b7458728c8ee439d4db53f1"
-        },
-        {
-          "name": "infra/gsutil",
-          "path": "cipd_bin_packages",
-          "version": "version:4.46"
-        }
-      ],
-      "command": [
-        "cipd_bin_packages/vpython${EXECUTABLE_SUFFIX}",
-        "skia/infra/bots/run_recipe.py",
-        "${ISOLATED_OUTDIR}",
-        "upload_dm_results",
-        "{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildbucket_build_id\":\"<(BUILDBUCKET_BUILD_ID)\",\"buildername\":\"Test-Debian9-GCC-GCE-CPU-AVX2-x86-Release-All\",\"gs_bucket\":\"skia-infra-gm\",\"patch_issue\":\"<(ISSUE_INT)\",\"patch_ref\":\"<(PATCH_REF)\",\"patch_repo\":\"<(PATCH_REPO)\",\"patch_set\":\"<(PATCHSET_INT)\",\"patch_storage\":\"<(PATCH_STORAGE)\",\"repository\":\"<(REPO)\",\"revision\":\"<(REVISION)\",\"swarm_out_dir\":\"output_ignored\",\"task_id\":\"<(TASK_ID)\"}",
-        "skia"
-      ],
-      "dependencies": [
-        "Housekeeper-PerCommit-BundleRecipes",
-        "Test-Debian9-GCC-GCE-CPU-AVX2-x86-Release-All"
-      ],
-      "dimensions": [
-        "cpu:x86-64-Haswell_GCE",
-        "gpu:none",
-        "machine_type:n1-highmem-2",
-        "os:Debian-9.8",
-        "pool:Skia"
-      ],
-      "env_prefixes": {
-        "PATH": [
-          "cipd_bin_packages",
-          "cipd_bin_packages/bin"
-        ],
-        "VPYTHON_VIRTUALENV_ROOT": [
-          "cache/vpython"
-        ]
-      },
-      "execution_timeout_ns": 3600000000000,
-      "extra_tags": {
-        "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
-      },
-      "io_timeout_ns": 3600000000000,
-      "isolate": "swarm_recipe.isolate",
-      "max_attempts": 2,
-      "service_account": "skia-external-gm-uploader@skia-swarming-bots.iam.gserviceaccount.com"
-    },
-    "Upload-Test-Debian9-GCC-GCE-CPU-AVX2-x86_64-Debug-All": {
-      "caches": [
-        {
-          "name": "vpython",
-          "path": "cache/vpython"
-        }
-      ],
-      "cipd_packages": [
-        {
-          "name": "infra/tools/luci/kitchen/${platform}",
-          "path": ".",
-          "version": "git_revision:0e171233385f11fd2b7458728c8ee439d4db53f1"
-        },
-        {
-          "name": "infra/tools/luci-auth/${platform}",
-          "path": "cipd_bin_packages",
-          "version": "git_revision:0e171233385f11fd2b7458728c8ee439d4db53f1"
-        },
-        {
-          "name": "infra/tools/luci/vpython/${platform}",
-          "path": "cipd_bin_packages",
-          "version": "git_revision:0e171233385f11fd2b7458728c8ee439d4db53f1"
-        },
-        {
-          "name": "infra/gsutil",
-          "path": "cipd_bin_packages",
-          "version": "version:4.46"
-        }
-      ],
-      "command": [
-        "cipd_bin_packages/vpython${EXECUTABLE_SUFFIX}",
-        "skia/infra/bots/run_recipe.py",
-        "${ISOLATED_OUTDIR}",
-        "upload_dm_results",
-        "{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildbucket_build_id\":\"<(BUILDBUCKET_BUILD_ID)\",\"buildername\":\"Test-Debian9-GCC-GCE-CPU-AVX2-x86_64-Debug-All\",\"gs_bucket\":\"skia-infra-gm\",\"patch_issue\":\"<(ISSUE_INT)\",\"patch_ref\":\"<(PATCH_REF)\",\"patch_repo\":\"<(PATCH_REPO)\",\"patch_set\":\"<(PATCHSET_INT)\",\"patch_storage\":\"<(PATCH_STORAGE)\",\"repository\":\"<(REPO)\",\"revision\":\"<(REVISION)\",\"swarm_out_dir\":\"output_ignored\",\"task_id\":\"<(TASK_ID)\"}",
-        "skia"
-      ],
-      "dependencies": [
-        "Housekeeper-PerCommit-BundleRecipes",
-        "Test-Debian9-GCC-GCE-CPU-AVX2-x86_64-Debug-All"
-      ],
-      "dimensions": [
-        "cpu:x86-64-Haswell_GCE",
-        "gpu:none",
-        "machine_type:n1-highmem-2",
-        "os:Debian-9.8",
-        "pool:Skia"
-      ],
-      "env_prefixes": {
-        "PATH": [
-          "cipd_bin_packages",
-          "cipd_bin_packages/bin"
-        ],
-        "VPYTHON_VIRTUALENV_ROOT": [
-          "cache/vpython"
-        ]
-      },
-      "execution_timeout_ns": 3600000000000,
-      "extra_tags": {
-        "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
-      },
-      "io_timeout_ns": 3600000000000,
-      "isolate": "swarm_recipe.isolate",
-      "max_attempts": 2,
-      "service_account": "skia-external-gm-uploader@skia-swarming-bots.iam.gserviceaccount.com"
-    },
-    "Upload-Test-Debian9-GCC-GCE-CPU-AVX2-x86_64-Release-All": {
-      "caches": [
-        {
-          "name": "vpython",
-          "path": "cache/vpython"
-        }
-      ],
-      "cipd_packages": [
-        {
-          "name": "infra/tools/luci/kitchen/${platform}",
-          "path": ".",
-          "version": "git_revision:0e171233385f11fd2b7458728c8ee439d4db53f1"
-        },
-        {
-          "name": "infra/tools/luci-auth/${platform}",
-          "path": "cipd_bin_packages",
-          "version": "git_revision:0e171233385f11fd2b7458728c8ee439d4db53f1"
-        },
-        {
-          "name": "infra/tools/luci/vpython/${platform}",
-          "path": "cipd_bin_packages",
-          "version": "git_revision:0e171233385f11fd2b7458728c8ee439d4db53f1"
-        },
-        {
-          "name": "infra/gsutil",
-          "path": "cipd_bin_packages",
-          "version": "version:4.46"
-        }
-      ],
-      "command": [
-        "cipd_bin_packages/vpython${EXECUTABLE_SUFFIX}",
-        "skia/infra/bots/run_recipe.py",
-        "${ISOLATED_OUTDIR}",
-        "upload_dm_results",
-        "{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildbucket_build_id\":\"<(BUILDBUCKET_BUILD_ID)\",\"buildername\":\"Test-Debian9-GCC-GCE-CPU-AVX2-x86_64-Release-All\",\"gs_bucket\":\"skia-infra-gm\",\"patch_issue\":\"<(ISSUE_INT)\",\"patch_ref\":\"<(PATCH_REF)\",\"patch_repo\":\"<(PATCH_REPO)\",\"patch_set\":\"<(PATCHSET_INT)\",\"patch_storage\":\"<(PATCH_STORAGE)\",\"repository\":\"<(REPO)\",\"revision\":\"<(REVISION)\",\"swarm_out_dir\":\"output_ignored\",\"task_id\":\"<(TASK_ID)\"}",
-        "skia"
-      ],
-      "dependencies": [
-        "Housekeeper-PerCommit-BundleRecipes",
-        "Test-Debian9-GCC-GCE-CPU-AVX2-x86_64-Release-All"
-      ],
-      "dimensions": [
-        "cpu:x86-64-Haswell_GCE",
-        "gpu:none",
-        "machine_type:n1-highmem-2",
-        "os:Debian-9.8",
-        "pool:Skia"
-      ],
-      "env_prefixes": {
-        "PATH": [
-          "cipd_bin_packages",
-          "cipd_bin_packages/bin"
-        ],
-        "VPYTHON_VIRTUALENV_ROOT": [
-          "cache/vpython"
-        ]
-      },
-      "execution_timeout_ns": 3600000000000,
-      "extra_tags": {
-        "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
-      },
-      "io_timeout_ns": 3600000000000,
-      "isolate": "swarm_recipe.isolate",
-      "max_attempts": 2,
-      "service_account": "skia-external-gm-uploader@skia-swarming-bots.iam.gserviceaccount.com"
-    },
     "Upload-Test-Mac10.13-Clang-MacBook10.1-GPU-IntelHD615-x86_64-Debug-All": {
       "caches": [
         {