Reland "[infra] Switch from isolate to RBE-CAS"

Bug: skia:10883
Change-Id: Ie702a4699cda48603ceff690d2ba946bf7a0d0b2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/344898
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Weston Tracey <westont@google.com>
diff --git a/PRESUBMIT.py b/PRESUBMIT.py
index 9687171..75c4b70 100644
--- a/PRESUBMIT.py
+++ b/PRESUBMIT.py
@@ -219,27 +219,6 @@
     return [output_api.PresubmitError('`%s` failed' % ' '.join(cmd))]
   return []
 
-def _CheckCompileIsolate(input_api, output_api):
-  """Ensure that gen_compile_isolate.py does not change compile.isolate."""
-  # Only run the check if files were added or removed.
-  results = []
-  script = os.path.join('infra', 'bots', 'gen_compile_isolate.py')
-  isolate = os.path.join('infra', 'bots', 'compile.isolated')
-  for f in input_api.AffectedFiles():
-    if f.Action() in ('A', 'D', 'R'):
-      break
-    if f.LocalPath() in (script, isolate):
-      break
-  else:
-    return results
-
-  cmd = ['python', script, 'test']
-  try:
-    subprocess.check_output(cmd, stderr=subprocess.STDOUT)
-  except subprocess.CalledProcessError as e:
-    results.append(output_api.PresubmitError(e.output))
-  return results
-
 
 class _WarningsAsErrors():
   def __init__(self, output_api):
@@ -294,7 +273,6 @@
   results.extend(_IfDefChecks(input_api, output_api))
   results.extend(_CopyrightChecks(input_api, output_api,
                                   source_file_filter=sources))
-  results.extend(_CheckCompileIsolate(input_api, output_api))
   results.extend(_CheckDEPSValid(input_api, output_api))
   results.extend(_CheckIncludesFormatted(input_api, output_api))
   results.extend(_CheckGNFormatted(input_api, output_api))
diff --git a/infra/bots/assets.isolate b/infra/bots/assets.isolate
deleted file mode 100644
index 1d9ef7a..0000000
--- a/infra/bots/assets.isolate
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  'variables': {
-    'files': [
-      'assets/',
-    ],
-  },
-}
diff --git a/infra/bots/canvaskit.isolate b/infra/bots/canvaskit.isolate
deleted file mode 100644
index 5863ff9..0000000
--- a/infra/bots/canvaskit.isolate
+++ /dev/null
@@ -1,13 +0,0 @@
-{
-  'includes': [
-    'swarm_recipe.isolate',
-  ],
-  'variables': {
-    'files': [
-      '../../modules/canvaskit',
-      '../../modules/pathkit/perf/perfReporter.js',
-      '../../modules/pathkit/tests/testReporter.js',
-      '../canvaskit',
-    ],
-  },
-}
diff --git a/infra/bots/compile.isolate b/infra/bots/compile.isolate
deleted file mode 100644
index d1e5ffa..0000000
--- a/infra/bots/compile.isolate
+++ /dev/null
@@ -1,49 +0,0 @@
-{
-  'includes': [
-    'run_recipe.isolate',
-  ],
-  'variables': {
-    'files': [
-      '../../../.gclient',
-      '../../.clang-format',
-      '../../.clang-tidy',
-      '../../.gn',
-      '../../BUILD.gn',
-      '../../bench',
-      '../../bin/fetch-clang-format',
-      '../../bin/fetch-gn',
-      '../../build/fuchsia',
-      '../../build_overrides',
-      '../../buildtools',
-      '../../client_utils/android',
-      '../../dm',
-      '../../docs/examples',
-      '../../example',
-      '../../experimental',
-      '../../fuzz',
-      '../../gm',
-      '../../gn',
-      '../../include',
-      '../../modules',
-      '../../platform_tools/android/apps/skottie/skottielib/src/main/cpp/native-lib.cpp',
-      '../../platform_tools/android/launcher/skia_launcher.cpp',
-      '../../platform_tools/android/vulkan/Skia_Vulkan_Android.h',
-      '../../platform_tools/ios/app/LaunchScreen.storyboard',
-      '../../platform_tools/libraries/include/arcore_c_api.h',
-      '../../resources',
-      '../../samplecode',
-      '../../src',
-      '../../tests',
-      '../../third_party',
-      '../../tools',
-      '../canvaskit',
-      '../pathkit',
-      'assets/android_ndk_darwin/VERSION',
-      'assets/android_ndk_linux/VERSION',
-      'assets/android_ndk_windows/VERSION',
-      'assets/cast_toolchain/VERSION',
-      'assets/clang_linux/VERSION',
-      'assets/clang_win/VERSION',
-    ],
-  },
-}
diff --git a/infra/bots/compile_android_framework.isolate b/infra/bots/compile_android_framework.isolate
deleted file mode 100644
index 5b11547..0000000
--- a/infra/bots/compile_android_framework.isolate
+++ /dev/null
@@ -1,11 +0,0 @@
-{
-  'includes': [
-    'infrabots.isolate',
-    'run_recipe.isolate',
-  ],
-  'variables': {
-    'files': [
-      '../../../.gclient',
-    ],
-  },
-}
diff --git a/infra/bots/empty.isolate b/infra/bots/empty.isolate
deleted file mode 100644
index 0967ef4..0000000
--- a/infra/bots/empty.isolate
+++ /dev/null
@@ -1 +0,0 @@
-{}
diff --git a/infra/bots/gen_compile_isolate.py b/infra/bots/gen_compile_isolate.py
deleted file mode 100755
index ea55908..0000000
--- a/infra/bots/gen_compile_isolate.py
+++ /dev/null
@@ -1,234 +0,0 @@
-#!/usr/bin/env python
-#
-# Copyright 2019 Google LLC
-#
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-
-import difflib
-import os
-import re
-import subprocess
-import sys
-
-
-# Any files in Git which match these patterns will be included, either directly
-# or indirectly via a parent dir.
-PATH_PATTERNS = [
-  r'.*\.c$',
-  r'.*\.cc$',
-  r'.*\.cpp$',
-  r'.*\.gn$',
-  r'.*\.gni$',
-  r'.*\.h$',
-  r'.*\.mm$',
-  r'.*\.storyboard$',
-]
-
-# These paths are always added to the inclusion list. Note that they may not
-# appear in the isolate if they are included indirectly via a parent dir.
-EXPLICIT_PATHS = [
-  '../.gclient',
-  '.clang-format',
-  '.clang-tidy',
-  'bin/fetch-clang-format',
-  'bin/fetch-gn',
-  'buildtools',
-  'infra/bots/assets/android_ndk_darwin/VERSION',
-  'infra/bots/assets/android_ndk_linux/VERSION',
-  'infra/bots/assets/android_ndk_windows/VERSION',
-  'infra/bots/assets/cast_toolchain/VERSION',
-  'infra/bots/assets/clang_linux/VERSION',
-  'infra/bots/assets/clang_win/VERSION',
-  'infra/canvaskit',
-  'infra/pathkit',
-  'resources',
-  'third_party/externals',
-]
-
-# If a parent path contains more than this many immediate child paths (ie. files
-# and dirs which are directly inside it as opposed to indirect descendants), we
-# will include the parent in the isolate file instead of the children. This
-# results in a simpler isolate file which should need to be changed less often.
-COMBINE_PATHS_THRESHOLD = 3
-
-# Template for the isolate file content.
-ISOLATE_TMPL = '''{
-  'includes': [
-    'run_recipe.isolate',
-  ],
-  'variables': {
-    'files': [
-%s
-    ],
-  },
-}
-'''
-
-# Absolute path to the infra/bots dir.
-INFRABOTS_DIR = os.path.realpath(os.path.dirname(os.path.abspath(__file__)))
-
-# Absolute path to the compile.isolate file.
-ISOLATE_FILE = os.path.join(INFRABOTS_DIR, 'compile.isolate')
-
-
-def all_paths():
-  """Return all paths which are checked in to git."""
-  repo_root = os.path.abspath(os.path.join(INFRABOTS_DIR, os.pardir, os.pardir))
-  output = subprocess.check_output(['git', 'ls-files'], cwd=repo_root).rstrip()
-  return output.splitlines()
-
-
-def get_relevant_paths():
-  """Return all checked-in paths in PATH_PATTERNS or EXPLICIT_PATHS."""
-  paths = []
-  for f in all_paths():
-    for regexp in PATH_PATTERNS:
-      if re.match(regexp, f):
-        paths.append(f)
-        break
-
-  paths.extend(EXPLICIT_PATHS)
-  return paths
-
-
-class Tree(object):
-  """Tree helps with deduplicating and collapsing paths."""
-  class Node(object):
-    """Node represents an individual node in a Tree."""
-    def __init__(self, name):
-      self._children = {}
-      self._name = name
-      self._is_leaf = False
-
-    @property
-    def is_root(self):
-      """Return True iff this is the root node."""
-      return self._name is None
-
-    def add(self, entry):
-      """Add the given entry (given as a list of strings) to the Node."""
-      # Remove the first element if we're not the root node.
-      if not self.is_root:
-        if entry[0] != self._name:
-          raise ValueError('Cannot add a non-matching entry to a Node!')
-        entry = entry[1:]
-
-        # If the entry is now empty, this node is a leaf.
-        if not entry:
-          self._is_leaf = True
-          return
-
-      # Add a child node.
-      if not self._is_leaf:
-        child = self._children.get(entry[0])
-        if not child:
-          child = Tree.Node(entry[0])
-          self._children[entry[0]] = child
-        child.add(entry)
-
-        # If we have more than COMBINE_PATHS_THRESHOLD immediate children,
-        # combine them into this node.
-        immediate_children = 0
-        for child in self._children.itervalues():
-          if child._is_leaf:
-            immediate_children += 1
-        if not self.is_root and immediate_children >= COMBINE_PATHS_THRESHOLD:
-          self._is_leaf = True
-          self._children = {}
-
-    def entries(self):
-      """Return the entries represented by this node and its children.
-
-      Will not return children in the following cases:
-        - This Node is a leaf, ie. it represents an entry which was explicitly
-          inserted into the Tree, as opposed to only part of a path to other
-          entries.
-        - This Node has immediate children exceeding COMBINE_PATHS_THRESHOLD and
-          thus has been upgraded to a leaf node.
-      """
-      if self._is_leaf:
-        return [self._name]
-      rv = []
-      for child in self._children.itervalues():
-        for entry in child.entries():
-          if not self.is_root:
-            entry = self._name + '/' + entry
-          rv.append(entry)
-      return rv
-
-  def __init__(self):
-    self._root = Tree.Node(None)
-
-  def add(self, entry):
-    """Add the given entry to the tree."""
-    split = entry.split('/')
-    if split[-1] == '':
-      split = split[:-1]
-    self._root.add(split)
-
-  def entries(self):
-    """Return the list of entries in the tree.
-
-    Entries will be de-duplicated as follows:
-      - Any entry which is a sub-path of another entry will not be returned.
-      - Any entry which was not explicitly inserted but has children exceeding
-        the COMBINE_PATHS_THRESHOLD will be returned while its children will not
-        be returned.
-    """
-    return self._root.entries()
-
-
-def relpath(repo_path):
-  """Return a relative path to the given path within the repo.
-
-  The path is relative to the infra/bots dir, where the compile.isolate file
-  lives.
-  """
-  repo_path = '../../' + repo_path
-  repo_path = repo_path.replace('../../infra/', '../')
-  repo_path = repo_path.replace('../bots/', '')
-  return repo_path
-
-
-def get_isolate_content(paths):
-  """Construct the new content of the isolate file based on the given paths."""
-  lines = ['      \'%s\',' % relpath(p) for p in paths]
-  lines.sort()
-  return ISOLATE_TMPL % '\n'.join(lines)
-
-
-def main():
-  """Regenerate the compile.isolate file, or verify that it hasn't changed."""
-  testing = False
-  if len(sys.argv) == 2 and sys.argv[1] == 'test':
-    testing = True
-  elif len(sys.argv) != 1:
-    print >> sys.stderr, 'Usage: %s [test]' % sys.argv[0]
-    sys.exit(1)
-
-  tree = Tree()
-  for p in get_relevant_paths():
-    tree.add(p)
-  content = get_isolate_content(tree.entries())
-
-  if testing:
-    with open(ISOLATE_FILE, 'rb') as f:
-      expect_content = f.read()
-    if content != expect_content:
-      print >> sys.stderr, 'Found diff in %s:' % ISOLATE_FILE
-      a = expect_content.splitlines()
-      b = content.splitlines()
-      diff = difflib.context_diff(a, b, lineterm='')
-      for line in diff:
-        sys.stderr.write(line + '\n')
-      print >> sys.stderr, 'You may need to run:\n\n\tpython %s' % sys.argv[0]
-      sys.exit(1)
-  else:
-    with open(ISOLATE_FILE, 'wb') as f:
-      f.write(content)
-
-
-if __name__ == '__main__':
-  main()
diff --git a/infra/bots/gen_tasks_logic/compile_cas.go b/infra/bots/gen_tasks_logic/compile_cas.go
new file mode 100644
index 0000000..9baf85e
--- /dev/null
+++ b/infra/bots/gen_tasks_logic/compile_cas.go
@@ -0,0 +1,224 @@
+// Copyright 2020 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+package gen_tasks_logic
+
+import (
+	"log"
+	"os/exec"
+	"regexp"
+	"sort"
+	"strings"
+
+	"go.skia.org/infra/go/cas/rbe"
+	"go.skia.org/infra/task_scheduler/go/specs"
+)
+
+const (
+	// If a parent path contains more than this many immediate child paths (ie.
+	// files and dirs which are directly inside it as opposed to indirect
+	// descendants), we will include the parent in the isolate file instead of
+	// the children. This results in a simpler CasSpec which should need to be
+	// changed less often.
+	combinePathsThreshold = 3
+)
+
+var (
+	// Any files in Git which match these patterns will be included, either
+	// directly or indirectly via a parent dir.
+	pathRegexes = []*regexp.Regexp{
+		regexp.MustCompile(`.*\.c$`),
+		regexp.MustCompile(`.*\.cc$`),
+		regexp.MustCompile(`.*\.cpp$`),
+		regexp.MustCompile(`.*\.gn$`),
+		regexp.MustCompile(`.*\.gni$`),
+		regexp.MustCompile(`.*\.h$`),
+		regexp.MustCompile(`.*\.mm$`),
+		regexp.MustCompile(`.*\.storyboard$`),
+	}
+
+	// These paths are always added to the inclusion list. Note that they may
+	// not appear in the CasSpec if they are included indirectly via a parent
+	// dir.
+	explicitPaths = []string{
+		".clang-format",
+		".clang-tidy",
+		"bin/fetch-clang-format",
+		"bin/fetch-gn",
+		"buildtools",
+		"infra/bots/assets/android_ndk_darwin/VERSION",
+		"infra/bots/assets/android_ndk_linux/VERSION",
+		"infra/bots/assets/android_ndk_windows/VERSION",
+		"infra/bots/assets/cast_toolchain/VERSION",
+		"infra/bots/assets/clang_linux/VERSION",
+		"infra/bots/assets/clang_win/VERSION",
+		"infra/bots/run_recipe.py",
+		"infra/canvaskit",
+		"infra/pathkit",
+		"resources",
+		"third_party/externals",
+	}
+)
+
+// getAllCheckedInPaths returns every path checked in to the repo.
+func getAllCheckedInPaths() []string {
+	cmd := exec.Command("git", "ls-files")
+	cmd.Dir = CheckoutRoot()
+	output, err := cmd.CombinedOutput()
+	if err != nil {
+		log.Fatal(err)
+	}
+	split := strings.Split(string(output), "\n")
+	rv := make([]string, 0, len(split))
+	for _, line := range split {
+		if line != "" {
+			rv = append(rv, line)
+		}
+	}
+	return rv
+}
+
+// getRelevantPaths returns all paths needed by compile tasks.
+func getRelevantPaths() []string {
+	rv := []string{}
+	for _, path := range getAllCheckedInPaths() {
+		for _, regex := range pathRegexes {
+			if regex.MatchString(path) {
+				rv = append(rv, path)
+				break
+			}
+		}
+	}
+	return append(rv, explicitPaths...)
+}
+
+// node is a single node in a directory tree of task inputs.
+type node struct {
+	children map[string]*node
+	name     string
+	isLeaf   bool
+}
+
+// newNode returns a node instance.
+func newNode(name string) *node {
+	return &node{
+		children: map[string]*node{},
+		name:     name,
+		isLeaf:   false,
+	}
+}
+
+// isRoot returns true iff this is the root node.
+func (n *node) isRoot() bool {
+	return n.name == ""
+}
+
+// add the given entry (given as a slice of path components) to the node.
+func (n *node) add(entry []string) {
+	// Remove the first element if we're not the root node.
+	if !n.isRoot() {
+		if entry[0] != n.name {
+			log.Fatalf("Failed to compute compile CAS inputs; attempting to add entry %v to node %q", entry, n.name)
+		}
+		entry = entry[1:]
+
+		// If the entry is now empty, this node is a leaf.
+		if len(entry) == 0 {
+			n.isLeaf = true
+			return
+		}
+	}
+
+	// Add a child node.
+	if !n.isLeaf {
+		name := entry[0]
+		child, ok := n.children[name]
+		if !ok {
+			child = newNode(name)
+			n.children[name] = child
+		}
+		child.add(entry)
+
+		// If we have more than combinePathsThreshold immediate children,
+		// combine them into this node.
+		immediateChilden := 0
+		for _, child := range n.children {
+			if child.isLeaf {
+				immediateChilden++
+			}
+			if !n.isRoot() && immediateChilden >= combinePathsThreshold {
+				n.isLeaf = true
+				n.children = map[string]*node{}
+			}
+		}
+	}
+}
+
+// entries returns the entries represented by this node and its children.
+// Will not return children in the following cases:
+// - This Node is a leaf, ie. it represents an entry which was explicitly
+//   inserted into the Tree, as opposed to only part of a path to other
+//   entries.
+// - This Node has immediate children exceeding combinePathsThreshold and
+//   thus has been upgraded to a leaf node.
+func (n *node) entries() [][]string {
+	if n.isLeaf {
+		return [][]string{{n.name}}
+	}
+	rv := [][]string{}
+	for _, child := range n.children {
+		for _, entry := range child.entries() {
+			if !n.isRoot() {
+				entry = append([]string{n.name}, entry...)
+			}
+			rv = append(rv, entry)
+		}
+	}
+	return rv
+}
+
+// tree represents a directory tree of task inputs.
+type tree struct {
+	root *node
+}
+
+// newTree returns a tree instance.
+func newTree() *tree {
+	return &tree{
+		root: newNode(""),
+	}
+}
+
+// add the given path to the tree. Entries may be combined as defined by
+// combinePathsThreshold.
+func (t *tree) add(p string) {
+	split := strings.Split(p, "/")
+	t.root.add(split)
+}
+
+// entries returns all entries in the tree. Entries may be combined as defined
+// by combinePathsThreshold.
+func (t *tree) entries() []string {
+	entries := t.root.entries()
+	rv := make([]string, 0, len(entries))
+	for _, entry := range entries {
+		rv = append(rv, strings.Join(append([]string{"skia"}, entry...), "/"))
+	}
+	sort.Strings(rv)
+	return rv
+}
+
+// generateCompileCAS creates the CasSpec used for tasks which build Skia.
+func generateCompileCAS(b *specs.TasksCfgBuilder) {
+	t := newTree()
+	for _, path := range getRelevantPaths() {
+		t.add(path)
+	}
+	spec := &specs.CasSpec{
+		Root:     "..",
+		Paths:    t.entries(),
+		Excludes: []string{rbe.ExcludeGitDir},
+	}
+	b.MustAddCasSpec(CAS_COMPILE, spec)
+}
diff --git a/infra/bots/gen_tasks_logic/gen_tasks_logic.go b/infra/bots/gen_tasks_logic/gen_tasks_logic.go
index cf4087c..d62a2f6 100644
--- a/infra/bots/gen_tasks_logic/gen_tasks_logic.go
+++ b/infra/bots/gen_tasks_logic/gen_tasks_logic.go
@@ -22,11 +22,30 @@
 	"strings"
 	"time"
 
+	"go.skia.org/infra/go/cas/rbe"
 	"go.skia.org/infra/go/cipd"
 	"go.skia.org/infra/task_scheduler/go/specs"
 )
 
 const (
+	CAS_CANVASKIT    = "canvaskit"
+	CAS_COMPILE      = "compile"
+	CAS_EMPTY        = "empty" // TODO(borenet): It'd be nice if this wasn't necessary.
+	CAS_LOTTIE_CI    = "lottie-ci"
+	CAS_LOTTIE_WEB   = "lottie-web"
+	CAS_PATHKIT      = "pathkit"
+	CAS_PERF         = "perf"
+	CAS_PUPPETEER    = "puppeteer"
+	CAS_RUN_RECIPE   = "run-recipe"
+	CAS_RECIPES      = "recipes"
+	CAS_SKOTTIE_WASM = "skottie-wasm"
+	CAS_SKPBENCH     = "skpbench"
+	CAS_SKQP         = "skqp"
+	CAS_TASK_DRIVERS = "task-drivers"
+	CAS_TEST         = "test"
+	CAS_WASM_GM      = "wasm-gm"
+	CAS_WHOLE_REPO   = "whole-repo"
+
 	BUILD_TASK_DRIVERS_PREFIX  = "Housekeeper-PerCommit-BuildTaskDrivers"
 	BUNDLE_RECIPES_NAME        = "Housekeeper-PerCommit-BundleRecipes"
 	ISOLATE_GCLOUD_LINUX_NAME  = "Housekeeper-PerCommit-IsolateGCloudLinux"
@@ -115,6 +134,15 @@
 		},
 	}
 
+	// CAS_SPEC_WHOLE_REPO is a CasSpec which includes the entire repo. This is
+	// global so that it can be overridden by other repositories which import
+	// this file.
+	CAS_SPEC_WHOLE_REPO = &specs.CasSpec{
+		Root:     "..",
+		Paths:    []string{"skia"},
+		Excludes: []string{rbe.ExcludeGitDir},
+	}
+
 	// TODO(borenet): This hacky and bad.
 	CIPD_PKG_LUCI_AUTH = cipd.MustGetPackage("infra/tools/luci-auth/${platform}")
 
@@ -149,39 +177,39 @@
 
 	// ISOLATE_ASSET_MAPPING maps the name of an asset to the configuration
 	// for how the CIPD package should be installed for a given task.
-	ISOLATE_ASSET_MAPPING = map[string]isolateAssetCfg{
+	ISOLATE_ASSET_MAPPING = map[string]uploadAssetCASCfg{
 		"gcloud_linux": {
-			isolateTaskName: ISOLATE_GCLOUD_LINUX_NAME,
-			path:            "gcloud_linux",
+			uploadTaskName: ISOLATE_GCLOUD_LINUX_NAME,
+			path:           "gcloud_linux",
 		},
 		"skimage": {
-			isolateTaskName: ISOLATE_SKIMAGE_NAME,
-			path:            "skimage",
+			uploadTaskName: ISOLATE_SKIMAGE_NAME,
+			path:           "skimage",
 		},
 		"skp": {
-			isolateTaskName: ISOLATE_SKP_NAME,
-			path:            "skp",
+			uploadTaskName: ISOLATE_SKP_NAME,
+			path:           "skp",
 		},
 		"svg": {
-			isolateTaskName: ISOLATE_SVG_NAME,
-			path:            "svg",
+			uploadTaskName: ISOLATE_SVG_NAME,
+			path:           "svg",
 		},
 		"mskp": {
-			isolateTaskName: ISOLATE_MSKP_NAME,
-			path:            "mskp",
+			uploadTaskName: ISOLATE_MSKP_NAME,
+			path:           "mskp",
 		},
 		"android_ndk_linux": {
-			isolateTaskName: ISOLATE_NDK_LINUX_NAME,
-			path:            "android_ndk_linux",
+			uploadTaskName: ISOLATE_NDK_LINUX_NAME,
+			path:           "android_ndk_linux",
 		},
 		"android_sdk_linux": {
-			isolateTaskName: ISOLATE_SDK_LINUX_NAME,
-			path:            "android_sdk_linux",
+			uploadTaskName: ISOLATE_SDK_LINUX_NAME,
+			path:           "android_sdk_linux",
 		},
 		"win_toolchain": {
-			alwaysIsolate:   true,
-			isolateTaskName: ISOLATE_WIN_TOOLCHAIN_NAME,
-			path:            "win_toolchain",
+			alwaysIsolate:  true,
+			uploadTaskName: ISOLATE_WIN_TOOLCHAIN_NAME,
+			path:           "win_toolchain",
 		},
 	}
 )
@@ -316,18 +344,153 @@
 
 	// Create Tasks and Jobs.
 	builder := &builder{
-		TasksCfgBuilder:  b,
-		cfg:              cfg,
-		jobNameSchema:    schema,
-		jobs:             jobs,
-		relpathBaseDir:   relpathBaseDir,
-		relpathTargetDir: relpathTargetDir,
+		TasksCfgBuilder: b,
+		cfg:             cfg,
+		jobNameSchema:   schema,
+		jobs:            jobs,
 	}
 	for _, name := range jobs {
 		jb := newJobBuilder(builder, name)
 		jb.genTasksForJob()
 		jb.finish()
 	}
+
+	// Create CasSpecs.
+	b.MustAddCasSpec(CAS_CANVASKIT, &specs.CasSpec{
+		Root: "..",
+		Paths: []string{
+			"skia/infra/bots/run_recipe.py",
+			"skia/infra/canvaskit",
+			"skia/modules/canvaskit",
+			"skia/modules/pathkit/perf/perfReporter.js",
+			"skia/modules/pathkit/tests/testReporter.js",
+		},
+		Excludes: []string{rbe.ExcludeGitDir},
+	})
+	b.MustAddCasSpec(CAS_EMPTY, specs.EmptyCasSpec)
+	b.MustAddCasSpec(CAS_LOTTIE_CI, &specs.CasSpec{
+		Root: "..",
+		Paths: []string{
+			"skia/infra/bots/run_recipe.py",
+			"skia/infra/lottiecap",
+			"skia/tools/lottie-web-perf",
+			"skia/tools/lottiecap",
+		},
+		Excludes: []string{rbe.ExcludeGitDir},
+	})
+	b.MustAddCasSpec(CAS_LOTTIE_WEB, &specs.CasSpec{
+		Root: "..",
+		Paths: []string{
+			"skia/infra/bots/run_recipe.py",
+			"skia/tools/lottie-web-perf",
+		},
+		Excludes: []string{rbe.ExcludeGitDir},
+	})
+	b.MustAddCasSpec(CAS_PATHKIT, &specs.CasSpec{
+		Root: "..",
+		Paths: []string{
+			"skia/infra/bots/run_recipe.py",
+			"skia/infra/pathkit",
+			"skia/modules/pathkit",
+		},
+		Excludes: []string{rbe.ExcludeGitDir},
+	})
+	b.MustAddCasSpec(CAS_PERF, &specs.CasSpec{
+		Root: "..",
+		Paths: []string{
+			"skia/infra/bots/assets",
+			"skia/infra/bots/run_recipe.py",
+			"skia/platform_tools/ios/bin",
+			"skia/resources",
+			"skia/tools/valgrind.supp",
+		},
+		Excludes: []string{rbe.ExcludeGitDir},
+	})
+	b.MustAddCasSpec(CAS_PUPPETEER, &specs.CasSpec{
+		Root: ".",
+		Paths: []string{
+			"tools/perf-canvaskit-puppeteer",
+		},
+		Excludes: []string{rbe.ExcludeGitDir},
+	})
+	b.MustAddCasSpec(CAS_RECIPES, &specs.CasSpec{
+		Root: "..",
+		Paths: []string{
+			"skia/infra/config/recipes.cfg",
+			"skia/infra/bots/bundle_recipes.sh",
+			"skia/infra/bots/README.recipes.md",
+			"skia/infra/bots/recipe_modules",
+			"skia/infra/bots/recipes",
+			"skia/infra/bots/recipes.py",
+		},
+		Excludes: []string{rbe.ExcludeGitDir},
+	})
+	b.MustAddCasSpec(CAS_RUN_RECIPE, &specs.CasSpec{
+		Root: "..",
+		Paths: []string{
+			"skia/infra/bots/run_recipe.py",
+		},
+		Excludes: []string{rbe.ExcludeGitDir},
+	})
+	b.MustAddCasSpec(CAS_SKOTTIE_WASM, &specs.CasSpec{
+		Root: "..",
+		Paths: []string{
+			"skia/infra/bots/run_recipe.py",
+			"skia/tools/skottie-wasm-perf",
+		},
+		Excludes: []string{rbe.ExcludeGitDir},
+	})
+	b.MustAddCasSpec(CAS_SKPBENCH, &specs.CasSpec{
+		Root: "..",
+		Paths: []string{
+			"skia/infra/bots/assets",
+			"skia/infra/bots/run_recipe.py",
+			"skia/tools/skpbench",
+			"skia/tools/valgrind.supp",
+		},
+		Excludes: []string{rbe.ExcludeGitDir},
+	})
+	b.MustAddCasSpec(CAS_SKQP, &specs.CasSpec{
+		Root: "..",
+		Paths: []string{
+			"skia/infra/bots/run_recipe.py",
+			"skia/infra/skqp",
+		},
+		Excludes: []string{rbe.ExcludeGitDir},
+	})
+	b.MustAddCasSpec(CAS_TASK_DRIVERS, &specs.CasSpec{
+		Root: "..",
+		Paths: []string{
+			"skia/go.mod",
+			"skia/go.sum",
+			"skia/infra/bots/build_task_drivers.sh",
+			"skia/infra/bots/run_recipe.py",
+			"skia/infra/bots/task_drivers",
+		},
+		Excludes: []string{rbe.ExcludeGitDir},
+	})
+	b.MustAddCasSpec(CAS_TEST, &specs.CasSpec{
+		Root: "..",
+		Paths: []string{
+			"skia/infra/bots/assets",
+			"skia/infra/bots/run_recipe.py",
+			"skia/platform_tools/ios/bin",
+			"skia/resources",
+			"skia/tools/valgrind.supp",
+		},
+		Excludes: []string{rbe.ExcludeGitDir},
+	})
+	b.MustAddCasSpec(CAS_WASM_GM, &specs.CasSpec{
+		Root: ".",
+		Paths: []string{
+			"resources",
+			"tools/run-wasm-gm-tests",
+		},
+		Excludes: []string{rbe.ExcludeGitDir},
+	})
+	b.MustAddCasSpec(CAS_WHOLE_REPO, CAS_SPEC_WHOLE_REPO)
+	generateCompileCAS(b)
+
 	builder.MustFinish()
 }
 
@@ -356,11 +519,9 @@
 // builder is a wrapper for specs.TasksCfgBuilder.
 type builder struct {
 	*specs.TasksCfgBuilder
-	cfg              *Config
-	jobNameSchema    *JobNameSchema
-	jobs             []string
-	relpathBaseDir   string
-	relpathTargetDir string
+	cfg           *Config
+	jobNameSchema *JobNameSchema
+	jobs          []string
 }
 
 // marshalJson encodes the given data as JSON and fixes escaping of '<' which Go
@@ -386,7 +547,7 @@
 	python := "cipd_bin_packages/vpython${EXECUTABLE_SUFFIX}"
 	b.cmd(python, "-u", "skia/infra/bots/run_recipe.py", "${ISOLATED_OUTDIR}", recipe, b.getRecipeProps(), b.cfg.Project)
 	// Most recipes want this isolate; they can override if necessary.
-	b.isolate("swarm_recipe.isolate")
+	b.cas(CAS_RUN_RECIPE)
 	b.timeout(time.Hour)
 	b.addToPATH("cipd_bin_packages", "cipd_bin_packages/bin")
 	b.Spec.ExtraTags = map[string]string{
@@ -774,16 +935,6 @@
 	b.dimension(dims...)
 }
 
-// relpath returns the relative path to the given file from the config file.
-func (b *builder) relpath(f string) string {
-	target := filepath.Join(b.relpathTargetDir, f)
-	rv, err := filepath.Rel(b.relpathBaseDir, target)
-	if err != nil {
-		log.Fatal(err)
-	}
-	return rv
-}
-
 // bundleRecipes generates the task to bundle and isolate the recipes. Returns
 // the name of the task, which may be added as a dependency.
 func (b *jobBuilder) bundleRecipes() string {
@@ -794,7 +945,7 @@
 		b.linuxGceDimensions(MACHINE_TYPE_SMALL)
 		b.addToPATH("cipd_bin_packages", "cipd_bin_packages/bin")
 		b.idempotent()
-		b.isolate("recipes.isolate")
+		b.cas(CAS_RECIPES)
 	})
 	return BUNDLE_RECIPES_NAME
 }
@@ -813,7 +964,7 @@
 		b.linuxGceDimensions(MACHINE_TYPE_SMALL)
 		b.addToPATH("cipd_bin_packages", "cipd_bin_packages/bin", "go/go/bin")
 		b.idempotent()
-		b.isolate("task_drivers.isolate")
+		b.cas(CAS_TASK_DRIVERS)
 	})
 	return name
 }
@@ -841,7 +992,7 @@
 		b.dep(b.buildTaskDrivers("linux", "amd64"))
 		b.linuxGceDimensions(MACHINE_TYPE_MEDIUM)
 		b.addToPATH("cipd_bin_packages", "cipd_bin_packages/bin", "go/go/bin")
-		b.isolate("empty.isolate")
+		b.cas(CAS_EMPTY)
 		b.serviceAccount(b.cfg.ServiceAccountRecreateSKPs)
 	})
 }
@@ -882,7 +1033,7 @@
 		)
 		b.dep(b.buildTaskDrivers("linux", "amd64"))
 		b.addToPATH("cipd_bin_packages", "cipd_bin_packages/bin", "go/go/bin")
-		b.isolate("empty.isolate")
+		b.cas(CAS_EMPTY)
 		b.serviceAccount(b.cfg.ServiceAccountCompile)
 		b.linuxGceDimensions(MACHINE_TYPE_MEDIUM)
 		b.usesDocker()
@@ -915,7 +1066,7 @@
 		b.dep(b.buildTaskDrivers("linux", "amd64"))
 		b.dep(b.createDockerImage(false))
 		b.addToPATH("cipd_bin_packages", "cipd_bin_packages/bin", "go/go/bin")
-		b.isolate("empty.isolate")
+		b.cas(CAS_EMPTY)
 		b.serviceAccount(b.cfg.ServiceAccountCompile)
 		b.linuxGceDimensions(MACHINE_TYPE_MEDIUM)
 		b.usesDocker()
@@ -947,7 +1098,7 @@
 		b.dep(b.buildTaskDrivers("linux", "amd64"))
 		b.dep(b.createDockerImage(true))
 		b.addToPATH("cipd_bin_packages", "cipd_bin_packages/bin", "go/go/bin")
-		b.isolate("empty.isolate")
+		b.cas(CAS_EMPTY)
 		b.serviceAccount(b.cfg.ServiceAccountCompile)
 		b.linuxGceDimensions(MACHINE_TYPE_MEDIUM)
 		b.usesDocker()
@@ -994,10 +1145,10 @@
 	} else {
 		b.addTask(name, func(b *taskBuilder) {
 			recipe := "compile"
-			isolate := "compile.isolate"
+			casSpec := CAS_COMPILE
 			if b.extraConfig("NoDEPS", "CMake", "CommandBuffer", "Flutter", "SKQP") {
 				recipe = "sync_and_compile"
-				isolate = "swarm_recipe.isolate"
+				casSpec = CAS_RUN_RECIPE
 				b.recipeProps(EXTRA_PROPS)
 				b.usesGit()
 				if !b.extraConfig("NoDEPS") {
@@ -1007,7 +1158,7 @@
 				b.idempotent()
 			}
 			b.kitchenTask(recipe, OUTPUT_BUILD)
-			b.isolate(isolate)
+			b.cas(casSpec)
 			b.serviceAccount(b.cfg.ServiceAccountCompile)
 			b.swarmDimensions()
 			if b.extraConfig("Docker", "LottieWeb", "SKQP", "CMake") || b.compiler("EMCC") {
@@ -1116,7 +1267,7 @@
 // checkGnToBp verifies that the gn_to_bp.py script continues to work.
 func (b *jobBuilder) checkGnToBp() {
 	b.addTask(b.Name, func(b *taskBuilder) {
-		b.isolate("compile.isolate")
+		b.cas(CAS_COMPILE)
 		b.dep(b.buildTaskDrivers("linux", "amd64"))
 		b.cmd("./run_gn_to_bp",
 			"--local=false",
@@ -1147,7 +1298,7 @@
 // should add as a dependency.
 func (b *jobBuilder) g3FrameworkCanary() {
 	b.addTask(b.Name, func(b *taskBuilder) {
-		b.isolate("empty.isolate")
+		b.cas(CAS_EMPTY)
 		b.dep(b.buildTaskDrivers("linux", "amd64"))
 		b.cmd("./g3_canary",
 			"--local=false",
@@ -1185,13 +1336,10 @@
 		}
 		b.recipeProp("repository", specs.PLACEHOLDER_REPO)
 		b.kitchenTask("infra", OUTPUT_NONE)
-		b.isolate("infra_tests.isolate")
+		b.cas(CAS_WHOLE_REPO)
 		b.serviceAccount(b.cfg.ServiceAccountCompile)
 		b.cipd(specs.CIPD_PKGS_GSUTIL...)
 		b.idempotent()
-		// Repos which call into Skia's gen_tasks.go should define their own
-		// infra_tests.isolate and therefore should not use relpath().
-		b.Spec.Isolate = "infra_tests.isolate"
 		b.usesGo()
 	})
 }
@@ -1290,30 +1438,33 @@
 		compileTaskName = b.compile()
 	}
 	b.addTask(b.Name, func(b *taskBuilder) {
-		isolate := "test_skia_bundled.isolate"
+		cas := CAS_TEST
 		recipe := "test"
 		if b.extraConfig("SKQP") {
-			isolate = "skqp.isolate"
+			cas = CAS_SKQP
 			recipe = "skqp_test"
 			if b.cpu("Emulator") {
 				recipe = "test_skqp_emulator"
 			}
 		} else if b.extraConfig("OpenCL") {
-			// TODO(dogben): Longer term we may not want this to be called a "Test" task, but until we start
-			// running hs_bench or kx, it will be easier to fit into the current job name schema.
+			// TODO(dogben): Longer term we may not want this to be called a
+			// "Test" task, but until we start running hs_bench or kx, it will
+			// be easier to fit into the current job name schema.
 			recipe = "compute_test"
 		} else if b.extraConfig("PathKit") {
-			isolate = "pathkit.isolate"
+			cas = CAS_PATHKIT
 			recipe = "test_pathkit"
 		} else if b.extraConfig("CanvasKit") {
-			isolate = "canvaskit.isolate"
+			cas = CAS_CANVASKIT
 			recipe = "test_canvaskit"
 		} else if b.extraConfig("LottieWeb") {
-			// lottie_ci.isolate differs from lottie_web.isolate in that it includes more of the files,
-			// especially those brought in via DEPS in the lottie-ci repo. The main difference between
-			// Perf.+LottieWeb and Test.+LottieWeb is that the former pulls in the lottie build via
-			// npm and the latter always tests at lottie's ToT.
-			isolate = "lottie_ci.isolate"
+			// CAS_LOTTIE_CI differs from CAS_LOTTIE_WEB in that it includes
+			// more of the files, especially those brought in via DEPS in the
+			// lottie-ci repo. The main difference between Perf.+LottieWeb and
+			// Test.+LottieWeb is that the former pulls in the lottie build via
+			// npm and the latter always tests at lottie's
+			// ToT.
+			cas = CAS_LOTTIE_CI
 			recipe = "test_lottie_web"
 		}
 		b.recipeProp("gold_hashes_url", b.cfg.GoldHashesURL)
@@ -1327,7 +1478,7 @@
 			b.dmFlags(iidStr)
 		}
 		b.kitchenTask(recipe, OUTPUT_TEST)
-		b.isolate(isolate)
+		b.cas(cas)
 		b.swarmDimensions()
 		if b.extraConfig("CanvasKit", "Docker", "LottieWeb", "PathKit", "SKQP") {
 			b.usesDocker()
@@ -1399,7 +1550,7 @@
 
 	b.addTask(b.Name, func(b *taskBuilder) {
 		b.asset("skimage", "skp", "svg")
-		b.isolate("test_skia_bundled.isolate")
+		b.cas(CAS_TEST)
 		b.dep(b.buildTaskDrivers(goos, "amd64"), b.compile())
 		b.cmd("./fm_driver${EXECUTABLE_SUFFIX}",
 			"--local=false",
@@ -1442,7 +1593,7 @@
 // Canary-G3 does not use this path because it is very different from other autorollers.
 func (b *jobBuilder) canary(rollerName string) {
 	b.addTask(b.Name, func(b *taskBuilder) {
-		b.isolate("empty.isolate")
+		b.cas(CAS_EMPTY)
 		b.dep(b.buildTaskDrivers("linux", "amd64"))
 		b.cmd("./canary",
 			"--local=false",
@@ -1475,7 +1626,7 @@
 		b.dep(b.buildTaskDrivers("linux", "amd64"), compileTaskName)
 		b.output(OUTPUT_PERF)
 		b.timeout(60 * time.Minute)
-		b.isolate("perf_puppeteer.isolate")
+		b.cas(CAS_PUPPETEER)
 		b.serviceAccount(b.cfg.ServiceAccountCompile)
 
 		webglversion := "2"
@@ -1586,7 +1737,7 @@
 		b.dep(b.buildTaskDrivers("linux", "amd64"))
 		b.output("cifuzz_out")
 		b.timeout(60 * time.Minute)
-		b.isolate("whole_repo.isolate")
+		b.cas(CAS_WHOLE_REPO)
 		b.serviceAccount(b.cfg.ServiceAccountCompile)
 		b.cmd(
 			"./cifuzz",
@@ -1612,31 +1763,31 @@
 	doUpload := b.release() && b.doUpload()
 	b.addTask(b.Name, func(b *taskBuilder) {
 		recipe := "perf"
-		isolate := "perf_skia_bundled.isolate"
+		cas := CAS_PERF
 		if b.extraConfig("Skpbench") {
 			recipe = "skpbench"
-			isolate = "skpbench_skia_bundled.isolate"
+			cas = CAS_SKPBENCH
 		} else if b.extraConfig("PathKit") {
-			isolate = "pathkit.isolate"
+			cas = CAS_PATHKIT
 			recipe = "perf_pathkit"
 		} else if b.extraConfig("CanvasKit") {
-			isolate = "canvaskit.isolate"
+			cas = CAS_CANVASKIT
 			recipe = "perf_canvaskit"
 		} else if b.extraConfig("SkottieTracing") {
 			recipe = "perf_skottietrace"
 		} else if b.extraConfig("SkottieWASM") {
 			recipe = "perf_skottiewasm_lottieweb"
-			isolate = "skottie_wasm.isolate"
+			cas = CAS_SKOTTIE_WASM
 		} else if b.extraConfig("LottieWeb") {
 			recipe = "perf_skottiewasm_lottieweb"
-			isolate = "lottie_web.isolate"
+			cas = CAS_LOTTIE_WEB
 		}
 		b.recipeProps(EXTRA_PROPS)
 		if recipe == "perf" {
 			b.nanobenchFlags(doUpload)
 		}
 		b.kitchenTask(recipe, OUTPUT_PERF)
-		b.isolate(isolate)
+		b.cas(cas)
 		b.swarmDimensions()
 		if b.extraConfig("CanvasKit", "Docker", "PathKit") {
 			b.usesDocker()
@@ -1711,7 +1862,7 @@
 		})
 		b.recipeProps(EXTRA_PROPS)
 		b.kitchenTaskNoBundle("run_presubmit", OUTPUT_NONE)
-		b.isolate("run_recipe.isolate")
+		b.cas(CAS_RUN_RECIPE)
 		b.serviceAccount(b.cfg.ServiceAccountCompile)
 		// Use MACHINE_TYPE_LARGE because it seems to save time versus
 		// MEDIUM and we want presubmit to be fast.
@@ -1737,7 +1888,7 @@
 		b.dep(b.buildTaskDrivers("linux", "amd64"))
 		b.output("wasm_out")
 		b.timeout(60 * time.Minute)
-		b.isolate("compile.isolate")
+		b.cas(CAS_COMPILE)
 		b.serviceAccount(b.cfg.ServiceAccountCompile)
 		b.cache(CACHES_DOCKER...)
 		// For now, we only have one compile mode - a GPU release mode. This should be sufficient to
@@ -1772,7 +1923,7 @@
 		b.dep(b.buildTaskDrivers("linux", "amd64"))
 		b.dep(compileTaskName)
 		b.timeout(60 * time.Minute)
-		b.isolate("wasm_gm_tests.isolate")
+		b.cas(CAS_WASM_GM)
 		b.serviceAccount(b.cfg.ServiceAccountUploadGM)
 		b.cmd(
 			"./run_wasm_gm_tests",
diff --git a/infra/bots/gen_tasks_logic/job_builder.go b/infra/bots/gen_tasks_logic/job_builder.go
index 6fed058..1ad0b87 100644
--- a/infra/bots/gen_tasks_logic/job_builder.go
+++ b/infra/bots/gen_tasks_logic/job_builder.go
@@ -59,21 +59,21 @@
 	b.Spec.TaskSpecs = newSpecs
 }
 
-// isolateCIPDAsset generates a task to isolate the given CIPD asset. Returns
+// uploadCIPDAssetToCAS generates a task to isolate the given CIPD asset. Returns
 // the name of the task.
-func (b *jobBuilder) isolateCIPDAsset(asset string) string {
+func (b *jobBuilder) uploadCIPDAssetToCAS(asset string) string {
 	cfg, ok := ISOLATE_ASSET_MAPPING[asset]
 	if !ok {
 		log.Fatalf("No isolate task for asset %q", asset)
 	}
-	b.addTask(cfg.isolateTaskName, func(b *taskBuilder) {
+	b.addTask(cfg.uploadTaskName, func(b *taskBuilder) {
 		b.cipd(b.MustGetCipdPackageFromAsset(asset))
 		b.cmd("/bin/cp", "-rL", cfg.path, "${ISOLATED_OUTDIR}")
 		b.linuxGceDimensions(MACHINE_TYPE_SMALL)
 		b.idempotent()
-		b.isolate("empty.isolate")
+		b.cas(CAS_EMPTY)
 	})
-	return cfg.isolateTaskName
+	return cfg.uploadTaskName
 }
 
 // genTasksForJob generates the tasks needed by this job.
@@ -92,8 +92,8 @@
 	// Isolate CIPD assets.
 	if b.matchExtraConfig("Isolate") {
 		for asset, cfg := range ISOLATE_ASSET_MAPPING {
-			if cfg.isolateTaskName == b.Name {
-				b.isolateCIPDAsset(asset)
+			if cfg.uploadTaskName == b.Name {
+				b.uploadCIPDAssetToCAS(asset)
 				return
 			}
 		}
diff --git a/infra/bots/gen_tasks_logic/task_builder.go b/infra/bots/gen_tasks_logic/task_builder.go
index ac69118..e06f1e9 100644
--- a/infra/bots/gen_tasks_logic/task_builder.go
+++ b/infra/bots/gen_tasks_logic/task_builder.go
@@ -84,9 +84,9 @@
 	b.Spec.Idempotent = true
 }
 
-// isolate sets the isolate file used by the task.
-func (b *taskBuilder) isolate(i string) {
-	b.Spec.Isolate = b.relpath(i)
+// cas sets the CasSpec used by the task.
+func (b *taskBuilder) cas(casSpec string) {
+	b.Spec.CasSpec = casSpec
 }
 
 // env appends the given values to the given environment variable for the task.
@@ -166,12 +166,12 @@
 	return false
 }
 
-// isolateAssetConfig represents a task which copies a CIPD package into
+// uploadAssetCASCfg represents a task which copies a CIPD package into
 // isolate.
-type isolateAssetCfg struct {
-	alwaysIsolate   bool
-	isolateTaskName string
-	path            string
+type uploadAssetCASCfg struct {
+	alwaysIsolate  bool
+	uploadTaskName string
+	path           string
 }
 
 // asset adds the given assets to the task as CIPD packages.
@@ -180,7 +180,7 @@
 	pkgs := make([]*specs.CipdPackage, 0, len(assets))
 	for _, asset := range assets {
 		if cfg, ok := ISOLATE_ASSET_MAPPING[asset]; ok && (cfg.alwaysIsolate || shouldIsolate) {
-			b.dep(b.isolateCIPDAsset(asset))
+			b.dep(b.uploadCIPDAssetToCAS(asset))
 		} else {
 			pkgs = append(pkgs, b.MustGetCipdPackageFromAsset(asset))
 		}
diff --git a/infra/bots/infra_tests.isolate b/infra/bots/infra_tests.isolate
deleted file mode 100644
index 3d8b0b2..0000000
--- a/infra/bots/infra_tests.isolate
+++ /dev/null
@@ -1,13 +0,0 @@
-{
-  'includes': [
-    'infrabots.isolate',
-    'recipes.isolate',
-    'swarm_recipe.isolate',
-  ],
-  'variables': {
-    'files': [
-      '../../go.mod',
-      '../../go.sum',
-    ],
-  },
-}
diff --git a/infra/bots/infrabots.isolate b/infra/bots/infrabots.isolate
deleted file mode 100644
index bfe028a..0000000
--- a/infra/bots/infrabots.isolate
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  'variables': {
-    'files': [
-      './',
-    ],
-  },
-}
diff --git a/infra/bots/ios_bin.isolate b/infra/bots/ios_bin.isolate
deleted file mode 100644
index b2d542e..0000000
--- a/infra/bots/ios_bin.isolate
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  'variables': {
-    'files': [
-      '../../platform_tools/ios/bin/',
-    ],
-  },
-}
diff --git a/infra/bots/lottie_ci.isolate b/infra/bots/lottie_ci.isolate
deleted file mode 100644
index 09b7249..0000000
--- a/infra/bots/lottie_ci.isolate
+++ /dev/null
@@ -1,13 +0,0 @@
-{
-  'includes': [
-    'swarm_recipe.isolate',
-  ],
-  'variables': {
-    'files': [
-      '../../../lottie',
-      '../../tools/lottie-web-perf',
-      '../../tools/lottiecap',
-      '../lottiecap',
-    ],
-  },
-}
diff --git a/infra/bots/lottie_web.isolate b/infra/bots/lottie_web.isolate
deleted file mode 100644
index eeb475e..0000000
--- a/infra/bots/lottie_web.isolate
+++ /dev/null
@@ -1,10 +0,0 @@
-{
-  'includes': [
-    'swarm_recipe.isolate',
-  ],
-  'variables': {
-    'files': [
-      '../../tools/lottie-web-perf',
-    ],
-  },
-}
diff --git a/infra/bots/pathkit.isolate b/infra/bots/pathkit.isolate
deleted file mode 100644
index b773253..0000000
--- a/infra/bots/pathkit.isolate
+++ /dev/null
@@ -1,11 +0,0 @@
-{
-  'includes': [
-    'swarm_recipe.isolate',
-  ],
-  'variables': {
-    'files': [
-      '../../modules/pathkit',
-      '../pathkit',
-    ],
-  },
-}
diff --git a/infra/bots/perf_puppeteer.isolate b/infra/bots/perf_puppeteer.isolate
deleted file mode 100644
index f9378a0..0000000
--- a/infra/bots/perf_puppeteer.isolate
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  'variables': {
-    'files': [
-      '../../tools/perf-canvaskit-puppeteer/',
-    ],
-  },
-}
diff --git a/infra/bots/perf_skia_bundled.isolate b/infra/bots/perf_skia_bundled.isolate
deleted file mode 100644
index 6001f3e..0000000
--- a/infra/bots/perf_skia_bundled.isolate
+++ /dev/null
@@ -1,13 +0,0 @@
-{
-  'includes': [
-    'assets.isolate',
-    'ios_bin.isolate',
-    'resources.isolate',
-    'swarm_recipe.isolate',
-  ],
-  'variables': {
-    'files': [
-      '../../tools/valgrind.supp',
-    ],
-  },
-}
diff --git a/infra/bots/recipes.isolate b/infra/bots/recipes.isolate
deleted file mode 100644
index 80dd39b..0000000
--- a/infra/bots/recipes.isolate
+++ /dev/null
@@ -1,13 +0,0 @@
-{
-  'variables': {
-    'files': [
-      '../../../.gclient',
-      '../config/recipes.cfg',
-      'bundle_recipes.sh',
-      'README.recipes.md',
-      'recipe_modules/',
-      'recipes/',
-      'recipes.py',
-    ],
-  },
-}
diff --git a/infra/bots/resources.isolate b/infra/bots/resources.isolate
deleted file mode 100644
index be73552..0000000
--- a/infra/bots/resources.isolate
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  'variables': {
-    'files': [
-      '../../resources/',
-    ],
-  },
-}
diff --git a/infra/bots/run_recipe.isolate b/infra/bots/run_recipe.isolate
deleted file mode 100644
index 5b9e759..0000000
--- a/infra/bots/run_recipe.isolate
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-  'variables': {
-    'files': [
-      '../../../.gclient',
-      'run_recipe.py',
-    ],
-  },
-}
diff --git a/infra/bots/skottie_wasm.isolate b/infra/bots/skottie_wasm.isolate
deleted file mode 100644
index 641e5f5..0000000
--- a/infra/bots/skottie_wasm.isolate
+++ /dev/null
@@ -1,10 +0,0 @@
-{
-  'includes': [
-    'swarm_recipe.isolate',
-  ],
-  'variables': {
-    'files': [
-      '../../tools/skottie-wasm-perf',
-    ],
-  },
-}
diff --git a/infra/bots/skpbench_skia_bundled.isolate b/infra/bots/skpbench_skia_bundled.isolate
deleted file mode 100644
index b6ff22c..0000000
--- a/infra/bots/skpbench_skia_bundled.isolate
+++ /dev/null
@@ -1,12 +0,0 @@
-{
-  'includes': [
-    'assets.isolate',
-    'swarm_recipe.isolate',
-  ],
-  'variables': {
-    'files': [
-      '../../tools/valgrind.supp',
-      '../../tools/skpbench/',
-    ],
-  },
-}
diff --git a/infra/bots/skqp.isolate b/infra/bots/skqp.isolate
deleted file mode 100644
index aab0000..0000000
--- a/infra/bots/skqp.isolate
+++ /dev/null
@@ -1,10 +0,0 @@
-{
-  'includes': [
-    'swarm_recipe.isolate',
-  ],
-  'variables': {
-    'files': [
-      '../skqp',
-    ],
-  },
-}
diff --git a/infra/bots/swarm_recipe.isolate b/infra/bots/swarm_recipe.isolate
deleted file mode 100644
index 5b9e759..0000000
--- a/infra/bots/swarm_recipe.isolate
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-  'variables': {
-    'files': [
-      '../../../.gclient',
-      'run_recipe.py',
-    ],
-  },
-}
diff --git a/infra/bots/task_drivers.isolate b/infra/bots/task_drivers.isolate
deleted file mode 100644
index 03c327e..0000000
--- a/infra/bots/task_drivers.isolate
+++ /dev/null
@@ -1,11 +0,0 @@
-{
-  'variables': {
-    'files': [
-      '../../../.gclient',
-      '../../go.mod',
-      '../../go.sum',
-      './build_task_drivers.sh',
-      './task_drivers/',
-    ],
-  },
-}
diff --git a/infra/bots/tasks.json b/infra/bots/tasks.json
index d40dbac..d926e92 100755
--- a/infra/bots/tasks.json
+++ b/infra/bots/tasks.json
@@ -3134,6 +3134,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -3190,7 +3191,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -3204,6 +3204,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -3260,7 +3261,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -3274,6 +3274,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -3330,7 +3331,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -3344,6 +3344,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -3400,7 +3401,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -3414,6 +3414,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -3480,7 +3481,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -3494,6 +3494,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -3550,7 +3551,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -3564,6 +3564,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -3620,7 +3621,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -3634,6 +3634,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -3690,7 +3691,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -3704,6 +3704,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -3770,7 +3771,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -3784,6 +3784,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -3840,7 +3841,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -3854,6 +3854,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -3910,7 +3911,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -3924,6 +3924,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -3980,7 +3981,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -3994,6 +3994,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -4050,7 +4051,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -4064,6 +4064,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -4120,7 +4121,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -4134,6 +4134,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -4190,7 +4191,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -4204,6 +4204,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -4260,7 +4261,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -4274,6 +4274,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -4330,7 +4331,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -4344,6 +4344,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -4400,7 +4401,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -4414,6 +4414,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -4470,7 +4471,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -4484,6 +4484,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -4540,7 +4541,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -4558,6 +4558,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -4619,7 +4620,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -4633,6 +4633,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -4689,7 +4690,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -4703,6 +4703,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -4759,7 +4760,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -4773,6 +4773,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -4829,7 +4830,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -4843,6 +4843,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -4899,7 +4900,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -4929,6 +4929,7 @@
           "path": "cache/work"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/git/linux-amd64",
@@ -4995,7 +4996,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 3600000000000,
-      "isolate": "swarm_recipe.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -5013,6 +5013,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -5074,7 +5075,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -5092,6 +5092,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -5153,7 +5154,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -5171,6 +5171,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -5232,7 +5233,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -5246,6 +5246,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -5307,7 +5308,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -5325,6 +5325,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -5386,7 +5387,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -5404,6 +5404,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -5475,7 +5476,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -5493,6 +5493,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -5554,7 +5555,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -5572,6 +5572,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -5633,7 +5634,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -5651,6 +5651,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -5712,7 +5713,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -5730,6 +5730,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -5796,7 +5797,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -5814,6 +5814,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -5880,7 +5881,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -5898,6 +5898,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -5959,7 +5960,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -5977,6 +5977,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -6038,7 +6039,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -6056,6 +6056,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -6117,7 +6118,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -6135,6 +6135,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -6196,7 +6197,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -6214,6 +6214,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -6275,7 +6276,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -6293,6 +6293,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -6354,7 +6355,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -6388,6 +6388,7 @@
           "path": "cache/work"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/git/linux-amd64",
@@ -6464,7 +6465,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 3600000000000,
-      "isolate": "swarm_recipe.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -6478,6 +6478,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -6539,7 +6540,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -6557,6 +6557,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -6618,7 +6619,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -6636,6 +6636,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -6697,7 +6698,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -6723,6 +6723,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/git/linux-amd64",
@@ -6798,7 +6799,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 3600000000000,
-      "isolate": "swarm_recipe.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -6816,6 +6816,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -6877,7 +6878,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -6895,6 +6895,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -6956,7 +6957,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -6974,6 +6974,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -7035,7 +7036,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -7053,6 +7053,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -7114,7 +7115,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -7132,6 +7132,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -7193,7 +7194,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -7211,6 +7211,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -7277,7 +7278,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -7295,6 +7295,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -7356,7 +7357,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -7374,6 +7374,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -7435,7 +7436,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -7453,6 +7453,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -7514,7 +7515,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -7532,6 +7532,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -7593,7 +7594,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -7615,6 +7615,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -7672,7 +7673,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -7694,6 +7694,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -7751,7 +7752,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -7773,6 +7773,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -7830,7 +7831,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -7852,6 +7852,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -7909,7 +7910,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -7931,6 +7931,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -7988,7 +7989,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -8010,6 +8010,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -8067,7 +8068,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -8089,6 +8089,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -8146,7 +8147,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -8168,6 +8168,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -8225,7 +8226,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -8239,6 +8239,7 @@
           "path": "cache/docker"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -8275,7 +8276,6 @@
       ],
       "execution_timeout_ns": 3600000000000,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 1,
       "outputs": [
         "wasm_out"
@@ -8297,6 +8297,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -8354,7 +8355,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -8376,6 +8376,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -8433,7 +8434,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -8455,6 +8455,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -8512,7 +8513,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -8534,6 +8534,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -8591,7 +8592,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -8613,6 +8613,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -8670,7 +8671,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -8692,6 +8692,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -8749,7 +8750,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -8771,6 +8771,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -8828,7 +8829,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -8858,6 +8858,7 @@
           "path": "cache/work"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/git/linux-amd64",
@@ -8929,7 +8930,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 3600000000000,
-      "isolate": "swarm_recipe.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -8947,6 +8947,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -9009,7 +9010,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -9027,6 +9027,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -9089,7 +9090,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -9111,6 +9111,7 @@
           "path": "cache/Xcode.app"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -9171,7 +9172,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -9185,6 +9185,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -9240,7 +9241,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -9262,6 +9262,7 @@
           "path": "cache/Xcode.app"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -9327,7 +9328,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -9349,6 +9349,7 @@
           "path": "cache/Xcode.app"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -9414,7 +9415,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -9436,6 +9436,7 @@
           "path": "cache/Xcode.app"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -9496,7 +9497,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -9518,6 +9518,7 @@
           "path": "cache/Xcode.app"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -9583,7 +9584,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -9605,6 +9605,7 @@
           "path": "cache/Xcode.app"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -9670,7 +9671,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -9692,6 +9692,7 @@
           "path": "cache/Xcode.app"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -9757,7 +9758,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -9779,6 +9779,7 @@
           "path": "cache/Xcode.app"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -9839,7 +9840,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -9861,6 +9861,7 @@
           "path": "cache/Xcode.app"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -9921,7 +9922,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -9943,6 +9943,7 @@
           "path": "cache/Xcode.app"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -10003,7 +10004,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -10037,6 +10037,7 @@
           "path": "cache/Xcode.app"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/git/mac-amd64",
@@ -10111,7 +10112,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 7200000000000,
-      "isolate": "swarm_recipe.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -10133,6 +10133,7 @@
           "path": "cache/Xcode.app"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -10193,7 +10194,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -10215,6 +10215,7 @@
           "path": "cache/Xcode.app"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -10275,7 +10276,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -10297,6 +10297,7 @@
           "path": "cache/Xcode.app"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -10357,7 +10358,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -10391,6 +10391,7 @@
           "path": "cache/Xcode.app"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/git/mac-amd64",
@@ -10465,7 +10466,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 7200000000000,
-      "isolate": "swarm_recipe.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -10487,6 +10487,7 @@
           "path": "cache/Xcode.app"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -10547,7 +10548,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -10569,6 +10569,7 @@
           "path": "cache/Xcode.app"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -10629,7 +10630,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -10651,6 +10651,7 @@
           "path": "cache/Xcode.app"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -10711,7 +10712,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -10733,6 +10733,7 @@
           "path": "cache/Xcode.app"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -10798,7 +10799,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -10820,6 +10820,7 @@
           "path": "cache/Xcode.app"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -10885,7 +10886,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -10907,6 +10907,7 @@
           "path": "cache/Xcode.app"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -10972,7 +10973,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -10994,6 +10994,7 @@
           "path": "cache/Xcode.app"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -11059,7 +11060,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -11073,6 +11073,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-386",
@@ -11135,7 +11136,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -11149,6 +11149,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-386",
@@ -11211,7 +11212,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -11225,6 +11225,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-386",
@@ -11287,7 +11288,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -11301,6 +11301,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-386",
@@ -11363,7 +11364,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -11377,6 +11377,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-386",
@@ -11438,7 +11439,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -11452,6 +11452,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-386",
@@ -11514,7 +11515,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -11528,6 +11528,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-386",
@@ -11590,7 +11591,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -11604,6 +11604,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-386",
@@ -11666,7 +11667,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -11680,6 +11680,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -11742,7 +11743,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -11756,6 +11756,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -11818,7 +11819,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -11832,6 +11832,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -11894,7 +11895,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -11908,6 +11908,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -11970,7 +11971,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -11984,6 +11984,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -12046,7 +12047,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -12060,6 +12060,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -12127,7 +12128,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -12141,6 +12141,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -12203,7 +12204,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -12217,6 +12217,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -12279,7 +12280,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -12293,6 +12293,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -12355,7 +12356,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -12369,6 +12369,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -12431,7 +12432,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -12445,6 +12445,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -12507,7 +12508,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -12521,6 +12521,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -12583,7 +12584,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -12597,6 +12597,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -12659,7 +12660,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -12673,6 +12673,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -12735,7 +12736,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -12749,6 +12749,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-386",
@@ -12806,7 +12807,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -12820,6 +12820,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-386",
@@ -12877,7 +12878,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -12891,6 +12891,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-386",
@@ -12948,7 +12949,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -12962,6 +12962,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-386",
@@ -13019,7 +13020,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -13033,6 +13033,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-386",
@@ -13090,7 +13091,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -13104,6 +13104,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-386",
@@ -13161,7 +13162,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -13175,6 +13175,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -13232,7 +13233,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -13246,6 +13246,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -13303,7 +13304,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -13317,6 +13317,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -13374,7 +13375,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -13388,6 +13388,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -13445,7 +13446,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -13459,6 +13459,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -13516,7 +13517,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -13530,6 +13530,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -13587,7 +13588,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -13601,6 +13601,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -13658,7 +13659,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -13672,6 +13672,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -13729,7 +13730,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "compile.isolate",
       "max_attempts": 2,
       "outputs": [
         "build"
@@ -13755,6 +13755,7 @@
           "path": "cache/work"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/git/linux-amd64",
@@ -13827,7 +13828,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 3600000000000,
-      "isolate": "swarm_recipe.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -13852,6 +13852,7 @@
           "path": "cache/work"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/git/linux-amd64",
@@ -13924,7 +13925,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 3600000000000,
-      "isolate": "swarm_recipe.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -13949,6 +13949,7 @@
           "path": "cache/work"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/git/linux-amd64",
@@ -14021,7 +14022,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 3600000000000,
-      "isolate": "swarm_recipe.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -14046,6 +14046,7 @@
           "path": "cache/work"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/git/linux-amd64",
@@ -14118,7 +14119,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 3600000000000,
-      "isolate": "swarm_recipe.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -14143,6 +14143,7 @@
           "path": "cache/work"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/git/linux-amd64",
@@ -14215,7 +14216,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 3600000000000,
-      "isolate": "swarm_recipe.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -14240,6 +14240,7 @@
           "path": "cache/work"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/git/linux-amd64",
@@ -14312,7 +14313,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 3600000000000,
-      "isolate": "swarm_recipe.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -14337,6 +14337,7 @@
           "path": "cache/work"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/git/linux-amd64",
@@ -14409,7 +14410,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 3600000000000,
-      "isolate": "swarm_recipe.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -14434,6 +14434,7 @@
           "path": "cache/work"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/git/linux-amd64",
@@ -14506,7 +14507,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 3600000000000,
-      "isolate": "swarm_recipe.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -14531,6 +14531,7 @@
           "path": "cache/work"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/git/linux-amd64",
@@ -14603,13 +14604,13 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 3600000000000,
-      "isolate": "swarm_recipe.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
       ]
     },
     "Canary-Android": {
+      "casSpec": "empty",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -14652,11 +14653,11 @@
       ],
       "execution_timeout_ns": 10800000000000,
       "io_timeout_ns": 10800000000000,
-      "isolate": "empty.isolate",
       "max_attempts": 1,
       "service_account": "skia-canary@skia-swarming-bots.iam.gserviceaccount.com"
     },
     "Canary-Chromium": {
+      "casSpec": "empty",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -14699,11 +14700,11 @@
       ],
       "execution_timeout_ns": 10800000000000,
       "io_timeout_ns": 10800000000000,
-      "isolate": "empty.isolate",
       "max_attempts": 1,
       "service_account": "skia-canary@skia-swarming-bots.iam.gserviceaccount.com"
     },
     "Canary-Flutter": {
+      "casSpec": "empty",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -14746,11 +14747,11 @@
       ],
       "execution_timeout_ns": 10800000000000,
       "io_timeout_ns": 10800000000000,
-      "isolate": "empty.isolate",
       "max_attempts": 1,
       "service_account": "skia-canary@skia-swarming-bots.iam.gserviceaccount.com"
     },
     "Canary-G3": {
+      "casSpec": "empty",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -14791,11 +14792,11 @@
       ],
       "execution_timeout_ns": 10800000000000,
       "io_timeout_ns": 10800000000000,
-      "isolate": "empty.isolate",
       "max_attempts": 1,
       "service_account": "skia-g3-framework-compile@skia-swarming-bots.iam.gserviceaccount.com"
     },
     "FM-Debian10-Clang-GCE-CPU-AVX2-x86_64-Debug-All": {
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "skia/bots/skimage",
@@ -14841,11 +14842,11 @@
         "pool:Skia"
       ],
       "expiration_ns": 900000000000,
-      "isolate": "test_skia_bundled.isolate",
       "max_attempts": 1,
       "service_account": "skia-external-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com"
     },
     "FM-Debian10-Clang-GCE-CPU-AVX2-x86_64-Debug-All-ASAN": {
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "skia/bots/clang_linux",
@@ -14904,11 +14905,11 @@
         ]
       },
       "expiration_ns": 900000000000,
-      "isolate": "test_skia_bundled.isolate",
       "max_attempts": 1,
       "service_account": "skia-external-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com"
     },
     "FM-Debian10-Clang-GCE-CPU-AVX2-x86_64-Release-All-MSAN": {
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "skia/bots/clang_linux",
@@ -14967,11 +14968,11 @@
         ]
       },
       "expiration_ns": 900000000000,
-      "isolate": "test_skia_bundled.isolate",
       "max_attempts": 1,
       "service_account": "skia-external-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com"
     },
     "FM-Debian10-Clang-GCE-CPU-AVX2-x86_64-Release-All-TSAN": {
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "skia/bots/clang_linux",
@@ -15030,11 +15031,11 @@
         ]
       },
       "expiration_ns": 900000000000,
-      "isolate": "test_skia_bundled.isolate",
       "max_attempts": 1,
       "service_account": "skia-external-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com"
     },
     "FM-Mac-Clang-VMware7.1-CPU-AVX-x86_64-Debug-All": {
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "skia/bots/skimage",
@@ -15079,11 +15080,11 @@
         "pool:Skia"
       ],
       "expiration_ns": 900000000000,
-      "isolate": "test_skia_bundled.isolate",
       "max_attempts": 1,
       "service_account": "skia-external-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com"
     },
     "FM-Mac-Clang-VMware7.1-CPU-AVX-x86_64-Debug-All-ASAN": {
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "skia/bots/skimage",
@@ -15128,11 +15129,11 @@
         "pool:Skia"
       ],
       "expiration_ns": 900000000000,
-      "isolate": "test_skia_bundled.isolate",
       "max_attempts": 1,
       "service_account": "skia-external-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com"
     },
     "FM-Mac-Clang-VMware7.1-CPU-AVX-x86_64-Release-All-TSAN": {
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "skia/bots/skimage",
@@ -15177,11 +15178,11 @@
         "pool:Skia"
       ],
       "expiration_ns": 900000000000,
-      "isolate": "test_skia_bundled.isolate",
       "max_attempts": 1,
       "service_account": "skia-external-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com"
     },
     "FM-Win-Clang-GCE-CPU-AVX2-x86_64-Debug-All": {
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "skia/bots/skimage",
@@ -15227,11 +15228,11 @@
         "pool:Skia"
       ],
       "expiration_ns": 900000000000,
-      "isolate": "test_skia_bundled.isolate",
       "max_attempts": 1,
       "service_account": "skia-external-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com"
     },
     "FM-Win-Clang-GCE-CPU-AVX2-x86_64-Debug-All-ASAN": {
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "skia/bots/skimage",
@@ -15277,11 +15278,11 @@
         "pool:Skia"
       ],
       "expiration_ns": 900000000000,
-      "isolate": "test_skia_bundled.isolate",
       "max_attempts": 1,
       "service_account": "skia-external-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com"
     },
     "FM-Win-MSVC-GCE-CPU-AVX2-x86_64-Debug-All": {
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "skia/bots/skimage",
@@ -15327,11 +15328,11 @@
         "pool:Skia"
       ],
       "expiration_ns": 900000000000,
-      "isolate": "test_skia_bundled.isolate",
       "max_attempts": 1,
       "service_account": "skia-external-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com"
     },
     "Fuzz-Debian10-Clang": {
+      "casSpec": "whole-repo",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/git/linux-amd64",
@@ -15385,7 +15386,6 @@
       ],
       "execution_timeout_ns": 3600000000000,
       "io_timeout_ns": 3600000000000,
-      "isolate": "whole_repo.isolate",
       "max_attempts": 1,
       "outputs": [
         "cifuzz_out"
@@ -15419,6 +15419,7 @@
           "path": "cache/work"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/git/linux-amd64",
@@ -15486,7 +15487,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "swarm_recipe.isolate",
       "max_attempts": 2,
       "service_account": "skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -15509,6 +15509,7 @@
           "path": "cache/gopath"
         }
       ],
+      "casSpec": "empty",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/git/linux-amd64",
@@ -15579,7 +15580,6 @@
           "go/go/bin"
         ]
       },
-      "isolate": "empty.isolate",
       "service_account": "skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com"
     },
     "Housekeeper-OnDemand-Presubmit": {
@@ -15597,6 +15597,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/git/linux-amd64",
@@ -15664,7 +15665,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 3600000000000,
-      "isolate": "run_recipe.isolate",
       "max_attempts": 2,
       "service_account": "skia-external-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -15687,6 +15687,7 @@
           "path": "cache/work"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/git/linux-amd64",
@@ -15752,7 +15753,6 @@
         "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-housekeeper@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -15775,6 +15775,7 @@
           "path": "cache/gopath"
         }
       ],
+      "casSpec": "task-drivers",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/git/linux-amd64",
@@ -15818,8 +15819,7 @@
           "go/go/bin"
         ]
       },
-      "idempotent": true,
-      "isolate": "task_drivers.isolate"
+      "idempotent": true
     },
     "Housekeeper-PerCommit-BuildTaskDrivers_linux_amd64": {
       "caches": [
@@ -15840,6 +15840,7 @@
           "path": "cache/gopath"
         }
       ],
+      "casSpec": "task-drivers",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/git/linux-amd64",
@@ -15883,8 +15884,7 @@
           "go/go/bin"
         ]
       },
-      "idempotent": true,
-      "isolate": "task_drivers.isolate"
+      "idempotent": true
     },
     "Housekeeper-PerCommit-BuildTaskDrivers_windows_amd64": {
       "caches": [
@@ -15905,6 +15905,7 @@
           "path": "cache/gopath"
         }
       ],
+      "casSpec": "task-drivers",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/git/linux-amd64",
@@ -15948,10 +15949,10 @@
           "go/go/bin"
         ]
       },
-      "idempotent": true,
-      "isolate": "task_drivers.isolate"
+      "idempotent": true
     },
     "Housekeeper-PerCommit-BundleRecipes": {
+      "casSpec": "recipes",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/linux-amd64",
@@ -15997,8 +15998,7 @@
           "cipd_bin_packages/bin"
         ]
       },
-      "idempotent": true,
-      "isolate": "recipes.isolate"
+      "idempotent": true
     },
     "Housekeeper-PerCommit-CheckGeneratedFiles": {
       "caches": [
@@ -16031,6 +16031,7 @@
           "path": "cache/work"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/git/linux-amd64",
@@ -16111,7 +16112,6 @@
         "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-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -16130,6 +16130,7 @@
           "path": "cache/git_cache"
         }
       ],
+      "casSpec": "empty",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/git/linux-amd64",
@@ -16197,7 +16198,6 @@
           "go/go/bin"
         ]
       },
-      "isolate": "empty.isolate",
       "service_account": "skia-external-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com"
     },
     "Housekeeper-PerCommit-CreateDockerImage_Skia_WASM_Release": {
@@ -16215,6 +16215,7 @@
           "path": "cache/git_cache"
         }
       ],
+      "casSpec": "empty",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/git/linux-amd64",
@@ -16282,7 +16283,6 @@
           "go/go/bin"
         ]
       },
-      "isolate": "empty.isolate",
       "service_account": "skia-external-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com"
     },
     "Housekeeper-PerCommit-InfraTests_Linux": {
@@ -16308,6 +16308,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "whole-repo",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/git/linux-amd64",
@@ -16384,7 +16385,6 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "infra_tests.isolate",
       "max_attempts": 2,
       "service_account": "skia-external-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -16411,6 +16411,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "whole-repo",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-386",
@@ -16492,11 +16493,11 @@
       },
       "idempotent": true,
       "io_timeout_ns": 3600000000000,
-      "isolate": "infra_tests.isolate",
       "max_attempts": 2,
       "service_account": "skia-external-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com"
     },
     "Housekeeper-PerCommit-IsolateAndroidNDKLinux": {
+      "casSpec": "empty",
       "cipd_packages": [
         {
           "name": "skia/bots/android_ndk_linux",
@@ -16517,10 +16518,10 @@
         "os:Debian-10.3",
         "pool:Skia"
       ],
-      "idempotent": true,
-      "isolate": "empty.isolate"
+      "idempotent": true
     },
     "Housekeeper-PerCommit-IsolateMSKP": {
+      "casSpec": "empty",
       "cipd_packages": [
         {
           "name": "skia/bots/mskp",
@@ -16541,10 +16542,10 @@
         "os:Debian-10.3",
         "pool:Skia"
       ],
-      "idempotent": true,
-      "isolate": "empty.isolate"
+      "idempotent": true
     },
     "Housekeeper-PerCommit-IsolateSKP": {
+      "casSpec": "empty",
       "cipd_packages": [
         {
           "name": "skia/bots/skp",
@@ -16565,10 +16566,10 @@
         "os:Debian-10.3",
         "pool:Skia"
       ],
-      "idempotent": true,
-      "isolate": "empty.isolate"
+      "idempotent": true
     },
     "Housekeeper-PerCommit-IsolateSVG": {
+      "casSpec": "empty",
       "cipd_packages": [
         {
           "name": "skia/bots/svg",
@@ -16589,10 +16590,10 @@
         "os:Debian-10.3",
         "pool:Skia"
       ],
-      "idempotent": true,
-      "isolate": "empty.isolate"
+      "idempotent": true
     },
     "Housekeeper-PerCommit-IsolateSkImage": {
+      "casSpec": "empty",
       "cipd_packages": [
         {
           "name": "skia/bots/skimage",
@@ -16613,10 +16614,10 @@
         "os:Debian-10.3",
         "pool:Skia"
       ],
-      "idempotent": true,
-      "isolate": "empty.isolate"
+      "idempotent": true
     },
     "Housekeeper-PerCommit-IsolateWinToolchain": {
+      "casSpec": "empty",
       "cipd_packages": [
         {
           "name": "skia/bots/win_toolchain",
@@ -16637,8 +16638,7 @@
         "os:Debian-10.3",
         "pool:Skia"
       ],
-      "idempotent": true,
-      "isolate": "empty.isolate"
+      "idempotent": true
     },
     "Housekeeper-PerCommit-PushAppsFromSkiaDockerImage": {
       "caches": [
@@ -16655,6 +16655,7 @@
           "path": "cache/git_cache"
         }
       ],
+      "casSpec": "empty",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/git/linux-amd64",
@@ -16717,7 +16718,6 @@
           "go/go/bin"
         ]
       },
-      "isolate": "empty.isolate",
       "service_account": "skia-external-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com"
     },
     "Housekeeper-PerCommit-PushAppsFromWASMDockerImage": {
@@ -16735,6 +16735,7 @@
           "path": "cache/git_cache"
         }
       ],
+      "casSpec": "empty",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/git/linux-amd64",
@@ -16797,7 +16798,6 @@
           "go/go/bin"
         ]
       },
-      "isolate": "empty.isolate",
       "service_account": "skia-external-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com"
     },
     "Housekeeper-PerCommit-RunGnToBp": {
@@ -16807,6 +16807,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "compile",
       "cipd_packages": [
         {
           "name": "infra/tools/luci/vpython/${platform}",
@@ -16840,7 +16841,6 @@
           "cache/vpython"
         ]
       },
-      "isolate": "compile.isolate",
       "service_account": "skia-external-housekeeper@skia-swarming-bots.iam.gserviceaccount.com"
     },
     "Housekeeper-Weekly-RecreateSKPs": {
@@ -16870,6 +16870,7 @@
           "path": "cache/work"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/git/linux-amd64",
@@ -16937,7 +16938,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "swarm_recipe.isolate",
       "max_attempts": 2,
       "service_account": "skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -16948,6 +16948,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -17002,7 +17003,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -17015,6 +17015,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -17074,7 +17075,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -17087,6 +17087,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -17141,7 +17142,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -17154,6 +17154,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "skpbench",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -17207,7 +17208,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "skpbench_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -17220,6 +17220,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "skpbench",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -17273,7 +17274,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "skpbench_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -17286,6 +17286,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "skpbench",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -17339,7 +17340,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "skpbench_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -17352,6 +17352,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -17406,7 +17407,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -17419,6 +17419,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "skpbench",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -17472,7 +17473,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "skpbench_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -17485,6 +17485,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "skpbench",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -17538,7 +17539,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "skpbench_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -17551,6 +17551,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -17605,7 +17606,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -17618,6 +17618,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -17672,7 +17673,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -17685,6 +17685,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -17739,7 +17740,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -17752,6 +17752,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -17806,7 +17807,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -17819,6 +17819,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -17873,7 +17874,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -17886,6 +17886,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -17940,7 +17941,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -17953,6 +17953,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -18007,7 +18008,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -18020,6 +18020,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -18079,7 +18080,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -18092,6 +18092,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -18146,7 +18147,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -18159,6 +18159,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -18218,7 +18219,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -18231,6 +18231,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -18285,7 +18286,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -18298,6 +18298,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -18352,7 +18353,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -18365,6 +18365,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -18419,7 +18420,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -18432,6 +18432,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -18486,7 +18487,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -18499,6 +18499,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -18553,7 +18554,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -18566,6 +18566,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "skpbench",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -18619,7 +18620,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "skpbench_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -18632,6 +18632,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "skpbench",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -18685,7 +18686,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "skpbench_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -18698,6 +18698,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "skpbench",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -18751,7 +18752,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "skpbench_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -18764,6 +18764,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -18818,7 +18819,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -18831,6 +18831,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "skpbench",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -18884,7 +18885,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "skpbench_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -18897,6 +18897,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -18951,7 +18952,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -18964,6 +18964,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -19018,7 +19019,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -19031,6 +19031,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -19085,7 +19086,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -19098,6 +19098,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -19152,7 +19153,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -19165,6 +19165,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -19219,7 +19220,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -19232,6 +19232,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -19286,7 +19287,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -19299,6 +19299,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -19353,7 +19354,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -19366,6 +19366,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "skpbench",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -19419,7 +19420,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "skpbench_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -19432,6 +19432,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "skpbench",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -19485,7 +19486,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "skpbench_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -19498,6 +19498,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "skpbench",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -19551,7 +19552,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "skpbench_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -19564,6 +19564,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -19618,7 +19619,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -19631,6 +19631,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "skpbench",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -19684,7 +19685,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "skpbench_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -19697,6 +19697,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "skpbench",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -19750,7 +19751,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "skpbench_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -19763,6 +19763,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "skpbench",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -19816,7 +19817,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "skpbench_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -19829,6 +19829,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -19883,7 +19884,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -19896,6 +19896,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -19950,7 +19951,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -19963,6 +19963,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -20017,7 +20018,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -20030,6 +20030,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -20084,7 +20085,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -20097,6 +20097,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -20151,7 +20152,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -20164,6 +20164,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -20235,7 +20236,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 1,
       "outputs": [
         "perf"
@@ -20248,6 +20248,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -20319,7 +20320,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 1,
       "outputs": [
         "perf"
@@ -20332,6 +20332,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -20398,7 +20399,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -20411,6 +20411,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -20477,7 +20478,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -20490,6 +20490,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -20556,7 +20557,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -20569,6 +20569,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -20635,7 +20636,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -20648,6 +20648,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -20719,7 +20720,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -20732,6 +20732,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -20798,7 +20799,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -20811,6 +20811,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -20876,7 +20877,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -20889,6 +20889,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -20959,7 +20960,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -20972,6 +20972,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -21047,7 +21048,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -21060,6 +21060,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -21140,7 +21141,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 1,
       "outputs": [
         "perf"
@@ -21153,6 +21153,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -21223,7 +21224,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -21236,6 +21236,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -21311,7 +21312,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -21324,6 +21324,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -21399,7 +21400,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -21412,6 +21412,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -21482,7 +21483,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -21495,6 +21495,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -21565,7 +21566,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -21578,6 +21578,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "pathkit",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -21630,7 +21631,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "pathkit.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -21643,6 +21643,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "canvaskit",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -21695,7 +21696,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "canvaskit.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -21708,6 +21708,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "pathkit",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -21760,13 +21761,13 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "pathkit.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
       ]
     },
     "Perf-Debian10-EMCC-GCE-CPU-AVX2-wasm-Release-All-Puppeteer_CanvasPerf": {
+      "casSpec": "puppeteer",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -21831,13 +21832,13 @@
       },
       "execution_timeout_ns": 3600000000000,
       "io_timeout_ns": 3600000000000,
-      "isolate": "perf_puppeteer.isolate",
       "outputs": [
         "perf"
       ],
       "service_account": "skia-external-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com"
     },
     "Perf-Debian10-EMCC-GCE-CPU-AVX2-wasm-Release-All-Puppeteer_RenderSKP": {
+      "casSpec": "puppeteer",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -21904,13 +21905,13 @@
       },
       "execution_timeout_ns": 3600000000000,
       "io_timeout_ns": 3600000000000,
-      "isolate": "perf_puppeteer.isolate",
       "outputs": [
         "perf"
       ],
       "service_account": "skia-external-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com"
     },
     "Perf-Debian10-EMCC-GCE-CPU-AVX2-wasm-Release-All-Puppeteer_SkottieFrames": {
+      "casSpec": "puppeteer",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -21977,7 +21978,6 @@
       },
       "execution_timeout_ns": 3600000000000,
       "io_timeout_ns": 3600000000000,
-      "isolate": "perf_puppeteer.isolate",
       "outputs": [
         "perf"
       ],
@@ -21990,6 +21990,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "canvaskit",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -22042,7 +22043,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "canvaskit.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -22055,6 +22055,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "lottie-web",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -22130,7 +22131,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "lottie_web.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -22143,6 +22143,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -22208,7 +22209,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -22221,6 +22221,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -22286,7 +22287,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -22299,6 +22299,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -22364,7 +22365,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -22377,6 +22377,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -22442,7 +22443,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -22455,6 +22455,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -22520,7 +22521,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -22533,6 +22533,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -22599,7 +22600,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -22612,6 +22612,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -22678,7 +22679,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -22691,6 +22691,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -22756,7 +22757,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -22769,6 +22769,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -22834,7 +22835,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -22847,6 +22847,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -22912,7 +22913,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -22925,6 +22925,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -22995,7 +22996,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 1,
       "outputs": [
         "perf"
@@ -23008,6 +23008,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -23073,7 +23074,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -23086,6 +23086,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -23156,7 +23157,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 1,
       "outputs": [
         "perf"
@@ -23169,6 +23169,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -23240,7 +23241,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 32400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 1,
       "outputs": [
         "perf"
@@ -23253,6 +23253,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -23323,13 +23324,13 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
       ]
     },
     "Perf-Ubuntu18-EMCC-Golo-GPU-QuadroP400-wasm-Release-All-Puppeteer_CanvasPerf_WebGL1": {
+      "casSpec": "puppeteer",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -23393,13 +23394,13 @@
       },
       "execution_timeout_ns": 3600000000000,
       "io_timeout_ns": 3600000000000,
-      "isolate": "perf_puppeteer.isolate",
       "outputs": [
         "perf"
       ],
       "service_account": "skia-external-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com"
     },
     "Perf-Ubuntu18-EMCC-Golo-GPU-QuadroP400-wasm-Release-All-Puppeteer_CanvasPerf_WebGL2": {
+      "casSpec": "puppeteer",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -23463,13 +23464,13 @@
       },
       "execution_timeout_ns": 3600000000000,
       "io_timeout_ns": 3600000000000,
-      "isolate": "perf_puppeteer.isolate",
       "outputs": [
         "perf"
       ],
       "service_account": "skia-external-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com"
     },
     "Perf-Ubuntu18-EMCC-Golo-GPU-QuadroP400-wasm-Release-All-Puppeteer_RenderSKP_WebGL1": {
+      "casSpec": "puppeteer",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -23535,13 +23536,13 @@
       },
       "execution_timeout_ns": 3600000000000,
       "io_timeout_ns": 3600000000000,
-      "isolate": "perf_puppeteer.isolate",
       "outputs": [
         "perf"
       ],
       "service_account": "skia-external-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com"
     },
     "Perf-Ubuntu18-EMCC-Golo-GPU-QuadroP400-wasm-Release-All-Puppeteer_RenderSKP_WebGL2": {
+      "casSpec": "puppeteer",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -23607,13 +23608,13 @@
       },
       "execution_timeout_ns": 3600000000000,
       "io_timeout_ns": 3600000000000,
-      "isolate": "perf_puppeteer.isolate",
       "outputs": [
         "perf"
       ],
       "service_account": "skia-external-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com"
     },
     "Perf-Ubuntu18-EMCC-Golo-GPU-QuadroP400-wasm-Release-All-Puppeteer_SkottieFrames_WebGL1": {
+      "casSpec": "puppeteer",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -23679,13 +23680,13 @@
       },
       "execution_timeout_ns": 3600000000000,
       "io_timeout_ns": 3600000000000,
-      "isolate": "perf_puppeteer.isolate",
       "outputs": [
         "perf"
       ],
       "service_account": "skia-external-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com"
     },
     "Perf-Ubuntu18-EMCC-Golo-GPU-QuadroP400-wasm-Release-All-Puppeteer_SkottieFrames_WebGL2": {
+      "casSpec": "puppeteer",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -23751,7 +23752,6 @@
       },
       "execution_timeout_ns": 3600000000000,
       "io_timeout_ns": 3600000000000,
-      "isolate": "perf_puppeteer.isolate",
       "outputs": [
         "perf"
       ],
@@ -23764,6 +23764,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "skottie-wasm",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -23839,7 +23840,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "skottie_wasm.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -23852,6 +23852,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "lottie-web",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -23926,7 +23927,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "lottie_web.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -23939,6 +23939,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -24009,7 +24010,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -24022,6 +24022,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -24092,7 +24093,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -24105,6 +24105,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -24175,7 +24176,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -24188,6 +24188,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -24258,7 +24259,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -24271,6 +24271,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -24341,7 +24342,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -24354,6 +24354,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "skpbench",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -24419,7 +24420,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "skpbench_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -24432,6 +24432,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -24502,7 +24503,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -24515,6 +24515,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "skpbench",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -24580,7 +24581,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "skpbench_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -24593,6 +24593,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "skpbench",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -24658,7 +24659,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "skpbench_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -24671,6 +24671,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -24741,7 +24742,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -24754,6 +24754,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -24824,7 +24825,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -24837,6 +24837,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -24907,7 +24908,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -24920,6 +24920,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -24990,7 +24991,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -25003,6 +25003,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -25073,7 +25074,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -25086,6 +25086,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -25156,7 +25157,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -25169,6 +25169,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -25239,7 +25240,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -25252,6 +25252,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -25322,7 +25323,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -25335,6 +25335,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -25405,7 +25406,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -25418,6 +25418,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -25488,7 +25489,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -25501,6 +25501,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -25571,7 +25572,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -25584,6 +25584,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -25654,7 +25655,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -25667,6 +25667,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -25737,7 +25738,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -25750,6 +25750,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -25820,7 +25821,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -25833,6 +25833,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -25903,7 +25904,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -25916,6 +25916,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -25986,7 +25987,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -25999,6 +25999,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -26069,7 +26070,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -26082,6 +26082,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -26152,7 +26153,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -26165,6 +26165,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -26235,7 +26236,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -26248,6 +26248,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -26318,7 +26319,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -26331,6 +26331,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -26401,7 +26402,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -26414,6 +26414,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -26485,7 +26486,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 1,
       "outputs": [
         "perf"
@@ -26498,6 +26498,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -26569,7 +26570,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 1,
       "outputs": [
         "perf"
@@ -26582,6 +26582,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -26653,7 +26654,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -26666,6 +26666,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -26725,7 +26726,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -26738,6 +26738,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -26797,7 +26798,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -26810,6 +26810,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -26869,7 +26870,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -26882,6 +26882,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -26941,7 +26942,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -26954,6 +26954,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -27013,7 +27014,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -27026,6 +27026,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -27085,7 +27086,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -27098,6 +27098,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -27157,7 +27158,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -27170,6 +27170,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -27229,7 +27230,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -27242,6 +27242,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -27301,7 +27302,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -27314,6 +27314,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "perf",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -27373,7 +27374,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "perf_skia_bundled.isolate",
       "max_attempts": 2,
       "outputs": [
         "perf"
@@ -27386,6 +27386,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -27440,7 +27441,6 @@
         "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"
@@ -27453,6 +27453,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -27507,7 +27508,6 @@
         "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"
@@ -27520,6 +27520,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -27574,7 +27575,6 @@
         "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"
@@ -27587,6 +27587,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -27641,7 +27642,6 @@
         "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"
@@ -27654,6 +27654,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -27708,7 +27709,6 @@
         "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"
@@ -27721,6 +27721,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -27775,7 +27776,6 @@
         "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"
@@ -27788,6 +27788,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -27842,7 +27843,6 @@
         "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"
@@ -27855,6 +27855,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -27909,7 +27910,6 @@
         "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"
@@ -27922,6 +27922,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -27976,7 +27977,6 @@
         "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"
@@ -27989,6 +27989,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -28043,7 +28044,6 @@
         "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"
@@ -28056,6 +28056,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -28110,7 +28111,6 @@
         "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"
@@ -28123,6 +28123,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -28177,7 +28178,6 @@
         "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"
@@ -28190,6 +28190,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -28244,7 +28245,6 @@
         "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"
@@ -28257,6 +28257,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -28311,7 +28312,6 @@
         "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"
@@ -28324,6 +28324,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -28378,7 +28379,6 @@
         "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"
@@ -28391,6 +28391,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -28445,7 +28446,6 @@
         "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"
@@ -28458,6 +28458,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -28512,7 +28513,6 @@
         "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"
@@ -28525,6 +28525,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -28579,7 +28580,6 @@
         "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"
@@ -28592,6 +28592,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -28646,7 +28647,6 @@
         "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"
@@ -28659,6 +28659,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -28713,7 +28714,6 @@
         "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"
@@ -28726,6 +28726,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -28780,7 +28781,6 @@
         "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"
@@ -28793,6 +28793,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -28847,7 +28848,6 @@
         "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"
@@ -28860,6 +28860,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -28914,7 +28915,6 @@
         "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"
@@ -28927,6 +28927,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -28981,7 +28982,6 @@
         "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"
@@ -28994,6 +28994,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -29048,7 +29049,6 @@
         "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"
@@ -29061,6 +29061,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -29115,7 +29116,6 @@
         "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"
@@ -29128,6 +29128,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -29182,7 +29183,6 @@
         "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"
@@ -29195,6 +29195,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -29249,7 +29250,6 @@
         "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"
@@ -29262,6 +29262,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -29316,7 +29317,6 @@
         "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"
@@ -29329,6 +29329,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -29383,7 +29384,6 @@
         "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"
@@ -29396,6 +29396,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -29450,7 +29451,6 @@
         "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"
@@ -29463,6 +29463,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -29517,7 +29518,6 @@
         "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"
@@ -29530,6 +29530,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -29584,7 +29585,6 @@
         "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"
@@ -29597,6 +29597,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -29651,7 +29652,6 @@
         "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"
@@ -29664,6 +29664,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -29718,7 +29719,6 @@
         "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"
@@ -29731,6 +29731,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -29785,7 +29786,6 @@
         "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"
@@ -29798,6 +29798,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -29853,7 +29854,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "test_skia_bundled.isolate",
       "max_attempts": 1,
       "outputs": [
         "test"
@@ -29866,6 +29866,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -29920,7 +29921,6 @@
         "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"
@@ -29933,6 +29933,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -29988,7 +29989,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "test_skia_bundled.isolate",
       "max_attempts": 1,
       "outputs": [
         "test"
@@ -30001,6 +30001,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -30055,7 +30056,6 @@
         "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"
@@ -30068,6 +30068,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -30122,7 +30123,6 @@
         "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"
@@ -30135,6 +30135,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -30189,7 +30190,6 @@
         "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"
@@ -30202,6 +30202,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -30256,7 +30257,6 @@
         "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"
@@ -30269,6 +30269,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -30323,7 +30324,6 @@
         "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"
@@ -30336,6 +30336,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -30390,7 +30391,6 @@
         "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"
@@ -30403,6 +30403,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -30457,7 +30458,6 @@
         "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"
@@ -30470,6 +30470,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -30524,7 +30525,6 @@
         "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"
@@ -30537,6 +30537,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -30591,7 +30592,6 @@
         "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"
@@ -30604,6 +30604,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -30658,7 +30659,6 @@
         "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"
@@ -30671,6 +30671,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -30725,7 +30726,6 @@
         "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"
@@ -30738,6 +30738,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -30792,7 +30793,6 @@
         "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"
@@ -30805,6 +30805,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -30859,7 +30860,6 @@
         "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"
@@ -30872,6 +30872,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -30926,7 +30927,6 @@
         "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"
@@ -30939,6 +30939,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -30993,7 +30994,6 @@
         "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"
@@ -31006,6 +31006,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -31060,7 +31061,6 @@
         "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"
@@ -31073,6 +31073,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -31127,7 +31128,6 @@
         "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"
@@ -31140,6 +31140,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -31194,7 +31195,6 @@
         "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"
@@ -31207,6 +31207,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -31261,7 +31262,6 @@
         "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"
@@ -31274,6 +31274,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -31328,7 +31329,6 @@
         "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"
@@ -31341,6 +31341,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -31395,7 +31396,6 @@
         "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"
@@ -31408,6 +31408,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -31462,7 +31463,6 @@
         "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"
@@ -31475,6 +31475,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -31529,7 +31530,6 @@
         "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"
@@ -31542,6 +31542,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -31596,7 +31597,6 @@
         "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"
@@ -31609,6 +31609,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -31663,7 +31664,6 @@
         "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"
@@ -31676,6 +31676,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -31730,7 +31731,6 @@
         "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"
@@ -31743,6 +31743,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -31797,7 +31798,6 @@
         "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"
@@ -31810,6 +31810,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -31864,7 +31865,6 @@
         "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"
@@ -31877,6 +31877,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -31931,7 +31932,6 @@
         "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"
@@ -31944,6 +31944,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -31998,7 +31999,6 @@
         "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"
@@ -32011,6 +32011,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -32065,7 +32066,6 @@
         "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"
@@ -32078,6 +32078,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -32132,7 +32133,6 @@
         "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"
@@ -32145,6 +32145,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -32199,7 +32200,6 @@
         "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"
@@ -32212,6 +32212,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -32266,7 +32267,6 @@
         "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"
@@ -32279,6 +32279,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -32333,7 +32334,6 @@
         "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"
@@ -32346,6 +32346,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -32400,7 +32401,6 @@
         "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"
@@ -32413,6 +32413,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -32467,7 +32468,6 @@
         "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"
@@ -32480,6 +32480,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -32546,7 +32547,6 @@
         "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"
@@ -32559,6 +32559,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -32625,7 +32626,6 @@
         "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"
@@ -32638,6 +32638,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -32704,7 +32705,6 @@
         "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"
@@ -32717,6 +32717,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -32783,7 +32784,6 @@
         "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"
@@ -32796,6 +32796,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -32862,7 +32863,6 @@
         "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"
@@ -32875,6 +32875,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -32941,7 +32942,6 @@
         "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"
@@ -32954,6 +32954,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -33020,7 +33021,6 @@
         "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"
@@ -33033,6 +33033,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -33099,7 +33100,6 @@
         "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"
@@ -33112,6 +33112,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -33178,7 +33179,6 @@
         "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"
@@ -33191,6 +33191,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -33257,7 +33258,6 @@
         "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"
@@ -33270,6 +33270,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -33336,7 +33337,6 @@
         "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"
@@ -33349,6 +33349,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -33415,7 +33416,6 @@
         "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"
@@ -33428,6 +33428,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -33494,7 +33495,6 @@
         "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"
@@ -33507,6 +33507,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -33573,7 +33574,6 @@
         "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"
@@ -33586,6 +33586,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -33652,7 +33653,6 @@
         "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"
@@ -33665,6 +33665,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -33731,7 +33732,6 @@
         "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"
@@ -33744,6 +33744,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -33809,7 +33810,6 @@
         "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"
@@ -33822,6 +33822,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -33887,7 +33888,6 @@
         "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"
@@ -33900,6 +33900,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -33965,7 +33966,6 @@
         "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"
@@ -33978,6 +33978,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -34043,7 +34044,6 @@
         "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"
@@ -34056,6 +34056,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -34122,7 +34123,6 @@
         "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"
@@ -34135,6 +34135,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -34206,7 +34207,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 32400000000000,
-      "isolate": "test_skia_bundled.isolate",
       "max_attempts": 1,
       "outputs": [
         "test"
@@ -34219,6 +34219,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -34285,7 +34286,6 @@
         "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"
@@ -34298,6 +34298,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -34368,7 +34369,6 @@
         "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"
@@ -34381,6 +34381,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -34456,7 +34457,6 @@
         "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"
@@ -34469,6 +34469,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -34539,7 +34540,6 @@
         "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"
@@ -34552,6 +34552,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -34627,7 +34628,6 @@
         "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"
@@ -34640,6 +34640,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "skqp",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -34707,7 +34708,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "skqp.isolate",
       "max_attempts": 2,
       "outputs": [
         "test"
@@ -34720,6 +34720,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -34790,7 +34791,6 @@
         "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"
@@ -34803,6 +34803,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -34883,7 +34884,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "test_skia_bundled.isolate",
       "max_attempts": 1,
       "outputs": [
         "test"
@@ -34896,6 +34896,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -34976,7 +34977,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "test_skia_bundled.isolate",
       "max_attempts": 1,
       "outputs": [
         "test"
@@ -34989,6 +34989,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -35059,7 +35060,6 @@
         "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"
@@ -35072,6 +35072,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -35147,7 +35148,6 @@
         "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"
@@ -35160,6 +35160,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -35235,7 +35236,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "test_skia_bundled.isolate",
       "max_attempts": 1,
       "outputs": [
         "test"
@@ -35248,6 +35248,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -35328,7 +35329,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "test_skia_bundled.isolate",
       "max_attempts": 1,
       "outputs": [
         "test"
@@ -35341,6 +35341,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -35416,7 +35417,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "test_skia_bundled.isolate",
       "max_attempts": 1,
       "outputs": [
         "test"
@@ -35429,6 +35429,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -35509,7 +35510,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "test_skia_bundled.isolate",
       "max_attempts": 1,
       "outputs": [
         "test"
@@ -35522,6 +35522,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -35602,7 +35603,6 @@
         "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"
@@ -35615,6 +35615,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -35685,7 +35686,6 @@
         "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"
@@ -35698,6 +35698,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -35773,7 +35774,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "test_skia_bundled.isolate",
       "max_attempts": 1,
       "outputs": [
         "test"
@@ -35786,6 +35786,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -35866,7 +35867,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "test_skia_bundled.isolate",
       "max_attempts": 1,
       "outputs": [
         "test"
@@ -35879,6 +35879,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -35954,7 +35955,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "test_skia_bundled.isolate",
       "max_attempts": 1,
       "outputs": [
         "test"
@@ -35967,6 +35967,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -36047,7 +36048,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "test_skia_bundled.isolate",
       "max_attempts": 1,
       "outputs": [
         "test"
@@ -36060,6 +36060,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -36135,7 +36136,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "test_skia_bundled.isolate",
       "max_attempts": 1,
       "outputs": [
         "test"
@@ -36148,6 +36148,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -36223,7 +36224,6 @@
         "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"
@@ -36236,6 +36236,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -36306,7 +36307,6 @@
         "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"
@@ -36319,6 +36319,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -36389,7 +36390,6 @@
         "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"
@@ -36402,6 +36402,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -36472,7 +36473,6 @@
         "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"
@@ -36485,6 +36485,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -36555,7 +36556,6 @@
         "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"
@@ -36568,6 +36568,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "pathkit",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -36620,7 +36621,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "pathkit.isolate",
       "max_attempts": 2,
       "outputs": [
         "test"
@@ -36633,6 +36633,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "canvaskit",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -36685,7 +36686,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "canvaskit.isolate",
       "max_attempts": 2,
       "outputs": [
         "test"
@@ -36698,6 +36698,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "pathkit",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -36750,7 +36751,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "pathkit.isolate",
       "max_attempts": 2,
       "outputs": [
         "test"
@@ -36763,6 +36763,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "canvaskit",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -36815,7 +36816,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "canvaskit.isolate",
       "max_attempts": 2,
       "outputs": [
         "test"
@@ -36828,6 +36828,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -36895,7 +36896,6 @@
         "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"
@@ -36908,6 +36908,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -36975,7 +36976,6 @@
         "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"
@@ -36988,6 +36988,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -37055,7 +37056,6 @@
         "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"
@@ -37068,6 +37068,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -37135,7 +37136,6 @@
         "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"
@@ -37148,6 +37148,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -37213,7 +37214,6 @@
         "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"
@@ -37226,6 +37226,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -37291,7 +37292,6 @@
         "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"
@@ -37304,6 +37304,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -37369,7 +37370,6 @@
         "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"
@@ -37382,6 +37382,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -37447,7 +37448,6 @@
         "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"
@@ -37460,6 +37460,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -37525,7 +37526,6 @@
         "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"
@@ -37538,6 +37538,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -37603,7 +37604,6 @@
         "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"
@@ -37616,6 +37616,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -37681,7 +37682,6 @@
         "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"
@@ -37694,6 +37694,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -37759,7 +37760,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "test_skia_bundled.isolate",
       "max_attempts": 1,
       "outputs": [
         "test"
@@ -37772,6 +37772,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -37837,7 +37838,6 @@
         "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"
@@ -37850,6 +37850,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -37915,7 +37916,6 @@
         "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"
@@ -37928,6 +37928,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -37993,7 +37994,6 @@
         "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"
@@ -38006,6 +38006,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -38071,7 +38072,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "test_skia_bundled.isolate",
       "max_attempts": 1,
       "outputs": [
         "test"
@@ -38084,6 +38084,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -38150,7 +38151,6 @@
         "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"
@@ -38163,6 +38163,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -38229,7 +38230,6 @@
         "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"
@@ -38242,6 +38242,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -38308,7 +38309,6 @@
         "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"
@@ -38321,6 +38321,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -38386,7 +38387,6 @@
         "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"
@@ -38399,6 +38399,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -38464,7 +38465,6 @@
         "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"
@@ -38477,6 +38477,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -38542,7 +38543,6 @@
         "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"
@@ -38555,6 +38555,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -38620,7 +38621,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "test_skia_bundled.isolate",
       "max_attempts": 1,
       "outputs": [
         "test"
@@ -38633,6 +38633,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -38698,7 +38699,6 @@
         "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"
@@ -38711,6 +38711,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -38776,7 +38777,6 @@
         "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"
@@ -38789,6 +38789,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -38854,7 +38855,6 @@
         "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"
@@ -38867,6 +38867,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -38932,7 +38933,6 @@
         "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"
@@ -38945,6 +38945,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -39010,7 +39011,6 @@
         "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"
@@ -39023,6 +39023,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -39088,7 +39089,6 @@
         "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"
@@ -39101,6 +39101,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -39166,7 +39167,6 @@
         "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"
@@ -39179,6 +39179,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -39244,7 +39245,6 @@
         "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"
@@ -39257,6 +39257,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -39322,7 +39323,6 @@
         "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"
@@ -39335,6 +39335,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -39400,7 +39401,6 @@
         "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"
@@ -39413,6 +39413,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -39478,7 +39479,6 @@
         "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"
@@ -39491,6 +39491,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -39556,7 +39557,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "test_skia_bundled.isolate",
       "max_attempts": 1,
       "outputs": [
         "test"
@@ -39569,6 +39569,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -39634,7 +39635,6 @@
         "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"
@@ -39647,6 +39647,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -39717,7 +39718,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "test_skia_bundled.isolate",
       "max_attempts": 1,
       "outputs": [
         "test"
@@ -39730,6 +39730,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -39795,7 +39796,6 @@
         "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"
@@ -39808,6 +39808,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -39878,7 +39879,6 @@
         "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"
@@ -39891,6 +39891,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -39961,7 +39962,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "test_skia_bundled.isolate",
       "max_attempts": 1,
       "outputs": [
         "test"
@@ -39974,6 +39974,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -40044,7 +40045,6 @@
         "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"
@@ -40057,6 +40057,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -40127,7 +40128,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "test_skia_bundled.isolate",
       "max_attempts": 1,
       "outputs": [
         "test"
@@ -40140,6 +40140,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -40210,7 +40211,6 @@
         "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"
@@ -40223,6 +40223,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -40288,7 +40289,6 @@
         "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"
@@ -40301,6 +40301,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -40371,7 +40372,6 @@
         "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"
@@ -40384,6 +40384,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -40449,7 +40450,6 @@
         "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"
@@ -40462,6 +40462,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -40532,7 +40533,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "test_skia_bundled.isolate",
       "max_attempts": 1,
       "outputs": [
         "test"
@@ -40545,6 +40545,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -40620,7 +40621,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "test_skia_bundled.isolate",
       "max_attempts": 1,
       "outputs": [
         "test"
@@ -40633,6 +40633,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -40703,7 +40704,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "test_skia_bundled.isolate",
       "max_attempts": 1,
       "outputs": [
         "test"
@@ -40716,6 +40716,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -40791,7 +40792,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "test_skia_bundled.isolate",
       "max_attempts": 1,
       "outputs": [
         "test"
@@ -40804,6 +40804,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -40869,7 +40870,6 @@
         "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"
@@ -40882,6 +40882,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -40957,7 +40958,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 14400000000000,
-      "isolate": "test_skia_bundled.isolate",
       "max_attempts": 1,
       "outputs": [
         "test"
@@ -40970,6 +40970,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -41041,7 +41042,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 32400000000000,
-      "isolate": "test_skia_bundled.isolate",
       "max_attempts": 1,
       "outputs": [
         "test"
@@ -41054,6 +41054,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -41125,7 +41126,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 32400000000000,
-      "isolate": "test_skia_bundled.isolate",
       "max_attempts": 1,
       "outputs": [
         "test"
@@ -41138,6 +41138,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -41209,7 +41210,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
       },
       "io_timeout_ns": 32400000000000,
-      "isolate": "test_skia_bundled.isolate",
       "max_attempts": 1,
       "outputs": [
         "test"
@@ -41222,6 +41222,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -41292,13 +41293,13 @@
         "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-Ubuntu18-EMCC-Golo-GPU-QuadroP400-wasm-Release-All-WasmGMTests_WebGL2": {
+      "casSpec": "wasm-gm",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -41382,7 +41383,6 @@
       },
       "execution_timeout_ns": 3600000000000,
       "io_timeout_ns": 3600000000000,
-      "isolate": "wasm_gm_tests.isolate",
       "max_attempts": 1,
       "service_account": "skia-external-gm-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -41393,6 +41393,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -41463,7 +41464,6 @@
         "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"
@@ -41476,6 +41476,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -41546,7 +41547,6 @@
         "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"
@@ -41559,6 +41559,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -41629,7 +41630,6 @@
         "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"
@@ -41642,6 +41642,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -41712,7 +41713,6 @@
         "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"
@@ -41725,6 +41725,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -41795,7 +41796,6 @@
         "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"
@@ -41808,6 +41808,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -41878,7 +41879,6 @@
         "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"
@@ -41891,6 +41891,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -41961,7 +41962,6 @@
         "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"
@@ -41974,6 +41974,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -42044,7 +42045,6 @@
         "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"
@@ -42057,6 +42057,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -42127,7 +42128,6 @@
         "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"
@@ -42140,6 +42140,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -42210,7 +42211,6 @@
         "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"
@@ -42223,6 +42223,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -42293,7 +42294,6 @@
         "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"
@@ -42306,6 +42306,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -42376,7 +42377,6 @@
         "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"
@@ -42389,6 +42389,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -42459,7 +42460,6 @@
         "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"
@@ -42472,6 +42472,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -42542,7 +42543,6 @@
         "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"
@@ -42555,6 +42555,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -42630,7 +42631,6 @@
         "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"
@@ -42643,6 +42643,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -42713,7 +42714,6 @@
         "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"
@@ -42726,6 +42726,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -42796,7 +42797,6 @@
         "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"
@@ -42809,6 +42809,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -42879,7 +42880,6 @@
         "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"
@@ -42892,6 +42892,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -42962,7 +42963,6 @@
         "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"
@@ -42975,6 +42975,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -43045,7 +43046,6 @@
         "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"
@@ -43058,6 +43058,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -43133,7 +43134,6 @@
         "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"
@@ -43146,6 +43146,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -43216,7 +43217,6 @@
         "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"
@@ -43229,6 +43229,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -43299,7 +43300,6 @@
         "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"
@@ -43312,6 +43312,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -43382,7 +43383,6 @@
         "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"
@@ -43395,6 +43395,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -43465,7 +43466,6 @@
         "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"
@@ -43478,6 +43478,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -43548,7 +43549,6 @@
         "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"
@@ -43561,6 +43561,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -43631,7 +43632,6 @@
         "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"
@@ -43644,6 +43644,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -43714,7 +43715,6 @@
         "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"
@@ -43727,6 +43727,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -43797,7 +43798,6 @@
         "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"
@@ -43810,6 +43810,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -43880,7 +43881,6 @@
         "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"
@@ -43893,6 +43893,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -43963,7 +43964,6 @@
         "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"
@@ -43976,6 +43976,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -44046,7 +44047,6 @@
         "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"
@@ -44059,6 +44059,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -44129,7 +44130,6 @@
         "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"
@@ -44142,6 +44142,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -44212,7 +44213,6 @@
         "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"
@@ -44225,6 +44225,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -44295,7 +44296,6 @@
         "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"
@@ -44308,6 +44308,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -44378,7 +44379,6 @@
         "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"
@@ -44391,6 +44391,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -44461,7 +44462,6 @@
         "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"
@@ -44474,6 +44474,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -44544,7 +44545,6 @@
         "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"
@@ -44557,6 +44557,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -44627,7 +44628,6 @@
         "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"
@@ -44640,6 +44640,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -44710,7 +44711,6 @@
         "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"
@@ -44723,6 +44723,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -44793,7 +44794,6 @@
         "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"
@@ -44806,6 +44806,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -44876,7 +44877,6 @@
         "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"
@@ -44889,6 +44889,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -44959,7 +44960,6 @@
         "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"
@@ -44972,6 +44972,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -45042,7 +45043,6 @@
         "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"
@@ -45055,6 +45055,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -45125,7 +45126,6 @@
         "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"
@@ -45138,6 +45138,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -45208,7 +45209,6 @@
         "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"
@@ -45221,6 +45221,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -45291,7 +45292,6 @@
         "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"
@@ -45304,6 +45304,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -45374,7 +45375,6 @@
         "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"
@@ -45387,6 +45387,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -45457,7 +45458,6 @@
         "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"
@@ -45470,6 +45470,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -45540,7 +45541,6 @@
         "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"
@@ -45553,6 +45553,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -45623,7 +45624,6 @@
         "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"
@@ -45636,6 +45636,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -45706,7 +45707,6 @@
         "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"
@@ -45719,6 +45719,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -45789,7 +45790,6 @@
         "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"
@@ -45802,6 +45802,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -45872,7 +45873,6 @@
         "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"
@@ -45885,6 +45885,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -45955,7 +45956,6 @@
         "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"
@@ -45968,6 +45968,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -46038,7 +46039,6 @@
         "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"
@@ -46051,6 +46051,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -46121,7 +46122,6 @@
         "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"
@@ -46134,6 +46134,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -46204,7 +46205,6 @@
         "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"
@@ -46217,6 +46217,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -46287,7 +46288,6 @@
         "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"
@@ -46300,6 +46300,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -46370,7 +46371,6 @@
         "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"
@@ -46383,6 +46383,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -46453,7 +46454,6 @@
         "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"
@@ -46466,6 +46466,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -46536,7 +46537,6 @@
         "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"
@@ -46549,6 +46549,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -46619,7 +46620,6 @@
         "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"
@@ -46632,6 +46632,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -46702,7 +46703,6 @@
         "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"
@@ -46715,6 +46715,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -46785,7 +46786,6 @@
         "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"
@@ -46798,6 +46798,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -46868,7 +46869,6 @@
         "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"
@@ -46881,6 +46881,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -46951,7 +46952,6 @@
         "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"
@@ -46964,6 +46964,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -47034,7 +47035,6 @@
         "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"
@@ -47047,6 +47047,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -47117,7 +47118,6 @@
         "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"
@@ -47130,6 +47130,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -47200,7 +47201,6 @@
         "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"
@@ -47213,6 +47213,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -47283,7 +47284,6 @@
         "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"
@@ -47296,6 +47296,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -47361,7 +47362,6 @@
         "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"
@@ -47374,6 +47374,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -47439,7 +47440,6 @@
         "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"
@@ -47452,6 +47452,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-386",
@@ -47523,7 +47524,6 @@
         "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"
@@ -47536,6 +47536,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-386",
@@ -47607,7 +47608,6 @@
         "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"
@@ -47620,6 +47620,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -47691,7 +47692,6 @@
         "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"
@@ -47704,6 +47704,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -47775,7 +47776,6 @@
         "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"
@@ -47788,6 +47788,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -47859,7 +47860,6 @@
         "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"
@@ -47872,6 +47872,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-386",
@@ -47943,7 +47944,6 @@
         "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"
@@ -47956,6 +47956,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-386",
@@ -48027,7 +48028,6 @@
         "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"
@@ -48040,6 +48040,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -48111,7 +48112,6 @@
         "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"
@@ -48124,6 +48124,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -48195,7 +48196,6 @@
         "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"
@@ -48208,6 +48208,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -48279,7 +48280,6 @@
         "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"
@@ -48292,6 +48292,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -48363,7 +48364,6 @@
         "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"
@@ -48376,6 +48376,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-386",
@@ -48446,7 +48447,6 @@
         "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"
@@ -48459,6 +48459,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-386",
@@ -48529,7 +48530,6 @@
         "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"
@@ -48542,6 +48542,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -48612,7 +48613,6 @@
         "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"
@@ -48625,6 +48625,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -48695,7 +48696,6 @@
         "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"
@@ -48708,6 +48708,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -48778,7 +48779,6 @@
         "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"
@@ -48791,6 +48791,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -48861,7 +48862,6 @@
         "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"
@@ -48874,6 +48874,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-386",
@@ -48944,7 +48945,6 @@
         "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"
@@ -48957,6 +48957,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-386",
@@ -49027,7 +49028,6 @@
         "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"
@@ -49040,6 +49040,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -49110,7 +49111,6 @@
         "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"
@@ -49123,6 +49123,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/windows-amd64",
@@ -49193,7 +49194,6 @@
         "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"
@@ -49206,6 +49206,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -49265,7 +49266,6 @@
         "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"
@@ -49278,6 +49278,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -49337,7 +49338,6 @@
         "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"
@@ -49350,6 +49350,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -49409,7 +49410,6 @@
         "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"
@@ -49422,6 +49422,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -49481,7 +49482,6 @@
         "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"
@@ -49494,6 +49494,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -49553,7 +49554,6 @@
         "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"
@@ -49566,6 +49566,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -49625,7 +49626,6 @@
         "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"
@@ -49638,6 +49638,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -49697,7 +49698,6 @@
         "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"
@@ -49710,6 +49710,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -49769,7 +49770,6 @@
         "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"
@@ -49782,6 +49782,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -49841,7 +49842,6 @@
         "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"
@@ -49854,6 +49854,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -49913,7 +49914,6 @@
         "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"
@@ -49926,6 +49926,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -49985,7 +49986,6 @@
         "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"
@@ -49998,6 +49998,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -50057,7 +50058,6 @@
         "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"
@@ -50070,6 +50070,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -50129,7 +50130,6 @@
         "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"
@@ -50142,6 +50142,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -50201,7 +50202,6 @@
         "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"
@@ -50214,6 +50214,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -50273,7 +50274,6 @@
         "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"
@@ -50286,6 +50286,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -50345,7 +50346,6 @@
         "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"
@@ -50358,6 +50358,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -50417,7 +50418,6 @@
         "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"
@@ -50430,6 +50430,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -50489,7 +50490,6 @@
         "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"
@@ -50502,6 +50502,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -50561,7 +50562,6 @@
         "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"
@@ -50574,6 +50574,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "test",
       "cipd_packages": [
         {
           "name": "infra/tools/luci-auth/${platform}",
@@ -50633,7 +50634,6 @@
         "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"
@@ -50646,6 +50646,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -50702,7 +50703,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -50713,6 +50713,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -50769,7 +50770,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -50780,6 +50780,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -50836,7 +50837,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -50847,6 +50847,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -50903,7 +50904,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -50914,6 +50914,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -50970,7 +50971,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -50981,6 +50981,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -51037,7 +51038,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -51048,6 +51048,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -51104,7 +51105,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -51115,6 +51115,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -51171,7 +51172,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -51182,6 +51182,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -51238,7 +51239,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -51249,6 +51249,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -51305,7 +51306,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -51316,6 +51316,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -51372,7 +51373,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -51383,6 +51383,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -51439,7 +51440,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -51450,6 +51450,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -51506,7 +51507,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -51517,6 +51517,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -51573,7 +51574,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -51584,6 +51584,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -51640,7 +51641,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -51651,6 +51651,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -51707,7 +51708,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -51718,6 +51718,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -51774,7 +51775,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -51785,6 +51785,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -51841,7 +51842,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -51852,6 +51852,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -51908,7 +51909,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -51919,6 +51919,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -51975,7 +51976,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -51986,6 +51986,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -52042,7 +52043,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -52053,6 +52053,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -52109,7 +52110,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -52120,6 +52120,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -52176,7 +52177,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -52187,6 +52187,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -52243,7 +52244,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -52254,6 +52254,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -52310,7 +52311,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -52321,6 +52321,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -52377,7 +52378,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -52388,6 +52388,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -52444,7 +52445,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -52455,6 +52455,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -52511,7 +52512,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -52522,6 +52522,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -52578,7 +52579,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -52589,6 +52589,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -52645,7 +52646,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -52656,6 +52656,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -52712,7 +52713,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -52723,6 +52723,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -52779,7 +52780,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -52790,6 +52790,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -52846,7 +52847,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -52857,6 +52857,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -52913,7 +52914,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -52924,6 +52924,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -52980,7 +52981,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -52991,6 +52991,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -53047,7 +53048,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -53058,6 +53058,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -53114,7 +53115,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -53125,6 +53125,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -53181,7 +53182,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -53192,6 +53192,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -53248,7 +53249,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -53259,6 +53259,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -53315,7 +53316,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -53326,6 +53326,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -53382,7 +53383,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -53393,6 +53393,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -53449,7 +53450,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -53460,6 +53460,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -53516,7 +53517,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -53527,6 +53527,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -53583,7 +53584,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -53594,6 +53594,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -53650,7 +53651,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -53661,6 +53661,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -53717,7 +53718,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -53728,6 +53728,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -53784,7 +53785,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -53795,6 +53795,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -53851,7 +53852,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -53862,6 +53862,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -53918,7 +53919,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -53929,6 +53929,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -53985,7 +53986,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -53996,6 +53996,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -54052,7 +54053,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -54063,6 +54063,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -54119,7 +54120,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -54130,6 +54130,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -54186,7 +54187,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -54197,6 +54197,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -54253,7 +54254,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -54264,6 +54264,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -54320,7 +54321,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -54331,6 +54331,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -54387,7 +54388,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -54398,6 +54398,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -54454,7 +54455,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -54465,6 +54465,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -54521,7 +54522,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -54532,6 +54532,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -54588,7 +54589,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -54599,6 +54599,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -54655,7 +54656,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -54666,6 +54666,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -54722,7 +54723,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -54733,6 +54733,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -54789,7 +54790,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -54800,6 +54800,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -54856,7 +54857,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -54867,6 +54867,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -54923,7 +54924,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -54934,6 +54934,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -54990,7 +54991,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -55001,6 +55001,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -55057,7 +55058,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -55068,6 +55068,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -55124,7 +55125,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -55135,6 +55135,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -55191,7 +55192,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -55202,6 +55202,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -55258,7 +55259,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -55269,6 +55269,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -55325,7 +55326,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -55336,6 +55336,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -55392,7 +55393,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -55403,6 +55403,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -55459,7 +55460,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -55470,6 +55470,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -55526,7 +55527,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -55537,6 +55537,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -55593,7 +55594,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -55604,6 +55604,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -55660,7 +55661,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -55671,6 +55671,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -55727,7 +55728,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -55738,6 +55738,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -55794,7 +55795,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -55805,6 +55805,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -55861,7 +55862,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -55872,6 +55872,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -55928,7 +55929,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -55939,6 +55939,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -55995,7 +55996,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -56006,6 +56006,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -56062,7 +56063,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -56073,6 +56073,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -56129,7 +56130,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -56140,6 +56140,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -56196,7 +56197,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -56207,6 +56207,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -56263,7 +56264,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -56274,6 +56274,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -56330,7 +56331,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -56341,6 +56341,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -56397,7 +56398,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -56408,6 +56408,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -56464,7 +56465,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -56475,6 +56475,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -56531,7 +56532,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -56542,6 +56542,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -56598,7 +56599,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -56609,6 +56609,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -56665,7 +56666,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -56676,6 +56676,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -56732,7 +56733,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -56743,6 +56743,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -56799,7 +56800,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -56810,6 +56810,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -56866,7 +56867,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -56877,6 +56877,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -56933,7 +56934,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -56944,6 +56944,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -57000,7 +57001,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -57011,6 +57011,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/linux-amd64",
@@ -57072,7 +57073,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -57083,6 +57083,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/linux-amd64",
@@ -57144,7 +57145,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -57155,6 +57155,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/linux-amd64",
@@ -57216,7 +57217,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -57227,6 +57227,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/linux-amd64",
@@ -57288,7 +57289,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -57299,6 +57299,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/linux-amd64",
@@ -57360,7 +57361,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -57371,6 +57371,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/linux-amd64",
@@ -57432,7 +57433,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -57443,6 +57443,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/linux-amd64",
@@ -57504,7 +57505,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -57515,6 +57515,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/linux-amd64",
@@ -57576,7 +57577,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -57587,6 +57587,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/linux-amd64",
@@ -57648,7 +57649,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -57659,6 +57659,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/linux-amd64",
@@ -57720,7 +57721,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -57731,6 +57731,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/linux-amd64",
@@ -57792,7 +57793,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -57803,6 +57803,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/linux-amd64",
@@ -57864,7 +57865,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -57875,6 +57875,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/linux-amd64",
@@ -57936,7 +57937,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -57947,6 +57947,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/linux-amd64",
@@ -58008,7 +58009,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -58019,6 +58019,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/linux-amd64",
@@ -58080,7 +58081,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -58091,6 +58091,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/linux-amd64",
@@ -58152,7 +58153,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -58163,6 +58163,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/linux-amd64",
@@ -58224,7 +58225,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -58235,6 +58235,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/linux-amd64",
@@ -58296,7 +58297,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -58307,6 +58307,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/linux-amd64",
@@ -58368,7 +58369,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -58379,6 +58379,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/linux-amd64",
@@ -58440,7 +58441,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -58451,6 +58451,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/linux-amd64",
@@ -58512,7 +58513,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -58523,6 +58523,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/linux-amd64",
@@ -58584,7 +58585,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -58595,6 +58595,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/linux-amd64",
@@ -58656,7 +58657,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -58667,6 +58667,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/linux-amd64",
@@ -58728,7 +58729,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -58739,6 +58739,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/linux-amd64",
@@ -58800,7 +58801,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -58811,6 +58811,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/linux-amd64",
@@ -58872,7 +58873,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -58883,6 +58883,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/linux-amd64",
@@ -58944,7 +58945,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -58955,6 +58955,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/linux-amd64",
@@ -59016,7 +59017,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -59027,6 +59027,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/linux-amd64",
@@ -59088,7 +59089,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -59099,6 +59099,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/linux-amd64",
@@ -59160,7 +59161,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -59171,6 +59171,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/3pp/tools/cpython/linux-amd64",
@@ -59232,7 +59233,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -59243,6 +59243,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -59299,7 +59300,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -59310,6 +59310,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -59366,7 +59367,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -59377,6 +59377,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -59433,7 +59434,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -59444,6 +59444,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -59500,7 +59501,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -59511,6 +59511,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -59567,7 +59568,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -59578,6 +59578,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -59634,7 +59635,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -59645,6 +59645,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -59701,7 +59702,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -59712,6 +59712,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -59768,7 +59769,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -59779,6 +59779,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -59835,7 +59836,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -59846,6 +59846,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -59902,7 +59903,6 @@
         "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-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
     },
@@ -59913,6 +59913,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -59969,7 +59970,6 @@
         "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"
     },
@@ -59980,6 +59980,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -60036,7 +60037,6 @@
         "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"
     },
@@ -60047,6 +60047,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -60103,7 +60104,6 @@
         "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"
     },
@@ -60114,6 +60114,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -60170,7 +60171,6 @@
         "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"
     },
@@ -60181,6 +60181,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -60237,7 +60238,6 @@
         "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"
     },
@@ -60248,6 +60248,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -60304,7 +60305,6 @@
         "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"
     },
@@ -60315,6 +60315,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -60371,7 +60372,6 @@
         "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"
     },
@@ -60382,6 +60382,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -60438,7 +60439,6 @@
         "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"
     },
@@ -60449,6 +60449,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -60505,7 +60506,6 @@
         "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"
     },
@@ -60516,6 +60516,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -60572,7 +60573,6 @@
         "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"
     },
@@ -60583,6 +60583,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -60639,7 +60640,6 @@
         "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"
     },
@@ -60650,6 +60650,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -60706,7 +60707,6 @@
         "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"
     },
@@ -60717,6 +60717,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -60773,7 +60774,6 @@
         "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"
     },
@@ -60784,6 +60784,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -60840,7 +60841,6 @@
         "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"
     },
@@ -60851,6 +60851,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -60907,7 +60908,6 @@
         "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"
     },
@@ -60918,6 +60918,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -60974,7 +60975,6 @@
         "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"
     },
@@ -60985,6 +60985,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -61041,7 +61042,6 @@
         "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"
     },
@@ -61052,6 +61052,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -61108,7 +61109,6 @@
         "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"
     },
@@ -61119,6 +61119,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -61175,7 +61176,6 @@
         "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"
     },
@@ -61186,6 +61186,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -61242,7 +61243,6 @@
         "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"
     },
@@ -61253,6 +61253,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -61309,7 +61310,6 @@
         "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"
     },
@@ -61320,6 +61320,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -61376,7 +61377,6 @@
         "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"
     },
@@ -61387,6 +61387,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -61443,7 +61444,6 @@
         "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"
     },
@@ -61454,6 +61454,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -61510,7 +61511,6 @@
         "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"
     },
@@ -61521,6 +61521,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -61577,7 +61578,6 @@
         "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"
     },
@@ -61588,6 +61588,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -61644,7 +61645,6 @@
         "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"
     },
@@ -61655,6 +61655,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -61711,7 +61712,6 @@
         "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"
     },
@@ -61722,6 +61722,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -61778,7 +61779,6 @@
         "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"
     },
@@ -61789,6 +61789,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -61845,7 +61846,6 @@
         "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"
     },
@@ -61856,6 +61856,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -61912,7 +61913,6 @@
         "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"
     },
@@ -61923,6 +61923,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -61979,7 +61980,6 @@
         "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"
     },
@@ -61990,6 +61990,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -62046,7 +62047,6 @@
         "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"
     },
@@ -62057,6 +62057,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -62113,7 +62114,6 @@
         "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"
     },
@@ -62124,6 +62124,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -62180,7 +62181,6 @@
         "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"
     },
@@ -62191,6 +62191,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -62247,7 +62248,6 @@
         "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"
     },
@@ -62258,6 +62258,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -62314,7 +62315,6 @@
         "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"
     },
@@ -62325,6 +62325,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -62381,7 +62382,6 @@
         "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"
     },
@@ -62392,6 +62392,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -62448,7 +62449,6 @@
         "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"
     },
@@ -62459,6 +62459,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -62515,7 +62516,6 @@
         "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"
     },
@@ -62526,6 +62526,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -62582,7 +62583,6 @@
         "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"
     },
@@ -62593,6 +62593,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -62649,7 +62650,6 @@
         "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"
     },
@@ -62660,6 +62660,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -62716,7 +62717,6 @@
         "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"
     },
@@ -62727,6 +62727,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -62783,7 +62784,6 @@
         "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"
     },
@@ -62794,6 +62794,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -62850,7 +62851,6 @@
         "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"
     },
@@ -62861,6 +62861,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -62917,7 +62918,6 @@
         "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"
     },
@@ -62928,6 +62928,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -62984,7 +62985,6 @@
         "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"
     },
@@ -62995,6 +62995,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -63051,7 +63052,6 @@
         "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"
     },
@@ -63062,6 +63062,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -63118,7 +63119,6 @@
         "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"
     },
@@ -63129,6 +63129,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -63185,7 +63186,6 @@
         "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"
     },
@@ -63196,6 +63196,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -63252,7 +63253,6 @@
         "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"
     },
@@ -63263,6 +63263,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -63319,7 +63320,6 @@
         "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"
     },
@@ -63330,6 +63330,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -63386,7 +63387,6 @@
         "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"
     },
@@ -63397,6 +63397,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -63453,7 +63454,6 @@
         "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"
     },
@@ -63464,6 +63464,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -63520,7 +63521,6 @@
         "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"
     },
@@ -63531,6 +63531,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -63587,7 +63588,6 @@
         "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"
     },
@@ -63598,6 +63598,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -63654,7 +63655,6 @@
         "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"
     },
@@ -63665,6 +63665,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -63721,7 +63722,6 @@
         "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"
     },
@@ -63732,6 +63732,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -63788,7 +63789,6 @@
         "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"
     },
@@ -63799,6 +63799,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -63855,7 +63856,6 @@
         "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"
     },
@@ -63866,6 +63866,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -63922,7 +63923,6 @@
         "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"
     },
@@ -63933,6 +63933,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -63989,7 +63990,6 @@
         "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"
     },
@@ -64000,6 +64000,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -64056,7 +64057,6 @@
         "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"
     },
@@ -64067,6 +64067,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -64123,7 +64124,6 @@
         "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"
     },
@@ -64134,6 +64134,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -64190,7 +64191,6 @@
         "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"
     },
@@ -64201,6 +64201,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -64257,7 +64258,6 @@
         "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"
     },
@@ -64268,6 +64268,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -64324,7 +64325,6 @@
         "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"
     },
@@ -64335,6 +64335,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -64391,7 +64392,6 @@
         "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"
     },
@@ -64402,6 +64402,7 @@
           "path": "cache/vpython"
         }
       ],
+      "casSpec": "run-recipe",
       "cipd_packages": [
         {
           "name": "infra/gsutil",
@@ -64458,7 +64459,6 @@
         "log_location": "logdog://logs.chromium.org/skia/${SWAR