Use local pub rather than the one in cache.

Change-Id: I1e370f4eaba48b957a1e96f1990d69d2cf79dae6
Bug: https://github.com/flutter/flutter/issues/78804
Reviewed-on: https://flutter-review.googlesource.com/c/recipes/+/11461
Commit-Queue: Godofredo Contreras <godofredoc@google.com>
Reviewed-by: Zach Anderson <zra@google.com>
diff --git a/recipes/engine/web_engine_drone.expected/linux-error.json b/recipes/engine/web_engine_drone.expected/linux-error.json
index d1ef178..9162573 100644
--- a/recipes/engine/web_engine_drone.expected/linux-error.json
+++ b/recipes/engine/web_engine_drone.expected/linux-error.json
@@ -7,7 +7,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "rmtree",
-      "[CACHE]/builder"
+      "[CLEANUP]/builder"
     ],
     "infra_step": true,
     "name": "Clobber cache"
@@ -20,7 +20,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "rmtree",
-      "[CACHE]/builder/src/out"
+      "[CLEANUP]/builder/src/out"
     ],
     "infra_step": true,
     "name": "Clobber build output: Linux"
@@ -35,7 +35,7 @@
       "ensure-directory",
       "--mode",
       "0777",
-      "[CACHE]/builder"
+      "[CLEANUP]/builder"
     ],
     "infra_step": true,
     "name": "Ensure checkout cache"
@@ -86,7 +86,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "rmtree",
-      "[CACHE]/builder"
+      "[CLEANUP]/builder"
     ],
     "infra_step": true,
     "name": "Checkout source code.Clobber cache",
@@ -104,7 +104,7 @@
       "ensure-directory",
       "--mode",
       "0777",
-      "[CACHE]/builder"
+      "[CLEANUP]/builder"
     ],
     "infra_step": true,
     "name": "Checkout source code.Ensure checkout cache",
@@ -132,7 +132,7 @@
       "--refs",
       "refs/pull/1/head"
     ],
-    "cwd": "[CACHE]/builder",
+    "cwd": "[CLEANUP]/builder",
     "env": {
       "GIT_HTTP_LOW_SPEED_LIMIT": "102400",
       "GIT_HTTP_LOW_SPEED_TIME": "300"
@@ -195,7 +195,7 @@
       "RECIPE_REPO[depot_tools]/gclient.py",
       "runhooks"
     ],
-    "cwd": "[CACHE]/builder",
+    "cwd": "[CLEANUP]/builder",
     "env_suffixes": {
       "DEPOT_TOOLS_UPDATE": [
         "0"
@@ -218,7 +218,7 @@
       "The recipe has crashed at point 'Uncaught exception'!",
       "",
       "Traceback (most recent call last):",
-      "  File \"RECIPE_REPO[flutter]/recipes/engine/web_engine_drone.py\", line 76, in RunSteps",
+      "  File \"RECIPE_REPO[flutter]/recipes/engine/web_engine_drone.py\", line 78, in RunSteps",
       "    api.web_util.prepare_dependencies(checkout)",
       "  File \"RECIPE_REPO[flutter]/recipe_modules/web_util/api.py\", line 172, in prepare_dependencies",
       "    raise ValueError('Dependency %s not available.' % dep)",
diff --git a/recipes/engine/web_engine_drone.expected/linux-experimental.json b/recipes/engine/web_engine_drone.expected/linux-experimental.json
index 2569944..38e57aa 100644
--- a/recipes/engine/web_engine_drone.expected/linux-experimental.json
+++ b/recipes/engine/web_engine_drone.expected/linux-experimental.json
@@ -7,7 +7,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "rmtree",
-      "[CACHE]/builder"
+      "[CLEANUP]/builder"
     ],
     "infra_step": true,
     "name": "Clobber cache"
@@ -20,7 +20,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "rmtree",
-      "[CACHE]/builder/src/out"
+      "[CLEANUP]/builder/src/out"
     ],
     "infra_step": true,
     "name": "Clobber build output: Linux"
@@ -35,7 +35,7 @@
       "ensure-directory",
       "--mode",
       "0777",
-      "[CACHE]/builder"
+      "[CLEANUP]/builder"
     ],
     "infra_step": true,
     "name": "Ensure checkout cache"
@@ -86,7 +86,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "rmtree",
-      "[CACHE]/builder"
+      "[CLEANUP]/builder"
     ],
     "infra_step": true,
     "name": "Checkout source code.Clobber cache",
@@ -104,7 +104,7 @@
       "ensure-directory",
       "--mode",
       "0777",
-      "[CACHE]/builder"
+      "[CLEANUP]/builder"
     ],
     "infra_step": true,
     "name": "Checkout source code.Ensure checkout cache",
@@ -132,7 +132,7 @@
       "--refs",
       "refs/pull/1/head"
     ],
-    "cwd": "[CACHE]/builder",
+    "cwd": "[CLEANUP]/builder",
     "env": {
       "GIT_HTTP_LOW_SPEED_LIMIT": "102400",
       "GIT_HTTP_LOW_SPEED_TIME": "300"
@@ -195,7 +195,7 @@
       "RECIPE_REPO[depot_tools]/gclient.py",
       "runhooks"
     ],
-    "cwd": "[CACHE]/builder",
+    "cwd": "[CLEANUP]/builder",
     "env_suffixes": {
       "DEPOT_TOOLS_UPDATE": [
         "0"
@@ -241,7 +241,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "[CACHE]/builder/src/flutter/lib/web_ui/dev/goldens_lock.yaml",
+      "[CLEANUP]/builder/src/flutter/lib/web_ui/dev/goldens_lock.yaml",
       "/path/to/tmp/"
     ],
     "cwd": "[CACHE]/builder",
@@ -258,7 +258,7 @@
       "-u",
       "RECIPE_MODULE[flutter::yaml]/resources/parse_yaml.py",
       "--yaml_file",
-      "[CACHE]/builder/src/flutter/lib/web_ui/dev/goldens_lock.yaml",
+      "[CLEANUP]/builder/src/flutter/lib/web_ui/dev/goldens_lock.yaml",
       "--json_file",
       "/path/to/tmp/json"
     ],
@@ -370,26 +370,122 @@
       "/path/to/tmp/json",
       "copytree",
       "[CACHE]/builder/goldens",
-      "[CACHE]/builder/src/flutter/lib/web_ui/.dart_tool/goldens"
+      "[CLEANUP]/builder/src/flutter/lib/web_ui/.dart_tool/goldens"
     ],
     "infra_step": true,
     "name": "copy goldens"
   },
   {
+    "cmd": [],
+    "name": "install infra/tools/luci/isolated"
+  },
+  {
     "cmd": [
-      "[CACHE]/builder/src/out/host_debug_unopt/dart-sdk/bin/pub",
+      "vpython",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "ensure-directory",
+      "--mode",
+      "0777",
+      "[CACHE]/cipd/infra/tools/luci/isolated/latest"
+    ],
+    "cwd": "[CLEANUP]/builder",
+    "env_suffixes": {
+      "DEPOT_TOOLS_UPDATE": [
+        "0"
+      ],
+      "PATH": [
+        "RECIPE_REPO[depot_tools]"
+      ]
+    },
+    "infra_step": true,
+    "name": "install infra/tools/luci/isolated.ensure package directory",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "cipd",
+      "ensure",
+      "-root",
+      "[CACHE]/cipd/infra/tools/luci/isolated/latest",
+      "-ensure-file",
+      "infra/tools/luci/isolated/${platform} latest",
+      "-max-threads",
+      "0",
+      "-json-output",
+      "/path/to/tmp/json"
+    ],
+    "cwd": "[CLEANUP]/builder",
+    "env_suffixes": {
+      "DEPOT_TOOLS_UPDATE": [
+        "0"
+      ],
+      "PATH": [
+        "RECIPE_REPO[depot_tools]"
+      ]
+    },
+    "infra_step": true,
+    "name": "install infra/tools/luci/isolated.ensure_installed",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_LINE@json.output@{@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"result\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@      {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"instance_id\": \"resolved-instance_id-of-latest----------\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"package\": \"infra/tools/luci/isolated/resolved-platform\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      }@@@",
+      "@@@STEP_LOG_LINE@json.output@    ]@@@",
+      "@@@STEP_LOG_LINE@json.output@  }@@@",
+      "@@@STEP_LOG_LINE@json.output@}@@@",
+      "@@@STEP_LOG_END@json.output@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[CACHE]/cipd/infra/tools/luci/isolated/latest/isolated",
+      "download",
+      "-verbose",
+      "-isolate-server",
+      "https://example.isolateserver.appspot.com",
+      "-isolated",
+      "abceqwe",
+      "-output-dir",
+      "[CLEANUP]/builder/src/out"
+    ],
+    "cwd": "[CLEANUP]/builder",
+    "env_suffixes": {
+      "DEPOT_TOOLS_UPDATE": [
+        "0"
+      ],
+      "PATH": [
+        "RECIPE_REPO[depot_tools]"
+      ]
+    },
+    "infra_step": true,
+    "name": "Download for engine"
+  },
+  {
+    "cmd": [
+      "[CLEANUP]/builder/src/out/host_debug_unopt/dart-sdk/bin/pub",
       "get"
     ],
-    "cwd": "[CACHE]/builder/src/flutter/web_sdk/web_engine_tester",
+    "cwd": "[CLEANUP]/builder/src/flutter/web_sdk/web_engine_tester",
     "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "ANDROID_HOME": "[CLEANUP]/builder/src/third_party/android_tools/sdk",
       "CHROME_NO_SANDBOX": "true",
-      "ENGINE_PATH": "[CACHE]/builder",
-      "GOMA_DIR": "[CACHE]/goma/client"
+      "ENGINE_PATH": "[CLEANUP]/builder",
+      "GOMA_DIR": "[CACHE]/goma/client",
+      "LOCAL_ENGINE": "[CLEANUP]/builder/src/out/host_debug_unopt"
     },
     "env_prefixes": {
       "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+        "[CLEANUP]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin",
+        "[CLEANUP]/builder/src/out/host_debug_unopt/dart-sdk/bin"
       ]
     },
     "env_suffixes": {
@@ -406,19 +502,21 @@
   },
   {
     "cmd": [
-      "[CACHE]/builder/src/out/host_debug_unopt/dart-sdk/bin/pub",
+      "[CLEANUP]/builder/src/out/host_debug_unopt/dart-sdk/bin/pub",
       "get"
     ],
-    "cwd": "[CACHE]/builder/src/flutter/lib/web_ui",
+    "cwd": "[CLEANUP]/builder/src/flutter/lib/web_ui",
     "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "ANDROID_HOME": "[CLEANUP]/builder/src/third_party/android_tools/sdk",
       "CHROME_NO_SANDBOX": "true",
-      "ENGINE_PATH": "[CACHE]/builder",
-      "GOMA_DIR": "[CACHE]/goma/client"
+      "ENGINE_PATH": "[CLEANUP]/builder",
+      "GOMA_DIR": "[CACHE]/goma/client",
+      "LOCAL_ENGINE": "[CLEANUP]/builder/src/out/host_debug_unopt"
     },
     "env_prefixes": {
       "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+        "[CLEANUP]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin",
+        "[CLEANUP]/builder/src/out/host_debug_unopt/dart-sdk/bin"
       ]
     },
     "env_suffixes": {
@@ -435,20 +533,22 @@
   },
   {
     "cmd": [
-      "[CACHE]/builder/src/out/host_debug_unopt/dart-sdk/bin/dart",
+      "[CLEANUP]/builder/src/out/host_debug_unopt/dart-sdk/bin/dart",
       "dev/felt.dart",
       "test"
     ],
-    "cwd": "[CACHE]/builder/src/flutter/lib/web_ui",
+    "cwd": "[CLEANUP]/builder/src/flutter/lib/web_ui",
     "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "ANDROID_HOME": "[CLEANUP]/builder/src/third_party/android_tools/sdk",
       "CHROME_NO_SANDBOX": "true",
-      "ENGINE_PATH": "[CACHE]/builder",
-      "GOMA_DIR": "[CACHE]/goma/client"
+      "ENGINE_PATH": "[CLEANUP]/builder",
+      "GOMA_DIR": "[CACHE]/goma/client",
+      "LOCAL_ENGINE": "[CLEANUP]/builder/src/out/host_debug_unopt"
     },
     "env_prefixes": {
       "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+        "[CLEANUP]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin",
+        "[CLEANUP]/builder/src/out/host_debug_unopt/dart-sdk/bin"
       ]
     },
     "env_suffixes": {
@@ -472,18 +572,20 @@
       "/path/to/tmp/json",
       "copy",
       "tests for linux",
-      "[CACHE]/builder/src/flutter/lib/web_ui/.dart_tool/test_results/info.txt"
+      "[CLEANUP]/builder/src/flutter/lib/web_ui/.dart_tool/test_results/info.txt"
     ],
-    "cwd": "[CACHE]/builder/src/flutter/lib/web_ui",
+    "cwd": "[CLEANUP]/builder/src/flutter/lib/web_ui",
     "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "ANDROID_HOME": "[CLEANUP]/builder/src/third_party/android_tools/sdk",
       "CHROME_NO_SANDBOX": "true",
-      "ENGINE_PATH": "[CACHE]/builder",
-      "GOMA_DIR": "[CACHE]/goma/client"
+      "ENGINE_PATH": "[CLEANUP]/builder",
+      "GOMA_DIR": "[CACHE]/goma/client",
+      "LOCAL_ENGINE": "[CLEANUP]/builder/src/out/host_debug_unopt"
     },
     "env_prefixes": {
       "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+        "[CLEANUP]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin",
+        "[CLEANUP]/builder/src/out/host_debug_unopt/dart-sdk/bin"
       ]
     },
     "env_suffixes": {
@@ -512,16 +614,18 @@
       "pkill",
       "chrome"
     ],
-    "cwd": "[CACHE]/builder/src/flutter/lib/web_ui",
+    "cwd": "[CLEANUP]/builder/src/flutter/lib/web_ui",
     "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "ANDROID_HOME": "[CLEANUP]/builder/src/third_party/android_tools/sdk",
       "CHROME_NO_SANDBOX": "true",
-      "ENGINE_PATH": "[CACHE]/builder",
-      "GOMA_DIR": "[CACHE]/goma/client"
+      "ENGINE_PATH": "[CLEANUP]/builder",
+      "GOMA_DIR": "[CACHE]/goma/client",
+      "LOCAL_ENGINE": "[CLEANUP]/builder/src/out/host_debug_unopt"
     },
     "env_prefixes": {
       "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+        "[CLEANUP]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin",
+        "[CLEANUP]/builder/src/out/host_debug_unopt/dart-sdk/bin"
       ]
     },
     "env_suffixes": {
@@ -544,16 +648,18 @@
       "pkill",
       "dart"
     ],
-    "cwd": "[CACHE]/builder/src/flutter/lib/web_ui",
+    "cwd": "[CLEANUP]/builder/src/flutter/lib/web_ui",
     "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "ANDROID_HOME": "[CLEANUP]/builder/src/third_party/android_tools/sdk",
       "CHROME_NO_SANDBOX": "true",
-      "ENGINE_PATH": "[CACHE]/builder",
-      "GOMA_DIR": "[CACHE]/goma/client"
+      "ENGINE_PATH": "[CLEANUP]/builder",
+      "GOMA_DIR": "[CACHE]/goma/client",
+      "LOCAL_ENGINE": "[CLEANUP]/builder/src/out/host_debug_unopt"
     },
     "env_prefixes": {
       "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+        "[CLEANUP]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin",
+        "[CLEANUP]/builder/src/out/host_debug_unopt/dart-sdk/bin"
       ]
     },
     "env_suffixes": {
@@ -576,16 +682,18 @@
       "pkill",
       "flutter"
     ],
-    "cwd": "[CACHE]/builder/src/flutter/lib/web_ui",
+    "cwd": "[CLEANUP]/builder/src/flutter/lib/web_ui",
     "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "ANDROID_HOME": "[CLEANUP]/builder/src/third_party/android_tools/sdk",
       "CHROME_NO_SANDBOX": "true",
-      "ENGINE_PATH": "[CACHE]/builder",
-      "GOMA_DIR": "[CACHE]/goma/client"
+      "ENGINE_PATH": "[CLEANUP]/builder",
+      "GOMA_DIR": "[CACHE]/goma/client",
+      "LOCAL_ENGINE": "[CLEANUP]/builder/src/out/host_debug_unopt"
     },
     "env_prefixes": {
       "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+        "[CLEANUP]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin",
+        "[CLEANUP]/builder/src/out/host_debug_unopt/dart-sdk/bin"
       ]
     },
     "env_suffixes": {
@@ -608,16 +716,18 @@
       "pkill",
       "java"
     ],
-    "cwd": "[CACHE]/builder/src/flutter/lib/web_ui",
+    "cwd": "[CLEANUP]/builder/src/flutter/lib/web_ui",
     "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "ANDROID_HOME": "[CLEANUP]/builder/src/third_party/android_tools/sdk",
       "CHROME_NO_SANDBOX": "true",
-      "ENGINE_PATH": "[CACHE]/builder",
-      "GOMA_DIR": "[CACHE]/goma/client"
+      "ENGINE_PATH": "[CLEANUP]/builder",
+      "GOMA_DIR": "[CACHE]/goma/client",
+      "LOCAL_ENGINE": "[CLEANUP]/builder/src/out/host_debug_unopt"
     },
     "env_prefixes": {
       "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+        "[CLEANUP]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin",
+        "[CLEANUP]/builder/src/out/host_debug_unopt/dart-sdk/bin"
       ]
     },
     "env_suffixes": {
@@ -640,16 +750,18 @@
       "pkill",
       "adb"
     ],
-    "cwd": "[CACHE]/builder/src/flutter/lib/web_ui",
+    "cwd": "[CLEANUP]/builder/src/flutter/lib/web_ui",
     "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "ANDROID_HOME": "[CLEANUP]/builder/src/third_party/android_tools/sdk",
       "CHROME_NO_SANDBOX": "true",
-      "ENGINE_PATH": "[CACHE]/builder",
-      "GOMA_DIR": "[CACHE]/goma/client"
+      "ENGINE_PATH": "[CLEANUP]/builder",
+      "GOMA_DIR": "[CACHE]/goma/client",
+      "LOCAL_ENGINE": "[CLEANUP]/builder/src/out/host_debug_unopt"
     },
     "env_prefixes": {
       "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+        "[CLEANUP]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin",
+        "[CLEANUP]/builder/src/out/host_debug_unopt/dart-sdk/bin"
       ]
     },
     "env_suffixes": {
@@ -676,16 +788,18 @@
       "-o",
       "%MEM"
     ],
-    "cwd": "[CACHE]/builder/src/flutter/lib/web_ui",
+    "cwd": "[CLEANUP]/builder/src/flutter/lib/web_ui",
     "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "ANDROID_HOME": "[CLEANUP]/builder/src/third_party/android_tools/sdk",
       "CHROME_NO_SANDBOX": "true",
-      "ENGINE_PATH": "[CACHE]/builder",
-      "GOMA_DIR": "[CACHE]/goma/client"
+      "ENGINE_PATH": "[CLEANUP]/builder",
+      "GOMA_DIR": "[CACHE]/goma/client",
+      "LOCAL_ENGINE": "[CLEANUP]/builder/src/out/host_debug_unopt"
     },
     "env_prefixes": {
       "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+        "[CLEANUP]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin",
+        "[CLEANUP]/builder/src/out/host_debug_unopt/dart-sdk/bin"
       ]
     },
     "env_suffixes": {
diff --git a/recipes/engine/web_engine_drone.expected/linux-firefox-integration.json b/recipes/engine/web_engine_drone.expected/linux-firefox-integration.json
index e4e7d16..20e5446 100644
--- a/recipes/engine/web_engine_drone.expected/linux-firefox-integration.json
+++ b/recipes/engine/web_engine_drone.expected/linux-firefox-integration.json
@@ -7,7 +7,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "rmtree",
-      "[CACHE]/builder/src/out"
+      "[CLEANUP]/builder/src/out"
     ],
     "infra_step": true,
     "name": "Clobber build output: Linux"
@@ -22,7 +22,7 @@
       "ensure-directory",
       "--mode",
       "0777",
-      "[CACHE]/builder"
+      "[CLEANUP]/builder"
     ],
     "infra_step": true,
     "name": "Ensure checkout cache"
@@ -73,7 +73,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "rmtree",
-      "[CACHE]/builder"
+      "[CLEANUP]/builder"
     ],
     "infra_step": true,
     "name": "Checkout source code.Clobber cache",
@@ -91,7 +91,7 @@
       "ensure-directory",
       "--mode",
       "0777",
-      "[CACHE]/builder"
+      "[CLEANUP]/builder"
     ],
     "infra_step": true,
     "name": "Checkout source code.Ensure checkout cache",
@@ -117,7 +117,7 @@
       "--revision",
       "src/flutter@HEAD"
     ],
-    "cwd": "[CACHE]/builder",
+    "cwd": "[CLEANUP]/builder",
     "env": {
       "GIT_HTTP_LOW_SPEED_LIMIT": "102400",
       "GIT_HTTP_LOW_SPEED_TIME": "300"
@@ -180,7 +180,7 @@
       "RECIPE_REPO[depot_tools]/gclient.py",
       "runhooks"
     ],
-    "cwd": "[CACHE]/builder",
+    "cwd": "[CLEANUP]/builder",
     "env_suffixes": {
       "DEPOT_TOOLS_UPDATE": [
         "0"
@@ -200,7 +200,7 @@
       "cipd",
       "ensure",
       "-root",
-      "[CACHE]/builder/src/flutter/lib/web_ui/.dart_tool/drivers/firefox",
+      "[CLEANUP]/builder/src/flutter/lib/web_ui/.dart_tool/drivers/firefox",
       "-ensure-file",
       "flutter_internal/browser-drivers/firefoxdriver-linux latest",
       "-max-threads",
@@ -254,7 +254,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "[CACHE]/builder/src/flutter/lib/web_ui/dev/goldens_lock.yaml",
+      "[CLEANUP]/builder/src/flutter/lib/web_ui/dev/goldens_lock.yaml",
       "/path/to/tmp/"
     ],
     "cwd": "[CACHE]/builder",
@@ -271,7 +271,7 @@
       "-u",
       "RECIPE_MODULE[flutter::yaml]/resources/parse_yaml.py",
       "--yaml_file",
-      "[CACHE]/builder/src/flutter/lib/web_ui/dev/goldens_lock.yaml",
+      "[CLEANUP]/builder/src/flutter/lib/web_ui/dev/goldens_lock.yaml",
       "--json_file",
       "/path/to/tmp/json"
     ],
@@ -383,26 +383,122 @@
       "/path/to/tmp/json",
       "copytree",
       "[CACHE]/builder/goldens",
-      "[CACHE]/builder/src/flutter/lib/web_ui/.dart_tool/goldens"
+      "[CLEANUP]/builder/src/flutter/lib/web_ui/.dart_tool/goldens"
     ],
     "infra_step": true,
     "name": "copy goldens"
   },
   {
+    "cmd": [],
+    "name": "install infra/tools/luci/isolated"
+  },
+  {
     "cmd": [
-      "[CACHE]/builder/src/out/host_debug_unopt/dart-sdk/bin/pub",
+      "vpython",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "ensure-directory",
+      "--mode",
+      "0777",
+      "[CACHE]/cipd/infra/tools/luci/isolated/isolated_module_pin"
+    ],
+    "cwd": "[CLEANUP]/builder",
+    "env_suffixes": {
+      "DEPOT_TOOLS_UPDATE": [
+        "0"
+      ],
+      "PATH": [
+        "RECIPE_REPO[depot_tools]"
+      ]
+    },
+    "infra_step": true,
+    "name": "install infra/tools/luci/isolated.ensure package directory",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "cipd",
+      "ensure",
+      "-root",
+      "[CACHE]/cipd/infra/tools/luci/isolated/isolated_module_pin",
+      "-ensure-file",
+      "infra/tools/luci/isolated/${platform} isolated_module_pin",
+      "-max-threads",
+      "0",
+      "-json-output",
+      "/path/to/tmp/json"
+    ],
+    "cwd": "[CLEANUP]/builder",
+    "env_suffixes": {
+      "DEPOT_TOOLS_UPDATE": [
+        "0"
+      ],
+      "PATH": [
+        "RECIPE_REPO[depot_tools]"
+      ]
+    },
+    "infra_step": true,
+    "name": "install infra/tools/luci/isolated.ensure_installed",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_LINE@json.output@{@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"result\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@      {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"instance_id\": \"resolved-instance_id-of-isolated_module_\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"package\": \"infra/tools/luci/isolated/resolved-platform\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      }@@@",
+      "@@@STEP_LOG_LINE@json.output@    ]@@@",
+      "@@@STEP_LOG_LINE@json.output@  }@@@",
+      "@@@STEP_LOG_LINE@json.output@}@@@",
+      "@@@STEP_LOG_END@json.output@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[CACHE]/cipd/infra/tools/luci/isolated/isolated_module_pin/isolated",
+      "download",
+      "-verbose",
+      "-isolate-server",
+      "https://example.isolateserver.appspot.com",
+      "-isolated",
+      "abceqwe",
+      "-output-dir",
+      "[CLEANUP]/builder/src/out"
+    ],
+    "cwd": "[CLEANUP]/builder",
+    "env_suffixes": {
+      "DEPOT_TOOLS_UPDATE": [
+        "0"
+      ],
+      "PATH": [
+        "RECIPE_REPO[depot_tools]"
+      ]
+    },
+    "infra_step": true,
+    "name": "Download for engine"
+  },
+  {
+    "cmd": [
+      "[CLEANUP]/builder/src/out/host_debug_unopt/dart-sdk/bin/pub",
       "get"
     ],
-    "cwd": "[CACHE]/builder/src/flutter/web_sdk/web_engine_tester",
+    "cwd": "[CLEANUP]/builder/src/flutter/web_sdk/web_engine_tester",
     "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "ANDROID_HOME": "[CLEANUP]/builder/src/third_party/android_tools/sdk",
       "CHROME_NO_SANDBOX": "true",
-      "ENGINE_PATH": "[CACHE]/builder",
-      "GOMA_DIR": "[CACHE]/goma/client"
+      "ENGINE_PATH": "[CLEANUP]/builder",
+      "GOMA_DIR": "[CACHE]/goma/client",
+      "LOCAL_ENGINE": "[CLEANUP]/builder/src/out/host_debug_unopt"
     },
     "env_prefixes": {
       "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+        "[CLEANUP]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin",
+        "[CLEANUP]/builder/src/out/host_debug_unopt/dart-sdk/bin"
       ]
     },
     "env_suffixes": {
@@ -419,19 +515,21 @@
   },
   {
     "cmd": [
-      "[CACHE]/builder/src/out/host_debug_unopt/dart-sdk/bin/pub",
+      "[CLEANUP]/builder/src/out/host_debug_unopt/dart-sdk/bin/pub",
       "get"
     ],
-    "cwd": "[CACHE]/builder/src/flutter/lib/web_ui",
+    "cwd": "[CLEANUP]/builder/src/flutter/lib/web_ui",
     "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "ANDROID_HOME": "[CLEANUP]/builder/src/third_party/android_tools/sdk",
       "CHROME_NO_SANDBOX": "true",
-      "ENGINE_PATH": "[CACHE]/builder",
-      "GOMA_DIR": "[CACHE]/goma/client"
+      "ENGINE_PATH": "[CLEANUP]/builder",
+      "GOMA_DIR": "[CACHE]/goma/client",
+      "LOCAL_ENGINE": "[CLEANUP]/builder/src/out/host_debug_unopt"
     },
     "env_prefixes": {
       "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+        "[CLEANUP]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin",
+        "[CLEANUP]/builder/src/out/host_debug_unopt/dart-sdk/bin"
       ]
     },
     "env_suffixes": {
@@ -448,22 +546,24 @@
   },
   {
     "cmd": [
-      "[CACHE]/builder/src/out/host_debug_unopt/dart-sdk/bin/dart",
+      "[CLEANUP]/builder/src/out/host_debug_unopt/dart-sdk/bin/dart",
       "dev/felt.dart",
       "test",
       "--browser=firefox",
       "--integration-tests-only"
     ],
-    "cwd": "[CACHE]/builder/src/flutter/lib/web_ui",
+    "cwd": "[CLEANUP]/builder/src/flutter/lib/web_ui",
     "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "ANDROID_HOME": "[CLEANUP]/builder/src/third_party/android_tools/sdk",
       "CHROME_NO_SANDBOX": "true",
-      "ENGINE_PATH": "[CACHE]/builder",
-      "GOMA_DIR": "[CACHE]/goma/client"
+      "ENGINE_PATH": "[CLEANUP]/builder",
+      "GOMA_DIR": "[CACHE]/goma/client",
+      "LOCAL_ENGINE": "[CLEANUP]/builder/src/out/host_debug_unopt"
     },
     "env_prefixes": {
       "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+        "[CLEANUP]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin",
+        "[CLEANUP]/builder/src/out/host_debug_unopt/dart-sdk/bin"
       ]
     },
     "env_suffixes": {
@@ -487,18 +587,20 @@
       "/path/to/tmp/json",
       "copy",
       "tests for linux",
-      "[CACHE]/builder/src/flutter/lib/web_ui/.dart_tool/test_results/info.txt"
+      "[CLEANUP]/builder/src/flutter/lib/web_ui/.dart_tool/test_results/info.txt"
     ],
-    "cwd": "[CACHE]/builder/src/flutter/lib/web_ui",
+    "cwd": "[CLEANUP]/builder/src/flutter/lib/web_ui",
     "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "ANDROID_HOME": "[CLEANUP]/builder/src/third_party/android_tools/sdk",
       "CHROME_NO_SANDBOX": "true",
-      "ENGINE_PATH": "[CACHE]/builder",
-      "GOMA_DIR": "[CACHE]/goma/client"
+      "ENGINE_PATH": "[CLEANUP]/builder",
+      "GOMA_DIR": "[CACHE]/goma/client",
+      "LOCAL_ENGINE": "[CLEANUP]/builder/src/out/host_debug_unopt"
     },
     "env_prefixes": {
       "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+        "[CLEANUP]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin",
+        "[CLEANUP]/builder/src/out/host_debug_unopt/dart-sdk/bin"
       ]
     },
     "env_suffixes": {
@@ -529,19 +631,21 @@
       "----",
       "cp",
       "-r",
-      "[CACHE]/builder/src/flutter/lib/web_ui/.dart_tool/test_results",
+      "[CLEANUP]/builder/src/flutter/lib/web_ui/.dart_tool/test_results",
       "gs://mybucket/web_engine/0/chrome"
     ],
-    "cwd": "[CACHE]/builder/src/flutter/lib/web_ui",
+    "cwd": "[CLEANUP]/builder/src/flutter/lib/web_ui",
     "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "ANDROID_HOME": "[CLEANUP]/builder/src/third_party/android_tools/sdk",
       "CHROME_NO_SANDBOX": "true",
-      "ENGINE_PATH": "[CACHE]/builder",
-      "GOMA_DIR": "[CACHE]/goma/client"
+      "ENGINE_PATH": "[CLEANUP]/builder",
+      "GOMA_DIR": "[CACHE]/goma/client",
+      "LOCAL_ENGINE": "[CLEANUP]/builder/src/out/host_debug_unopt"
     },
     "env_prefixes": {
       "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+        "[CLEANUP]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin",
+        "[CLEANUP]/builder/src/out/host_debug_unopt/dart-sdk/bin"
       ]
     },
     "env_suffixes": {
@@ -568,19 +672,21 @@
       "--json-output",
       "/path/to/tmp/json",
       "glob",
-      "[CACHE]/builder/src/flutter/lib/web_ui/.dart_tool/test_results",
+      "[CLEANUP]/builder/src/flutter/lib/web_ui/.dart_tool/test_results",
       "*.html"
     ],
-    "cwd": "[CACHE]/builder/src/flutter/lib/web_ui",
+    "cwd": "[CLEANUP]/builder/src/flutter/lib/web_ui",
     "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "ANDROID_HOME": "[CLEANUP]/builder/src/third_party/android_tools/sdk",
       "CHROME_NO_SANDBOX": "true",
-      "ENGINE_PATH": "[CACHE]/builder",
-      "GOMA_DIR": "[CACHE]/goma/client"
+      "ENGINE_PATH": "[CLEANUP]/builder",
+      "GOMA_DIR": "[CACHE]/goma/client",
+      "LOCAL_ENGINE": "[CLEANUP]/builder/src/out/host_debug_unopt"
     },
     "env_prefixes": {
       "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+        "[CLEANUP]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin",
+        "[CLEANUP]/builder/src/out/host_debug_unopt/dart-sdk/bin"
       ]
     },
     "env_suffixes": {
@@ -596,7 +702,7 @@
     "infra_step": true,
     "name": "html goldens",
     "~followup_annotations": [
-      "@@@STEP_LOG_LINE@glob@[CACHE]/builder/src/flutter/lib/web_ui/.dart_tool/test_results/a.html@@@",
+      "@@@STEP_LOG_LINE@glob@[CLEANUP]/builder/src/flutter/lib/web_ui/.dart_tool/test_results/a.html@@@",
       "@@@STEP_LOG_END@glob@@@"
     ]
   },
@@ -616,16 +722,18 @@
       "pkill",
       "chrome"
     ],
-    "cwd": "[CACHE]/builder/src/flutter/lib/web_ui",
+    "cwd": "[CLEANUP]/builder/src/flutter/lib/web_ui",
     "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "ANDROID_HOME": "[CLEANUP]/builder/src/third_party/android_tools/sdk",
       "CHROME_NO_SANDBOX": "true",
-      "ENGINE_PATH": "[CACHE]/builder",
-      "GOMA_DIR": "[CACHE]/goma/client"
+      "ENGINE_PATH": "[CLEANUP]/builder",
+      "GOMA_DIR": "[CACHE]/goma/client",
+      "LOCAL_ENGINE": "[CLEANUP]/builder/src/out/host_debug_unopt"
     },
     "env_prefixes": {
       "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+        "[CLEANUP]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin",
+        "[CLEANUP]/builder/src/out/host_debug_unopt/dart-sdk/bin"
       ]
     },
     "env_suffixes": {
@@ -648,16 +756,18 @@
       "pkill",
       "dart"
     ],
-    "cwd": "[CACHE]/builder/src/flutter/lib/web_ui",
+    "cwd": "[CLEANUP]/builder/src/flutter/lib/web_ui",
     "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "ANDROID_HOME": "[CLEANUP]/builder/src/third_party/android_tools/sdk",
       "CHROME_NO_SANDBOX": "true",
-      "ENGINE_PATH": "[CACHE]/builder",
-      "GOMA_DIR": "[CACHE]/goma/client"
+      "ENGINE_PATH": "[CLEANUP]/builder",
+      "GOMA_DIR": "[CACHE]/goma/client",
+      "LOCAL_ENGINE": "[CLEANUP]/builder/src/out/host_debug_unopt"
     },
     "env_prefixes": {
       "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+        "[CLEANUP]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin",
+        "[CLEANUP]/builder/src/out/host_debug_unopt/dart-sdk/bin"
       ]
     },
     "env_suffixes": {
@@ -680,16 +790,18 @@
       "pkill",
       "flutter"
     ],
-    "cwd": "[CACHE]/builder/src/flutter/lib/web_ui",
+    "cwd": "[CLEANUP]/builder/src/flutter/lib/web_ui",
     "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "ANDROID_HOME": "[CLEANUP]/builder/src/third_party/android_tools/sdk",
       "CHROME_NO_SANDBOX": "true",
-      "ENGINE_PATH": "[CACHE]/builder",
-      "GOMA_DIR": "[CACHE]/goma/client"
+      "ENGINE_PATH": "[CLEANUP]/builder",
+      "GOMA_DIR": "[CACHE]/goma/client",
+      "LOCAL_ENGINE": "[CLEANUP]/builder/src/out/host_debug_unopt"
     },
     "env_prefixes": {
       "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+        "[CLEANUP]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin",
+        "[CLEANUP]/builder/src/out/host_debug_unopt/dart-sdk/bin"
       ]
     },
     "env_suffixes": {
@@ -712,16 +824,18 @@
       "pkill",
       "java"
     ],
-    "cwd": "[CACHE]/builder/src/flutter/lib/web_ui",
+    "cwd": "[CLEANUP]/builder/src/flutter/lib/web_ui",
     "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "ANDROID_HOME": "[CLEANUP]/builder/src/third_party/android_tools/sdk",
       "CHROME_NO_SANDBOX": "true",
-      "ENGINE_PATH": "[CACHE]/builder",
-      "GOMA_DIR": "[CACHE]/goma/client"
+      "ENGINE_PATH": "[CLEANUP]/builder",
+      "GOMA_DIR": "[CACHE]/goma/client",
+      "LOCAL_ENGINE": "[CLEANUP]/builder/src/out/host_debug_unopt"
     },
     "env_prefixes": {
       "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+        "[CLEANUP]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin",
+        "[CLEANUP]/builder/src/out/host_debug_unopt/dart-sdk/bin"
       ]
     },
     "env_suffixes": {
@@ -744,16 +858,18 @@
       "pkill",
       "adb"
     ],
-    "cwd": "[CACHE]/builder/src/flutter/lib/web_ui",
+    "cwd": "[CLEANUP]/builder/src/flutter/lib/web_ui",
     "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "ANDROID_HOME": "[CLEANUP]/builder/src/third_party/android_tools/sdk",
       "CHROME_NO_SANDBOX": "true",
-      "ENGINE_PATH": "[CACHE]/builder",
-      "GOMA_DIR": "[CACHE]/goma/client"
+      "ENGINE_PATH": "[CLEANUP]/builder",
+      "GOMA_DIR": "[CACHE]/goma/client",
+      "LOCAL_ENGINE": "[CLEANUP]/builder/src/out/host_debug_unopt"
     },
     "env_prefixes": {
       "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+        "[CLEANUP]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin",
+        "[CLEANUP]/builder/src/out/host_debug_unopt/dart-sdk/bin"
       ]
     },
     "env_suffixes": {
@@ -780,16 +896,18 @@
       "-o",
       "%MEM"
     ],
-    "cwd": "[CACHE]/builder/src/flutter/lib/web_ui",
+    "cwd": "[CLEANUP]/builder/src/flutter/lib/web_ui",
     "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "ANDROID_HOME": "[CLEANUP]/builder/src/third_party/android_tools/sdk",
       "CHROME_NO_SANDBOX": "true",
-      "ENGINE_PATH": "[CACHE]/builder",
-      "GOMA_DIR": "[CACHE]/goma/client"
+      "ENGINE_PATH": "[CLEANUP]/builder",
+      "GOMA_DIR": "[CACHE]/goma/client",
+      "LOCAL_ENGINE": "[CLEANUP]/builder/src/out/host_debug_unopt"
     },
     "env_prefixes": {
       "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+        "[CLEANUP]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin",
+        "[CLEANUP]/builder/src/out/host_debug_unopt/dart-sdk/bin"
       ]
     },
     "env_suffixes": {
diff --git a/recipes/engine/web_engine_drone.expected/linux-post-submit.json b/recipes/engine/web_engine_drone.expected/linux-post-submit.json
index 5af915d..cb7e7e8 100644
--- a/recipes/engine/web_engine_drone.expected/linux-post-submit.json
+++ b/recipes/engine/web_engine_drone.expected/linux-post-submit.json
@@ -7,7 +7,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "rmtree",
-      "[CACHE]/builder/src/out"
+      "[CLEANUP]/builder/src/out"
     ],
     "infra_step": true,
     "name": "Clobber build output: Linux"
@@ -22,7 +22,7 @@
       "ensure-directory",
       "--mode",
       "0777",
-      "[CACHE]/builder"
+      "[CLEANUP]/builder"
     ],
     "infra_step": true,
     "name": "Ensure checkout cache"
@@ -73,7 +73,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "rmtree",
-      "[CACHE]/builder"
+      "[CLEANUP]/builder"
     ],
     "infra_step": true,
     "name": "Checkout source code.Clobber cache",
@@ -91,7 +91,7 @@
       "ensure-directory",
       "--mode",
       "0777",
-      "[CACHE]/builder"
+      "[CLEANUP]/builder"
     ],
     "infra_step": true,
     "name": "Checkout source code.Ensure checkout cache",
@@ -117,7 +117,7 @@
       "--revision",
       "src/flutter@HEAD"
     ],
-    "cwd": "[CACHE]/builder",
+    "cwd": "[CLEANUP]/builder",
     "env": {
       "GIT_HTTP_LOW_SPEED_LIMIT": "102400",
       "GIT_HTTP_LOW_SPEED_TIME": "300"
@@ -180,7 +180,7 @@
       "RECIPE_REPO[depot_tools]/gclient.py",
       "runhooks"
     ],
-    "cwd": "[CACHE]/builder",
+    "cwd": "[CLEANUP]/builder",
     "env_suffixes": {
       "DEPOT_TOOLS_UPDATE": [
         "0"
@@ -211,10 +211,10 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "[CACHE]/builder/src/flutter/lib/web_ui/dev/browser_lock.yaml",
+      "[CLEANUP]/builder/src/flutter/lib/web_ui/dev/browser_lock.yaml",
       "/path/to/tmp/"
     ],
-    "cwd": "[CACHE]/builder/src",
+    "cwd": "[CLEANUP]/builder/src",
     "infra_step": true,
     "name": "read browser lock yaml.read",
     "~followup_annotations": [
@@ -228,11 +228,11 @@
       "-u",
       "RECIPE_MODULE[flutter::yaml]/resources/parse_yaml.py",
       "--yaml_file",
-      "[CACHE]/builder/src/flutter/lib/web_ui/dev/browser_lock.yaml",
+      "[CLEANUP]/builder/src/flutter/lib/web_ui/dev/browser_lock.yaml",
       "--json_file",
       "/path/to/tmp/json"
     ],
-    "cwd": "[CACHE]/builder/src",
+    "cwd": "[CLEANUP]/builder/src",
     "name": "read browser lock yaml.parse",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
@@ -254,7 +254,7 @@
       "cipd",
       "ensure",
       "-root",
-      "[CACHE]/builder/src/flutter/lib/web_ui/.dart_tool/drivers/chrome/84",
+      "[CLEANUP]/builder/src/flutter/lib/web_ui/.dart_tool/drivers/chrome/84",
       "-ensure-file",
       "flutter_internal/browser-drivers/chrome/${platform} latest-84",
       "-max-threads",
@@ -293,10 +293,10 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "[CACHE]/builder/src/flutter/lib/web_ui/dev/browser_lock.yaml",
+      "[CLEANUP]/builder/src/flutter/lib/web_ui/dev/browser_lock.yaml",
       "/path/to/tmp/"
     ],
-    "cwd": "[CACHE]/builder/src",
+    "cwd": "[CLEANUP]/builder/src",
     "infra_step": true,
     "name": "read browser lock yaml (2).read",
     "~followup_annotations": [
@@ -310,11 +310,11 @@
       "-u",
       "RECIPE_MODULE[flutter::yaml]/resources/parse_yaml.py",
       "--yaml_file",
-      "[CACHE]/builder/src/flutter/lib/web_ui/dev/browser_lock.yaml",
+      "[CLEANUP]/builder/src/flutter/lib/web_ui/dev/browser_lock.yaml",
       "--json_file",
       "/path/to/tmp/json"
     ],
-    "cwd": "[CACHE]/builder/src",
+    "cwd": "[CLEANUP]/builder/src",
     "name": "read browser lock yaml (2).parse",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
@@ -336,7 +336,7 @@
       "cipd",
       "ensure",
       "-root",
-      "[CACHE]/builder/src/flutter/lib/web_ui/.dart_tool/chrome/768968",
+      "[CLEANUP]/builder/src/flutter/lib/web_ui/.dart_tool/chrome/768968",
       "-ensure-file",
       "flutter_internal/browsers/chrome/${platform} 768968",
       "-max-threads",
@@ -390,7 +390,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "[CACHE]/builder/src/flutter/lib/web_ui/dev/goldens_lock.yaml",
+      "[CLEANUP]/builder/src/flutter/lib/web_ui/dev/goldens_lock.yaml",
       "/path/to/tmp/"
     ],
     "cwd": "[CACHE]/builder",
@@ -407,7 +407,7 @@
       "-u",
       "RECIPE_MODULE[flutter::yaml]/resources/parse_yaml.py",
       "--yaml_file",
-      "[CACHE]/builder/src/flutter/lib/web_ui/dev/goldens_lock.yaml",
+      "[CLEANUP]/builder/src/flutter/lib/web_ui/dev/goldens_lock.yaml",
       "--json_file",
       "/path/to/tmp/json"
     ],
@@ -519,26 +519,122 @@
       "/path/to/tmp/json",
       "copytree",
       "[CACHE]/builder/goldens",
-      "[CACHE]/builder/src/flutter/lib/web_ui/.dart_tool/goldens"
+      "[CLEANUP]/builder/src/flutter/lib/web_ui/.dart_tool/goldens"
     ],
     "infra_step": true,
     "name": "copy goldens"
   },
   {
+    "cmd": [],
+    "name": "install infra/tools/luci/isolated"
+  },
+  {
     "cmd": [
-      "[CACHE]/builder/src/out/host_debug_unopt/dart-sdk/bin/pub",
+      "vpython",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "ensure-directory",
+      "--mode",
+      "0777",
+      "[CACHE]/cipd/infra/tools/luci/isolated/isolated_module_pin"
+    ],
+    "cwd": "[CLEANUP]/builder",
+    "env_suffixes": {
+      "DEPOT_TOOLS_UPDATE": [
+        "0"
+      ],
+      "PATH": [
+        "RECIPE_REPO[depot_tools]"
+      ]
+    },
+    "infra_step": true,
+    "name": "install infra/tools/luci/isolated.ensure package directory",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "cipd",
+      "ensure",
+      "-root",
+      "[CACHE]/cipd/infra/tools/luci/isolated/isolated_module_pin",
+      "-ensure-file",
+      "infra/tools/luci/isolated/${platform} isolated_module_pin",
+      "-max-threads",
+      "0",
+      "-json-output",
+      "/path/to/tmp/json"
+    ],
+    "cwd": "[CLEANUP]/builder",
+    "env_suffixes": {
+      "DEPOT_TOOLS_UPDATE": [
+        "0"
+      ],
+      "PATH": [
+        "RECIPE_REPO[depot_tools]"
+      ]
+    },
+    "infra_step": true,
+    "name": "install infra/tools/luci/isolated.ensure_installed",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_LINE@json.output@{@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"result\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@      {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"instance_id\": \"resolved-instance_id-of-isolated_module_\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"package\": \"infra/tools/luci/isolated/resolved-platform\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      }@@@",
+      "@@@STEP_LOG_LINE@json.output@    ]@@@",
+      "@@@STEP_LOG_LINE@json.output@  }@@@",
+      "@@@STEP_LOG_LINE@json.output@}@@@",
+      "@@@STEP_LOG_END@json.output@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[CACHE]/cipd/infra/tools/luci/isolated/isolated_module_pin/isolated",
+      "download",
+      "-verbose",
+      "-isolate-server",
+      "https://example.isolateserver.appspot.com",
+      "-isolated",
+      "abceqwe",
+      "-output-dir",
+      "[CLEANUP]/builder/src/out"
+    ],
+    "cwd": "[CLEANUP]/builder",
+    "env_suffixes": {
+      "DEPOT_TOOLS_UPDATE": [
+        "0"
+      ],
+      "PATH": [
+        "RECIPE_REPO[depot_tools]"
+      ]
+    },
+    "infra_step": true,
+    "name": "Download for engine"
+  },
+  {
+    "cmd": [
+      "[CLEANUP]/builder/src/out/host_debug_unopt/dart-sdk/bin/pub",
       "get"
     ],
-    "cwd": "[CACHE]/builder/src/flutter/web_sdk/web_engine_tester",
+    "cwd": "[CLEANUP]/builder/src/flutter/web_sdk/web_engine_tester",
     "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "ANDROID_HOME": "[CLEANUP]/builder/src/third_party/android_tools/sdk",
       "CHROME_NO_SANDBOX": "true",
-      "ENGINE_PATH": "[CACHE]/builder",
-      "GOMA_DIR": "[CACHE]/goma/client"
+      "ENGINE_PATH": "[CLEANUP]/builder",
+      "GOMA_DIR": "[CACHE]/goma/client",
+      "LOCAL_ENGINE": "[CLEANUP]/builder/src/out/host_debug_unopt"
     },
     "env_prefixes": {
       "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+        "[CLEANUP]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin",
+        "[CLEANUP]/builder/src/out/host_debug_unopt/dart-sdk/bin"
       ]
     },
     "env_suffixes": {
@@ -555,19 +651,21 @@
   },
   {
     "cmd": [
-      "[CACHE]/builder/src/out/host_debug_unopt/dart-sdk/bin/pub",
+      "[CLEANUP]/builder/src/out/host_debug_unopt/dart-sdk/bin/pub",
       "get"
     ],
-    "cwd": "[CACHE]/builder/src/flutter/lib/web_ui",
+    "cwd": "[CLEANUP]/builder/src/flutter/lib/web_ui",
     "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "ANDROID_HOME": "[CLEANUP]/builder/src/third_party/android_tools/sdk",
       "CHROME_NO_SANDBOX": "true",
-      "ENGINE_PATH": "[CACHE]/builder",
-      "GOMA_DIR": "[CACHE]/goma/client"
+      "ENGINE_PATH": "[CLEANUP]/builder",
+      "GOMA_DIR": "[CACHE]/goma/client",
+      "LOCAL_ENGINE": "[CLEANUP]/builder/src/out/host_debug_unopt"
     },
     "env_prefixes": {
       "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+        "[CLEANUP]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin",
+        "[CLEANUP]/builder/src/out/host_debug_unopt/dart-sdk/bin"
       ]
     },
     "env_suffixes": {
@@ -584,22 +682,24 @@
   },
   {
     "cmd": [
-      "[CACHE]/builder/src/out/host_debug_unopt/dart-sdk/bin/dart",
+      "[CLEANUP]/builder/src/out/host_debug_unopt/dart-sdk/bin/dart",
       "dev/felt.dart",
       "test",
       "--browser=chrome",
       "--integration-tests-only"
     ],
-    "cwd": "[CACHE]/builder/src/flutter/lib/web_ui",
+    "cwd": "[CLEANUP]/builder/src/flutter/lib/web_ui",
     "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "ANDROID_HOME": "[CLEANUP]/builder/src/third_party/android_tools/sdk",
       "CHROME_NO_SANDBOX": "true",
-      "ENGINE_PATH": "[CACHE]/builder",
-      "GOMA_DIR": "[CACHE]/goma/client"
+      "ENGINE_PATH": "[CLEANUP]/builder",
+      "GOMA_DIR": "[CACHE]/goma/client",
+      "LOCAL_ENGINE": "[CLEANUP]/builder/src/out/host_debug_unopt"
     },
     "env_prefixes": {
       "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+        "[CLEANUP]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin",
+        "[CLEANUP]/builder/src/out/host_debug_unopt/dart-sdk/bin"
       ]
     },
     "env_suffixes": {
@@ -623,18 +723,20 @@
       "/path/to/tmp/json",
       "copy",
       "tests for linux",
-      "[CACHE]/builder/src/flutter/lib/web_ui/.dart_tool/test_results/info.txt"
+      "[CLEANUP]/builder/src/flutter/lib/web_ui/.dart_tool/test_results/info.txt"
     ],
-    "cwd": "[CACHE]/builder/src/flutter/lib/web_ui",
+    "cwd": "[CLEANUP]/builder/src/flutter/lib/web_ui",
     "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "ANDROID_HOME": "[CLEANUP]/builder/src/third_party/android_tools/sdk",
       "CHROME_NO_SANDBOX": "true",
-      "ENGINE_PATH": "[CACHE]/builder",
-      "GOMA_DIR": "[CACHE]/goma/client"
+      "ENGINE_PATH": "[CLEANUP]/builder",
+      "GOMA_DIR": "[CACHE]/goma/client",
+      "LOCAL_ENGINE": "[CLEANUP]/builder/src/out/host_debug_unopt"
     },
     "env_prefixes": {
       "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+        "[CLEANUP]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin",
+        "[CLEANUP]/builder/src/out/host_debug_unopt/dart-sdk/bin"
       ]
     },
     "env_suffixes": {
@@ -665,19 +767,21 @@
       "----",
       "cp",
       "-r",
-      "[CACHE]/builder/src/flutter/lib/web_ui/.dart_tool/test_results",
+      "[CLEANUP]/builder/src/flutter/lib/web_ui/.dart_tool/test_results",
       "gs://mybucket/web_engine/0/chrome"
     ],
-    "cwd": "[CACHE]/builder/src/flutter/lib/web_ui",
+    "cwd": "[CLEANUP]/builder/src/flutter/lib/web_ui",
     "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "ANDROID_HOME": "[CLEANUP]/builder/src/third_party/android_tools/sdk",
       "CHROME_NO_SANDBOX": "true",
-      "ENGINE_PATH": "[CACHE]/builder",
-      "GOMA_DIR": "[CACHE]/goma/client"
+      "ENGINE_PATH": "[CLEANUP]/builder",
+      "GOMA_DIR": "[CACHE]/goma/client",
+      "LOCAL_ENGINE": "[CLEANUP]/builder/src/out/host_debug_unopt"
     },
     "env_prefixes": {
       "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+        "[CLEANUP]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin",
+        "[CLEANUP]/builder/src/out/host_debug_unopt/dart-sdk/bin"
       ]
     },
     "env_suffixes": {
@@ -704,19 +808,21 @@
       "--json-output",
       "/path/to/tmp/json",
       "glob",
-      "[CACHE]/builder/src/flutter/lib/web_ui/.dart_tool/test_results",
+      "[CLEANUP]/builder/src/flutter/lib/web_ui/.dart_tool/test_results",
       "*.html"
     ],
-    "cwd": "[CACHE]/builder/src/flutter/lib/web_ui",
+    "cwd": "[CLEANUP]/builder/src/flutter/lib/web_ui",
     "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "ANDROID_HOME": "[CLEANUP]/builder/src/third_party/android_tools/sdk",
       "CHROME_NO_SANDBOX": "true",
-      "ENGINE_PATH": "[CACHE]/builder",
-      "GOMA_DIR": "[CACHE]/goma/client"
+      "ENGINE_PATH": "[CLEANUP]/builder",
+      "GOMA_DIR": "[CACHE]/goma/client",
+      "LOCAL_ENGINE": "[CLEANUP]/builder/src/out/host_debug_unopt"
     },
     "env_prefixes": {
       "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+        "[CLEANUP]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin",
+        "[CLEANUP]/builder/src/out/host_debug_unopt/dart-sdk/bin"
       ]
     },
     "env_suffixes": {
@@ -732,7 +838,7 @@
     "infra_step": true,
     "name": "html goldens",
     "~followup_annotations": [
-      "@@@STEP_LOG_LINE@glob@[CACHE]/builder/src/flutter/lib/web_ui/.dart_tool/test_results/a.html@@@",
+      "@@@STEP_LOG_LINE@glob@[CLEANUP]/builder/src/flutter/lib/web_ui/.dart_tool/test_results/a.html@@@",
       "@@@STEP_LOG_END@glob@@@"
     ]
   },
@@ -752,16 +858,18 @@
       "pkill",
       "chrome"
     ],
-    "cwd": "[CACHE]/builder/src/flutter/lib/web_ui",
+    "cwd": "[CLEANUP]/builder/src/flutter/lib/web_ui",
     "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "ANDROID_HOME": "[CLEANUP]/builder/src/third_party/android_tools/sdk",
       "CHROME_NO_SANDBOX": "true",
-      "ENGINE_PATH": "[CACHE]/builder",
-      "GOMA_DIR": "[CACHE]/goma/client"
+      "ENGINE_PATH": "[CLEANUP]/builder",
+      "GOMA_DIR": "[CACHE]/goma/client",
+      "LOCAL_ENGINE": "[CLEANUP]/builder/src/out/host_debug_unopt"
     },
     "env_prefixes": {
       "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+        "[CLEANUP]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin",
+        "[CLEANUP]/builder/src/out/host_debug_unopt/dart-sdk/bin"
       ]
     },
     "env_suffixes": {
@@ -784,16 +892,18 @@
       "pkill",
       "dart"
     ],
-    "cwd": "[CACHE]/builder/src/flutter/lib/web_ui",
+    "cwd": "[CLEANUP]/builder/src/flutter/lib/web_ui",
     "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "ANDROID_HOME": "[CLEANUP]/builder/src/third_party/android_tools/sdk",
       "CHROME_NO_SANDBOX": "true",
-      "ENGINE_PATH": "[CACHE]/builder",
-      "GOMA_DIR": "[CACHE]/goma/client"
+      "ENGINE_PATH": "[CLEANUP]/builder",
+      "GOMA_DIR": "[CACHE]/goma/client",
+      "LOCAL_ENGINE": "[CLEANUP]/builder/src/out/host_debug_unopt"
     },
     "env_prefixes": {
       "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+        "[CLEANUP]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin",
+        "[CLEANUP]/builder/src/out/host_debug_unopt/dart-sdk/bin"
       ]
     },
     "env_suffixes": {
@@ -816,16 +926,18 @@
       "pkill",
       "flutter"
     ],
-    "cwd": "[CACHE]/builder/src/flutter/lib/web_ui",
+    "cwd": "[CLEANUP]/builder/src/flutter/lib/web_ui",
     "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "ANDROID_HOME": "[CLEANUP]/builder/src/third_party/android_tools/sdk",
       "CHROME_NO_SANDBOX": "true",
-      "ENGINE_PATH": "[CACHE]/builder",
-      "GOMA_DIR": "[CACHE]/goma/client"
+      "ENGINE_PATH": "[CLEANUP]/builder",
+      "GOMA_DIR": "[CACHE]/goma/client",
+      "LOCAL_ENGINE": "[CLEANUP]/builder/src/out/host_debug_unopt"
     },
     "env_prefixes": {
       "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+        "[CLEANUP]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin",
+        "[CLEANUP]/builder/src/out/host_debug_unopt/dart-sdk/bin"
       ]
     },
     "env_suffixes": {
@@ -848,16 +960,18 @@
       "pkill",
       "java"
     ],
-    "cwd": "[CACHE]/builder/src/flutter/lib/web_ui",
+    "cwd": "[CLEANUP]/builder/src/flutter/lib/web_ui",
     "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "ANDROID_HOME": "[CLEANUP]/builder/src/third_party/android_tools/sdk",
       "CHROME_NO_SANDBOX": "true",
-      "ENGINE_PATH": "[CACHE]/builder",
-      "GOMA_DIR": "[CACHE]/goma/client"
+      "ENGINE_PATH": "[CLEANUP]/builder",
+      "GOMA_DIR": "[CACHE]/goma/client",
+      "LOCAL_ENGINE": "[CLEANUP]/builder/src/out/host_debug_unopt"
     },
     "env_prefixes": {
       "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+        "[CLEANUP]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin",
+        "[CLEANUP]/builder/src/out/host_debug_unopt/dart-sdk/bin"
       ]
     },
     "env_suffixes": {
@@ -880,16 +994,18 @@
       "pkill",
       "adb"
     ],
-    "cwd": "[CACHE]/builder/src/flutter/lib/web_ui",
+    "cwd": "[CLEANUP]/builder/src/flutter/lib/web_ui",
     "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "ANDROID_HOME": "[CLEANUP]/builder/src/third_party/android_tools/sdk",
       "CHROME_NO_SANDBOX": "true",
-      "ENGINE_PATH": "[CACHE]/builder",
-      "GOMA_DIR": "[CACHE]/goma/client"
+      "ENGINE_PATH": "[CLEANUP]/builder",
+      "GOMA_DIR": "[CACHE]/goma/client",
+      "LOCAL_ENGINE": "[CLEANUP]/builder/src/out/host_debug_unopt"
     },
     "env_prefixes": {
       "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+        "[CLEANUP]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin",
+        "[CLEANUP]/builder/src/out/host_debug_unopt/dart-sdk/bin"
       ]
     },
     "env_suffixes": {
@@ -916,16 +1032,18 @@
       "-o",
       "%MEM"
     ],
-    "cwd": "[CACHE]/builder/src/flutter/lib/web_ui",
+    "cwd": "[CLEANUP]/builder/src/flutter/lib/web_ui",
     "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "ANDROID_HOME": "[CLEANUP]/builder/src/third_party/android_tools/sdk",
       "CHROME_NO_SANDBOX": "true",
-      "ENGINE_PATH": "[CACHE]/builder",
-      "GOMA_DIR": "[CACHE]/goma/client"
+      "ENGINE_PATH": "[CLEANUP]/builder",
+      "GOMA_DIR": "[CACHE]/goma/client",
+      "LOCAL_ENGINE": "[CLEANUP]/builder/src/out/host_debug_unopt"
     },
     "env_prefixes": {
       "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+        "[CLEANUP]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin",
+        "[CLEANUP]/builder/src/out/host_debug_unopt/dart-sdk/bin"
       ]
     },
     "env_suffixes": {
diff --git a/recipes/engine/web_engine_drone.expected/mac-post-submit.json b/recipes/engine/web_engine_drone.expected/mac-post-submit.json
index 05cdab5..0231212 100644
--- a/recipes/engine/web_engine_drone.expected/mac-post-submit.json
+++ b/recipes/engine/web_engine_drone.expected/mac-post-submit.json
@@ -7,7 +7,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "rmtree",
-      "[CACHE]/builder/src/out"
+      "[CLEANUP]/builder/src/out"
     ],
     "infra_step": true,
     "name": "Clobber build output: Mac"
@@ -22,7 +22,7 @@
       "ensure-directory",
       "--mode",
       "0777",
-      "[CACHE]/builder"
+      "[CLEANUP]/builder"
     ],
     "infra_step": true,
     "name": "Ensure checkout cache"
@@ -73,7 +73,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "rmtree",
-      "[CACHE]/builder"
+      "[CLEANUP]/builder"
     ],
     "infra_step": true,
     "name": "Checkout source code.Clobber cache",
@@ -91,7 +91,7 @@
       "ensure-directory",
       "--mode",
       "0777",
-      "[CACHE]/builder"
+      "[CLEANUP]/builder"
     ],
     "infra_step": true,
     "name": "Checkout source code.Ensure checkout cache",
@@ -117,7 +117,7 @@
       "--revision",
       "src/flutter@HEAD"
     ],
-    "cwd": "[CACHE]/builder",
+    "cwd": "[CLEANUP]/builder",
     "env": {
       "GIT_HTTP_LOW_SPEED_LIMIT": "102400",
       "GIT_HTTP_LOW_SPEED_TIME": "300"
@@ -180,7 +180,7 @@
       "RECIPE_REPO[depot_tools]/gclient.py",
       "runhooks"
     ],
-    "cwd": "[CACHE]/builder",
+    "cwd": "[CLEANUP]/builder",
     "env_suffixes": {
       "DEPOT_TOOLS_UPDATE": [
         "0"
@@ -226,7 +226,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "[CACHE]/builder/src/flutter/lib/web_ui/dev/goldens_lock.yaml",
+      "[CLEANUP]/builder/src/flutter/lib/web_ui/dev/goldens_lock.yaml",
       "/path/to/tmp/"
     ],
     "cwd": "[CACHE]/builder",
@@ -243,7 +243,7 @@
       "-u",
       "RECIPE_MODULE[flutter::yaml]/resources/parse_yaml.py",
       "--yaml_file",
-      "[CACHE]/builder/src/flutter/lib/web_ui/dev/goldens_lock.yaml",
+      "[CLEANUP]/builder/src/flutter/lib/web_ui/dev/goldens_lock.yaml",
       "--json_file",
       "/path/to/tmp/json"
     ],
@@ -355,26 +355,122 @@
       "/path/to/tmp/json",
       "copytree",
       "[CACHE]/builder/goldens",
-      "[CACHE]/builder/src/flutter/lib/web_ui/.dart_tool/goldens"
+      "[CLEANUP]/builder/src/flutter/lib/web_ui/.dart_tool/goldens"
     ],
     "infra_step": true,
     "name": "copy goldens"
   },
   {
+    "cmd": [],
+    "name": "install infra/tools/luci/isolated"
+  },
+  {
     "cmd": [
-      "[CACHE]/builder/src/out/host_debug_unopt/dart-sdk/bin/pub",
+      "vpython",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "ensure-directory",
+      "--mode",
+      "0777",
+      "[CACHE]/cipd/infra/tools/luci/isolated/isolated_module_pin"
+    ],
+    "cwd": "[CLEANUP]/builder",
+    "env_suffixes": {
+      "DEPOT_TOOLS_UPDATE": [
+        "0"
+      ],
+      "PATH": [
+        "RECIPE_REPO[depot_tools]"
+      ]
+    },
+    "infra_step": true,
+    "name": "install infra/tools/luci/isolated.ensure package directory",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "cipd",
+      "ensure",
+      "-root",
+      "[CACHE]/cipd/infra/tools/luci/isolated/isolated_module_pin",
+      "-ensure-file",
+      "infra/tools/luci/isolated/${platform} isolated_module_pin",
+      "-max-threads",
+      "0",
+      "-json-output",
+      "/path/to/tmp/json"
+    ],
+    "cwd": "[CLEANUP]/builder",
+    "env_suffixes": {
+      "DEPOT_TOOLS_UPDATE": [
+        "0"
+      ],
+      "PATH": [
+        "RECIPE_REPO[depot_tools]"
+      ]
+    },
+    "infra_step": true,
+    "name": "install infra/tools/luci/isolated.ensure_installed",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_LINE@json.output@{@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"result\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@      {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"instance_id\": \"resolved-instance_id-of-isolated_module_\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"package\": \"infra/tools/luci/isolated/resolved-platform\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      }@@@",
+      "@@@STEP_LOG_LINE@json.output@    ]@@@",
+      "@@@STEP_LOG_LINE@json.output@  }@@@",
+      "@@@STEP_LOG_LINE@json.output@}@@@",
+      "@@@STEP_LOG_END@json.output@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[CACHE]/cipd/infra/tools/luci/isolated/isolated_module_pin/isolated",
+      "download",
+      "-verbose",
+      "-isolate-server",
+      "https://example.isolateserver.appspot.com",
+      "-isolated",
+      "abceqwe",
+      "-output-dir",
+      "[CLEANUP]/builder/src/out"
+    ],
+    "cwd": "[CLEANUP]/builder",
+    "env_suffixes": {
+      "DEPOT_TOOLS_UPDATE": [
+        "0"
+      ],
+      "PATH": [
+        "RECIPE_REPO[depot_tools]"
+      ]
+    },
+    "infra_step": true,
+    "name": "Download for engine"
+  },
+  {
+    "cmd": [
+      "[CLEANUP]/builder/src/out/host_debug_unopt/dart-sdk/bin/pub",
       "get"
     ],
-    "cwd": "[CACHE]/builder/src/flutter/web_sdk/web_engine_tester",
+    "cwd": "[CLEANUP]/builder/src/flutter/web_sdk/web_engine_tester",
     "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "ANDROID_HOME": "[CLEANUP]/builder/src/third_party/android_tools/sdk",
       "CHROME_NO_SANDBOX": "true",
-      "ENGINE_PATH": "[CACHE]/builder",
-      "GOMA_DIR": "[CACHE]/goma/client"
+      "ENGINE_PATH": "[CLEANUP]/builder",
+      "GOMA_DIR": "[CACHE]/goma/client",
+      "LOCAL_ENGINE": "[CLEANUP]/builder/src/out/host_debug_unopt"
     },
     "env_prefixes": {
       "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+        "[CLEANUP]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin",
+        "[CLEANUP]/builder/src/out/host_debug_unopt/dart-sdk/bin"
       ]
     },
     "env_suffixes": {
@@ -391,19 +487,21 @@
   },
   {
     "cmd": [
-      "[CACHE]/builder/src/out/host_debug_unopt/dart-sdk/bin/pub",
+      "[CLEANUP]/builder/src/out/host_debug_unopt/dart-sdk/bin/pub",
       "get"
     ],
-    "cwd": "[CACHE]/builder/src/flutter/lib/web_ui",
+    "cwd": "[CLEANUP]/builder/src/flutter/lib/web_ui",
     "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "ANDROID_HOME": "[CLEANUP]/builder/src/third_party/android_tools/sdk",
       "CHROME_NO_SANDBOX": "true",
-      "ENGINE_PATH": "[CACHE]/builder",
-      "GOMA_DIR": "[CACHE]/goma/client"
+      "ENGINE_PATH": "[CLEANUP]/builder",
+      "GOMA_DIR": "[CACHE]/goma/client",
+      "LOCAL_ENGINE": "[CLEANUP]/builder/src/out/host_debug_unopt"
     },
     "env_prefixes": {
       "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+        "[CLEANUP]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin",
+        "[CLEANUP]/builder/src/out/host_debug_unopt/dart-sdk/bin"
       ]
     },
     "env_suffixes": {
@@ -431,16 +529,18 @@
       "-json-output",
       "/path/to/tmp/json"
     ],
-    "cwd": "[CACHE]/builder/src/flutter/lib/web_ui",
+    "cwd": "[CLEANUP]/builder/src/flutter/lib/web_ui",
     "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "ANDROID_HOME": "[CLEANUP]/builder/src/third_party/android_tools/sdk",
       "CHROME_NO_SANDBOX": "true",
-      "ENGINE_PATH": "[CACHE]/builder",
-      "GOMA_DIR": "[CACHE]/goma/client"
+      "ENGINE_PATH": "[CLEANUP]/builder",
+      "GOMA_DIR": "[CACHE]/goma/client",
+      "LOCAL_ENGINE": "[CLEANUP]/builder/src/out/host_debug_unopt"
     },
     "env_prefixes": {
       "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+        "[CLEANUP]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin",
+        "[CLEANUP]/builder/src/out/host_debug_unopt/dart-sdk/bin"
       ]
     },
     "env_suffixes": {
@@ -480,16 +580,18 @@
       "-output-dir",
       "[CACHE]/osx_sdk/XCode.app"
     ],
-    "cwd": "[CACHE]/builder/src/flutter/lib/web_ui",
+    "cwd": "[CLEANUP]/builder/src/flutter/lib/web_ui",
     "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "ANDROID_HOME": "[CLEANUP]/builder/src/third_party/android_tools/sdk",
       "CHROME_NO_SANDBOX": "true",
-      "ENGINE_PATH": "[CACHE]/builder",
-      "GOMA_DIR": "[CACHE]/goma/client"
+      "ENGINE_PATH": "[CLEANUP]/builder",
+      "GOMA_DIR": "[CACHE]/goma/client",
+      "LOCAL_ENGINE": "[CLEANUP]/builder/src/out/host_debug_unopt"
     },
     "env_prefixes": {
       "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+        "[CLEANUP]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin",
+        "[CLEANUP]/builder/src/out/host_debug_unopt/dart-sdk/bin"
       ]
     },
     "env_suffixes": {
@@ -512,16 +614,18 @@
       "--switch",
       "[CACHE]/osx_sdk/XCode.app"
     ],
-    "cwd": "[CACHE]/builder/src/flutter/lib/web_ui",
+    "cwd": "[CLEANUP]/builder/src/flutter/lib/web_ui",
     "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "ANDROID_HOME": "[CLEANUP]/builder/src/third_party/android_tools/sdk",
       "CHROME_NO_SANDBOX": "true",
-      "ENGINE_PATH": "[CACHE]/builder",
-      "GOMA_DIR": "[CACHE]/goma/client"
+      "ENGINE_PATH": "[CLEANUP]/builder",
+      "GOMA_DIR": "[CACHE]/goma/client",
+      "LOCAL_ENGINE": "[CLEANUP]/builder/src/out/host_debug_unopt"
     },
     "env_prefixes": {
       "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+        "[CLEANUP]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin",
+        "[CLEANUP]/builder/src/out/host_debug_unopt/dart-sdk/bin"
       ]
     },
     "env_suffixes": {
@@ -539,22 +643,24 @@
   },
   {
     "cmd": [
-      "[CACHE]/builder/src/out/host_debug_unopt/dart-sdk/bin/dart",
+      "[CLEANUP]/builder/src/out/host_debug_unopt/dart-sdk/bin/dart",
       "dev/felt.dart",
       "test",
       "--browser=ios-safari",
       "--unit-tests-only"
     ],
-    "cwd": "[CACHE]/builder/src/flutter/lib/web_ui",
+    "cwd": "[CLEANUP]/builder/src/flutter/lib/web_ui",
     "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "ANDROID_HOME": "[CLEANUP]/builder/src/third_party/android_tools/sdk",
       "CHROME_NO_SANDBOX": "true",
-      "ENGINE_PATH": "[CACHE]/builder",
-      "GOMA_DIR": "[CACHE]/goma/client"
+      "ENGINE_PATH": "[CLEANUP]/builder",
+      "GOMA_DIR": "[CACHE]/goma/client",
+      "LOCAL_ENGINE": "[CLEANUP]/builder/src/out/host_debug_unopt"
     },
     "env_prefixes": {
       "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+        "[CLEANUP]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin",
+        "[CLEANUP]/builder/src/out/host_debug_unopt/dart-sdk/bin"
       ]
     },
     "env_suffixes": {
@@ -578,18 +684,20 @@
       "/path/to/tmp/json",
       "copy",
       "tests for mac",
-      "[CACHE]/builder/src/flutter/lib/web_ui/.dart_tool/test_results/info.txt"
+      "[CLEANUP]/builder/src/flutter/lib/web_ui/.dart_tool/test_results/info.txt"
     ],
-    "cwd": "[CACHE]/builder/src/flutter/lib/web_ui",
+    "cwd": "[CLEANUP]/builder/src/flutter/lib/web_ui",
     "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "ANDROID_HOME": "[CLEANUP]/builder/src/third_party/android_tools/sdk",
       "CHROME_NO_SANDBOX": "true",
-      "ENGINE_PATH": "[CACHE]/builder",
-      "GOMA_DIR": "[CACHE]/goma/client"
+      "ENGINE_PATH": "[CLEANUP]/builder",
+      "GOMA_DIR": "[CACHE]/goma/client",
+      "LOCAL_ENGINE": "[CLEANUP]/builder/src/out/host_debug_unopt"
     },
     "env_prefixes": {
       "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+        "[CLEANUP]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin",
+        "[CLEANUP]/builder/src/out/host_debug_unopt/dart-sdk/bin"
       ]
     },
     "env_suffixes": {
@@ -620,19 +728,21 @@
       "----",
       "cp",
       "-r",
-      "[CACHE]/builder/src/flutter/lib/web_ui/.dart_tool/test_results",
+      "[CLEANUP]/builder/src/flutter/lib/web_ui/.dart_tool/test_results",
       "gs://mybucket/web_engine/0/ios-safari"
     ],
-    "cwd": "[CACHE]/builder/src/flutter/lib/web_ui",
+    "cwd": "[CLEANUP]/builder/src/flutter/lib/web_ui",
     "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "ANDROID_HOME": "[CLEANUP]/builder/src/third_party/android_tools/sdk",
       "CHROME_NO_SANDBOX": "true",
-      "ENGINE_PATH": "[CACHE]/builder",
-      "GOMA_DIR": "[CACHE]/goma/client"
+      "ENGINE_PATH": "[CLEANUP]/builder",
+      "GOMA_DIR": "[CACHE]/goma/client",
+      "LOCAL_ENGINE": "[CLEANUP]/builder/src/out/host_debug_unopt"
     },
     "env_prefixes": {
       "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+        "[CLEANUP]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin",
+        "[CLEANUP]/builder/src/out/host_debug_unopt/dart-sdk/bin"
       ]
     },
     "env_suffixes": {
@@ -659,19 +769,21 @@
       "--json-output",
       "/path/to/tmp/json",
       "glob",
-      "[CACHE]/builder/src/flutter/lib/web_ui/.dart_tool/test_results",
+      "[CLEANUP]/builder/src/flutter/lib/web_ui/.dart_tool/test_results",
       "*.html"
     ],
-    "cwd": "[CACHE]/builder/src/flutter/lib/web_ui",
+    "cwd": "[CLEANUP]/builder/src/flutter/lib/web_ui",
     "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "ANDROID_HOME": "[CLEANUP]/builder/src/third_party/android_tools/sdk",
       "CHROME_NO_SANDBOX": "true",
-      "ENGINE_PATH": "[CACHE]/builder",
-      "GOMA_DIR": "[CACHE]/goma/client"
+      "ENGINE_PATH": "[CLEANUP]/builder",
+      "GOMA_DIR": "[CACHE]/goma/client",
+      "LOCAL_ENGINE": "[CLEANUP]/builder/src/out/host_debug_unopt"
     },
     "env_prefixes": {
       "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+        "[CLEANUP]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin",
+        "[CLEANUP]/builder/src/out/host_debug_unopt/dart-sdk/bin"
       ]
     },
     "env_suffixes": {
@@ -687,7 +799,7 @@
     "infra_step": true,
     "name": "html goldens",
     "~followup_annotations": [
-      "@@@STEP_LOG_LINE@glob@[CACHE]/builder/src/flutter/lib/web_ui/.dart_tool/test_results/a.html@@@",
+      "@@@STEP_LOG_LINE@glob@[CLEANUP]/builder/src/flutter/lib/web_ui/.dart_tool/test_results/a.html@@@",
       "@@@STEP_LOG_END@glob@@@"
     ]
   },
@@ -708,16 +820,18 @@
       "-9",
       "dart"
     ],
-    "cwd": "[CACHE]/builder/src/flutter/lib/web_ui",
+    "cwd": "[CLEANUP]/builder/src/flutter/lib/web_ui",
     "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "ANDROID_HOME": "[CLEANUP]/builder/src/third_party/android_tools/sdk",
       "CHROME_NO_SANDBOX": "true",
-      "ENGINE_PATH": "[CACHE]/builder",
-      "GOMA_DIR": "[CACHE]/goma/client"
+      "ENGINE_PATH": "[CLEANUP]/builder",
+      "GOMA_DIR": "[CACHE]/goma/client",
+      "LOCAL_ENGINE": "[CLEANUP]/builder/src/out/host_debug_unopt"
     },
     "env_prefixes": {
       "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+        "[CLEANUP]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin",
+        "[CLEANUP]/builder/src/out/host_debug_unopt/dart-sdk/bin"
       ]
     },
     "env_suffixes": {
@@ -741,16 +855,18 @@
       "-9",
       "flutter"
     ],
-    "cwd": "[CACHE]/builder/src/flutter/lib/web_ui",
+    "cwd": "[CLEANUP]/builder/src/flutter/lib/web_ui",
     "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "ANDROID_HOME": "[CLEANUP]/builder/src/third_party/android_tools/sdk",
       "CHROME_NO_SANDBOX": "true",
-      "ENGINE_PATH": "[CACHE]/builder",
-      "GOMA_DIR": "[CACHE]/goma/client"
+      "ENGINE_PATH": "[CLEANUP]/builder",
+      "GOMA_DIR": "[CACHE]/goma/client",
+      "LOCAL_ENGINE": "[CLEANUP]/builder/src/out/host_debug_unopt"
     },
     "env_prefixes": {
       "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+        "[CLEANUP]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin",
+        "[CLEANUP]/builder/src/out/host_debug_unopt/dart-sdk/bin"
       ]
     },
     "env_suffixes": {
@@ -774,16 +890,18 @@
       "-9",
       "Chrome"
     ],
-    "cwd": "[CACHE]/builder/src/flutter/lib/web_ui",
+    "cwd": "[CLEANUP]/builder/src/flutter/lib/web_ui",
     "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "ANDROID_HOME": "[CLEANUP]/builder/src/third_party/android_tools/sdk",
       "CHROME_NO_SANDBOX": "true",
-      "ENGINE_PATH": "[CACHE]/builder",
-      "GOMA_DIR": "[CACHE]/goma/client"
+      "ENGINE_PATH": "[CLEANUP]/builder",
+      "GOMA_DIR": "[CACHE]/goma/client",
+      "LOCAL_ENGINE": "[CLEANUP]/builder/src/out/host_debug_unopt"
     },
     "env_prefixes": {
       "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+        "[CLEANUP]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin",
+        "[CLEANUP]/builder/src/out/host_debug_unopt/dart-sdk/bin"
       ]
     },
     "env_suffixes": {
@@ -807,16 +925,18 @@
       "-9",
       "Safari"
     ],
-    "cwd": "[CACHE]/builder/src/flutter/lib/web_ui",
+    "cwd": "[CLEANUP]/builder/src/flutter/lib/web_ui",
     "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "ANDROID_HOME": "[CLEANUP]/builder/src/third_party/android_tools/sdk",
       "CHROME_NO_SANDBOX": "true",
-      "ENGINE_PATH": "[CACHE]/builder",
-      "GOMA_DIR": "[CACHE]/goma/client"
+      "ENGINE_PATH": "[CLEANUP]/builder",
+      "GOMA_DIR": "[CACHE]/goma/client",
+      "LOCAL_ENGINE": "[CLEANUP]/builder/src/out/host_debug_unopt"
     },
     "env_prefixes": {
       "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+        "[CLEANUP]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin",
+        "[CLEANUP]/builder/src/out/host_debug_unopt/dart-sdk/bin"
       ]
     },
     "env_suffixes": {
@@ -840,16 +960,18 @@
       "-9",
       "java"
     ],
-    "cwd": "[CACHE]/builder/src/flutter/lib/web_ui",
+    "cwd": "[CLEANUP]/builder/src/flutter/lib/web_ui",
     "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "ANDROID_HOME": "[CLEANUP]/builder/src/third_party/android_tools/sdk",
       "CHROME_NO_SANDBOX": "true",
-      "ENGINE_PATH": "[CACHE]/builder",
-      "GOMA_DIR": "[CACHE]/goma/client"
+      "ENGINE_PATH": "[CLEANUP]/builder",
+      "GOMA_DIR": "[CACHE]/goma/client",
+      "LOCAL_ENGINE": "[CLEANUP]/builder/src/out/host_debug_unopt"
     },
     "env_prefixes": {
       "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+        "[CLEANUP]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin",
+        "[CLEANUP]/builder/src/out/host_debug_unopt/dart-sdk/bin"
       ]
     },
     "env_suffixes": {
@@ -873,16 +995,18 @@
       "-9",
       "adb"
     ],
-    "cwd": "[CACHE]/builder/src/flutter/lib/web_ui",
+    "cwd": "[CLEANUP]/builder/src/flutter/lib/web_ui",
     "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "ANDROID_HOME": "[CLEANUP]/builder/src/third_party/android_tools/sdk",
       "CHROME_NO_SANDBOX": "true",
-      "ENGINE_PATH": "[CACHE]/builder",
-      "GOMA_DIR": "[CACHE]/goma/client"
+      "ENGINE_PATH": "[CLEANUP]/builder",
+      "GOMA_DIR": "[CACHE]/goma/client",
+      "LOCAL_ENGINE": "[CLEANUP]/builder/src/out/host_debug_unopt"
     },
     "env_prefixes": {
       "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+        "[CLEANUP]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin",
+        "[CLEANUP]/builder/src/out/host_debug_unopt/dart-sdk/bin"
       ]
     },
     "env_suffixes": {
@@ -908,16 +1032,18 @@
       "-o",
       "mem"
     ],
-    "cwd": "[CACHE]/builder/src/flutter/lib/web_ui",
+    "cwd": "[CLEANUP]/builder/src/flutter/lib/web_ui",
     "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "ANDROID_HOME": "[CLEANUP]/builder/src/third_party/android_tools/sdk",
       "CHROME_NO_SANDBOX": "true",
-      "ENGINE_PATH": "[CACHE]/builder",
-      "GOMA_DIR": "[CACHE]/goma/client"
+      "ENGINE_PATH": "[CLEANUP]/builder",
+      "GOMA_DIR": "[CACHE]/goma/client",
+      "LOCAL_ENGINE": "[CLEANUP]/builder/src/out/host_debug_unopt"
     },
     "env_prefixes": {
       "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+        "[CLEANUP]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin",
+        "[CLEANUP]/builder/src/out/host_debug_unopt/dart-sdk/bin"
       ]
     },
     "env_suffixes": {
@@ -937,16 +1063,18 @@
       "xattr",
       "/opt/s/w/ir/cipd_bin_packages/python"
     ],
-    "cwd": "[CACHE]/builder/src/flutter/lib/web_ui",
+    "cwd": "[CLEANUP]/builder/src/flutter/lib/web_ui",
     "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "ANDROID_HOME": "[CLEANUP]/builder/src/third_party/android_tools/sdk",
       "CHROME_NO_SANDBOX": "true",
-      "ENGINE_PATH": "[CACHE]/builder",
-      "GOMA_DIR": "[CACHE]/goma/client"
+      "ENGINE_PATH": "[CLEANUP]/builder",
+      "GOMA_DIR": "[CACHE]/goma/client",
+      "LOCAL_ENGINE": "[CLEANUP]/builder/src/out/host_debug_unopt"
     },
     "env_prefixes": {
       "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+        "[CLEANUP]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin",
+        "[CLEANUP]/builder/src/out/host_debug_unopt/dart-sdk/bin"
       ]
     },
     "env_suffixes": {
@@ -966,16 +1094,18 @@
       "xattr",
       "/opt/s/w/ir/cipd_bin_packages/git"
     ],
-    "cwd": "[CACHE]/builder/src/flutter/lib/web_ui",
+    "cwd": "[CLEANUP]/builder/src/flutter/lib/web_ui",
     "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "ANDROID_HOME": "[CLEANUP]/builder/src/third_party/android_tools/sdk",
       "CHROME_NO_SANDBOX": "true",
-      "ENGINE_PATH": "[CACHE]/builder",
-      "GOMA_DIR": "[CACHE]/goma/client"
+      "ENGINE_PATH": "[CLEANUP]/builder",
+      "GOMA_DIR": "[CACHE]/goma/client",
+      "LOCAL_ENGINE": "[CLEANUP]/builder/src/out/host_debug_unopt"
     },
     "env_prefixes": {
       "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+        "[CLEANUP]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin",
+        "[CLEANUP]/builder/src/out/host_debug_unopt/dart-sdk/bin"
       ]
     },
     "env_suffixes": {
@@ -996,16 +1126,18 @@
       "xcode-select",
       "--reset"
     ],
-    "cwd": "[CACHE]/builder/src/flutter/lib/web_ui",
+    "cwd": "[CLEANUP]/builder/src/flutter/lib/web_ui",
     "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "ANDROID_HOME": "[CLEANUP]/builder/src/third_party/android_tools/sdk",
       "CHROME_NO_SANDBOX": "true",
-      "ENGINE_PATH": "[CACHE]/builder",
-      "GOMA_DIR": "[CACHE]/goma/client"
+      "ENGINE_PATH": "[CLEANUP]/builder",
+      "GOMA_DIR": "[CACHE]/goma/client",
+      "LOCAL_ENGINE": "[CLEANUP]/builder/src/out/host_debug_unopt"
     },
     "env_prefixes": {
       "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+        "[CLEANUP]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin",
+        "[CLEANUP]/builder/src/out/host_debug_unopt/dart-sdk/bin"
       ]
     },
     "env_suffixes": {
diff --git a/recipes/engine/web_engine_drone.expected/windows-post-submit.json b/recipes/engine/web_engine_drone.expected/windows-post-submit.json
index bbf0fe1..a4a400e 100644
--- a/recipes/engine/web_engine_drone.expected/windows-post-submit.json
+++ b/recipes/engine/web_engine_drone.expected/windows-post-submit.json
@@ -7,7 +7,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "rmtree",
-      "[CACHE]\\builder\\src\\out"
+      "[CLEANUP]\\builder\\src\\out"
     ],
     "infra_step": true,
     "name": "Clobber build output: Win"
@@ -22,7 +22,7 @@
       "ensure-directory",
       "--mode",
       "0777",
-      "[CACHE]\\builder"
+      "[CLEANUP]\\builder"
     ],
     "infra_step": true,
     "name": "Ensure checkout cache"
@@ -73,7 +73,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "rmtree",
-      "[CACHE]\\builder"
+      "[CLEANUP]\\builder"
     ],
     "infra_step": true,
     "name": "Checkout source code.Clobber cache",
@@ -91,7 +91,7 @@
       "ensure-directory",
       "--mode",
       "0777",
-      "[CACHE]\\builder"
+      "[CLEANUP]\\builder"
     ],
     "infra_step": true,
     "name": "Checkout source code.Ensure checkout cache",
@@ -117,7 +117,7 @@
       "--revision",
       "src/flutter@HEAD"
     ],
-    "cwd": "[CACHE]\\builder",
+    "cwd": "[CLEANUP]\\builder",
     "env": {
       "GIT_HTTP_LOW_SPEED_LIMIT": "102400",
       "GIT_HTTP_LOW_SPEED_TIME": "300"
@@ -180,7 +180,7 @@
       "RECIPE_REPO[depot_tools]\\gclient.py",
       "runhooks"
     ],
-    "cwd": "[CACHE]\\builder",
+    "cwd": "[CLEANUP]\\builder",
     "env_suffixes": {
       "DEPOT_TOOLS_UPDATE": [
         "0"
@@ -196,20 +196,116 @@
     ]
   },
   {
+    "cmd": [],
+    "name": "install infra/tools/luci/isolated"
+  },
+  {
     "cmd": [
-      "[CACHE]\\builder\\src\\out\\host_debug_unopt\\dart-sdk\\bin\\pub",
+      "vpython",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]\\resources\\fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "ensure-directory",
+      "--mode",
+      "0777",
+      "[CACHE]\\cipd\\infra\\tools\\luci\\isolated\\isolated_module_pin"
+    ],
+    "cwd": "[CLEANUP]\\builder",
+    "env_suffixes": {
+      "DEPOT_TOOLS_UPDATE": [
+        "0"
+      ],
+      "PATH": [
+        "RECIPE_REPO[depot_tools]"
+      ]
+    },
+    "infra_step": true,
+    "name": "install infra/tools/luci/isolated.ensure package directory",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "cipd.bat",
+      "ensure",
+      "-root",
+      "[CACHE]\\cipd\\infra\\tools\\luci\\isolated\\isolated_module_pin",
+      "-ensure-file",
+      "infra/tools/luci/isolated/${platform} isolated_module_pin",
+      "-max-threads",
+      "0",
+      "-json-output",
+      "/path/to/tmp/json"
+    ],
+    "cwd": "[CLEANUP]\\builder",
+    "env_suffixes": {
+      "DEPOT_TOOLS_UPDATE": [
+        "0"
+      ],
+      "PATH": [
+        "RECIPE_REPO[depot_tools]"
+      ]
+    },
+    "infra_step": true,
+    "name": "install infra/tools/luci/isolated.ensure_installed",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_LINE@json.output@{@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"result\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@      {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"instance_id\": \"resolved-instance_id-of-isolated_module_\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"package\": \"infra/tools/luci/isolated/resolved-platform\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      }@@@",
+      "@@@STEP_LOG_LINE@json.output@    ]@@@",
+      "@@@STEP_LOG_LINE@json.output@  }@@@",
+      "@@@STEP_LOG_LINE@json.output@}@@@",
+      "@@@STEP_LOG_END@json.output@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[CACHE]\\cipd\\infra\\tools\\luci\\isolated\\isolated_module_pin\\isolated",
+      "download",
+      "-verbose",
+      "-isolate-server",
+      "https://example.isolateserver.appspot.com",
+      "-isolated",
+      "abceqwe",
+      "-output-dir",
+      "[CLEANUP]\\builder\\src\\out"
+    ],
+    "cwd": "[CLEANUP]\\builder",
+    "env_suffixes": {
+      "DEPOT_TOOLS_UPDATE": [
+        "0"
+      ],
+      "PATH": [
+        "RECIPE_REPO[depot_tools]"
+      ]
+    },
+    "infra_step": true,
+    "name": "Download for engine"
+  },
+  {
+    "cmd": [
+      "[CLEANUP]\\builder\\src\\out\\host_debug_unopt\\dart-sdk\\bin\\pub",
       "get"
     ],
-    "cwd": "[CACHE]\\builder\\src\\flutter\\web_sdk\\web_engine_tester",
+    "cwd": "[CLEANUP]\\builder\\src\\flutter\\web_sdk\\web_engine_tester",
     "env": {
-      "ANDROID_HOME": "[CACHE]\\builder\\src\\third_party\\android_tools\\sdk",
+      "ANDROID_HOME": "[CLEANUP]\\builder\\src\\third_party\\android_tools\\sdk",
       "CHROME_NO_SANDBOX": "true",
-      "ENGINE_PATH": "[CACHE]\\builder",
-      "GOMA_DIR": "[CACHE]\\goma\\client"
+      "ENGINE_PATH": "[CLEANUP]\\builder",
+      "GOMA_DIR": "[CACHE]\\goma\\client",
+      "LOCAL_ENGINE": "[CLEANUP]\\builder\\src\\out\\host_debug_unopt"
     },
     "env_prefixes": {
       "PATH": [
-        "[CACHE]\\builder\\src\\third_party\\dart\\tools\\sdks\\dart-sdk\\bin"
+        "[CLEANUP]\\builder\\src\\third_party\\dart\\tools\\sdks\\dart-sdk\\bin",
+        "[CLEANUP]\\builder\\src\\out\\host_debug_unopt\\dart-sdk\\bin"
       ]
     },
     "env_suffixes": {
@@ -226,19 +322,21 @@
   },
   {
     "cmd": [
-      "[CACHE]\\builder\\src\\out\\host_debug_unopt\\dart-sdk\\bin\\pub",
+      "[CLEANUP]\\builder\\src\\out\\host_debug_unopt\\dart-sdk\\bin\\pub",
       "get"
     ],
-    "cwd": "[CACHE]\\builder\\src\\flutter\\lib\\web_ui",
+    "cwd": "[CLEANUP]\\builder\\src\\flutter\\lib\\web_ui",
     "env": {
-      "ANDROID_HOME": "[CACHE]\\builder\\src\\third_party\\android_tools\\sdk",
+      "ANDROID_HOME": "[CLEANUP]\\builder\\src\\third_party\\android_tools\\sdk",
       "CHROME_NO_SANDBOX": "true",
-      "ENGINE_PATH": "[CACHE]\\builder",
-      "GOMA_DIR": "[CACHE]\\goma\\client"
+      "ENGINE_PATH": "[CLEANUP]\\builder",
+      "GOMA_DIR": "[CACHE]\\goma\\client",
+      "LOCAL_ENGINE": "[CLEANUP]\\builder\\src\\out\\host_debug_unopt"
     },
     "env_prefixes": {
       "PATH": [
-        "[CACHE]\\builder\\src\\third_party\\dart\\tools\\sdks\\dart-sdk\\bin"
+        "[CLEANUP]\\builder\\src\\third_party\\dart\\tools\\sdks\\dart-sdk\\bin",
+        "[CLEANUP]\\builder\\src\\out\\host_debug_unopt\\dart-sdk\\bin"
       ]
     },
     "env_suffixes": {
@@ -255,20 +353,22 @@
   },
   {
     "cmd": [
-      "[CACHE]\\builder\\src\\out\\host_debug_unopt\\dart-sdk\\bin\\dart",
+      "[CLEANUP]\\builder\\src\\out\\host_debug_unopt\\dart-sdk\\bin\\dart",
       "dev/felt.dart",
       "test"
     ],
-    "cwd": "[CACHE]\\builder\\src\\flutter\\lib\\web_ui",
+    "cwd": "[CLEANUP]\\builder\\src\\flutter\\lib\\web_ui",
     "env": {
-      "ANDROID_HOME": "[CACHE]\\builder\\src\\third_party\\android_tools\\sdk",
+      "ANDROID_HOME": "[CLEANUP]\\builder\\src\\third_party\\android_tools\\sdk",
       "CHROME_NO_SANDBOX": "true",
-      "ENGINE_PATH": "[CACHE]\\builder",
-      "GOMA_DIR": "[CACHE]\\goma\\client"
+      "ENGINE_PATH": "[CLEANUP]\\builder",
+      "GOMA_DIR": "[CACHE]\\goma\\client",
+      "LOCAL_ENGINE": "[CLEANUP]\\builder\\src\\out\\host_debug_unopt"
     },
     "env_prefixes": {
       "PATH": [
-        "[CACHE]\\builder\\src\\third_party\\dart\\tools\\sdks\\dart-sdk\\bin"
+        "[CLEANUP]\\builder\\src\\third_party\\dart\\tools\\sdks\\dart-sdk\\bin",
+        "[CLEANUP]\\builder\\src\\out\\host_debug_unopt\\dart-sdk\\bin"
       ]
     },
     "env_suffixes": {
@@ -295,16 +395,18 @@
       "java.exe",
       "/t"
     ],
-    "cwd": "[CACHE]\\builder\\src\\flutter\\lib\\web_ui",
+    "cwd": "[CLEANUP]\\builder\\src\\flutter\\lib\\web_ui",
     "env": {
-      "ANDROID_HOME": "[CACHE]\\builder\\src\\third_party\\android_tools\\sdk",
+      "ANDROID_HOME": "[CLEANUP]\\builder\\src\\third_party\\android_tools\\sdk",
       "CHROME_NO_SANDBOX": "true",
-      "ENGINE_PATH": "[CACHE]\\builder",
-      "GOMA_DIR": "[CACHE]\\goma\\client"
+      "ENGINE_PATH": "[CLEANUP]\\builder",
+      "GOMA_DIR": "[CACHE]\\goma\\client",
+      "LOCAL_ENGINE": "[CLEANUP]\\builder\\src\\out\\host_debug_unopt"
     },
     "env_prefixes": {
       "PATH": [
-        "[CACHE]\\builder\\src\\third_party\\dart\\tools\\sdks\\dart-sdk\\bin"
+        "[CLEANUP]\\builder\\src\\third_party\\dart\\tools\\sdks\\dart-sdk\\bin",
+        "[CLEANUP]\\builder\\src\\out\\host_debug_unopt\\dart-sdk\\bin"
       ]
     },
     "env_suffixes": {
@@ -330,16 +432,18 @@
       "dart.exe",
       "/t"
     ],
-    "cwd": "[CACHE]\\builder\\src\\flutter\\lib\\web_ui",
+    "cwd": "[CLEANUP]\\builder\\src\\flutter\\lib\\web_ui",
     "env": {
-      "ANDROID_HOME": "[CACHE]\\builder\\src\\third_party\\android_tools\\sdk",
+      "ANDROID_HOME": "[CLEANUP]\\builder\\src\\third_party\\android_tools\\sdk",
       "CHROME_NO_SANDBOX": "true",
-      "ENGINE_PATH": "[CACHE]\\builder",
-      "GOMA_DIR": "[CACHE]\\goma\\client"
+      "ENGINE_PATH": "[CLEANUP]\\builder",
+      "GOMA_DIR": "[CACHE]\\goma\\client",
+      "LOCAL_ENGINE": "[CLEANUP]\\builder\\src\\out\\host_debug_unopt"
     },
     "env_prefixes": {
       "PATH": [
-        "[CACHE]\\builder\\src\\third_party\\dart\\tools\\sdks\\dart-sdk\\bin"
+        "[CLEANUP]\\builder\\src\\third_party\\dart\\tools\\sdks\\dart-sdk\\bin",
+        "[CLEANUP]\\builder\\src\\out\\host_debug_unopt\\dart-sdk\\bin"
       ]
     },
     "env_suffixes": {
@@ -365,16 +469,18 @@
       "adb.exe",
       "/t"
     ],
-    "cwd": "[CACHE]\\builder\\src\\flutter\\lib\\web_ui",
+    "cwd": "[CLEANUP]\\builder\\src\\flutter\\lib\\web_ui",
     "env": {
-      "ANDROID_HOME": "[CACHE]\\builder\\src\\third_party\\android_tools\\sdk",
+      "ANDROID_HOME": "[CLEANUP]\\builder\\src\\third_party\\android_tools\\sdk",
       "CHROME_NO_SANDBOX": "true",
-      "ENGINE_PATH": "[CACHE]\\builder",
-      "GOMA_DIR": "[CACHE]\\goma\\client"
+      "ENGINE_PATH": "[CLEANUP]\\builder",
+      "GOMA_DIR": "[CACHE]\\goma\\client",
+      "LOCAL_ENGINE": "[CLEANUP]\\builder\\src\\out\\host_debug_unopt"
     },
     "env_prefixes": {
       "PATH": [
-        "[CACHE]\\builder\\src\\third_party\\dart\\tools\\sdks\\dart-sdk\\bin"
+        "[CLEANUP]\\builder\\src\\third_party\\dart\\tools\\sdks\\dart-sdk\\bin",
+        "[CLEANUP]\\builder\\src\\out\\host_debug_unopt\\dart-sdk\\bin"
       ]
     },
     "env_suffixes": {
@@ -400,16 +506,18 @@
       "flutter_tester.exe",
       "/t"
     ],
-    "cwd": "[CACHE]\\builder\\src\\flutter\\lib\\web_ui",
+    "cwd": "[CLEANUP]\\builder\\src\\flutter\\lib\\web_ui",
     "env": {
-      "ANDROID_HOME": "[CACHE]\\builder\\src\\third_party\\android_tools\\sdk",
+      "ANDROID_HOME": "[CLEANUP]\\builder\\src\\third_party\\android_tools\\sdk",
       "CHROME_NO_SANDBOX": "true",
-      "ENGINE_PATH": "[CACHE]\\builder",
-      "GOMA_DIR": "[CACHE]\\goma\\client"
+      "ENGINE_PATH": "[CLEANUP]\\builder",
+      "GOMA_DIR": "[CACHE]\\goma\\client",
+      "LOCAL_ENGINE": "[CLEANUP]\\builder\\src\\out\\host_debug_unopt"
     },
     "env_prefixes": {
       "PATH": [
-        "[CACHE]\\builder\\src\\third_party\\dart\\tools\\sdks\\dart-sdk\\bin"
+        "[CLEANUP]\\builder\\src\\third_party\\dart\\tools\\sdks\\dart-sdk\\bin",
+        "[CLEANUP]\\builder\\src\\out\\host_debug_unopt\\dart-sdk\\bin"
       ]
     },
     "env_suffixes": {
diff --git a/recipes/engine/web_engine_drone.py b/recipes/engine/web_engine_drone.py
index ec91f32..55ec010 100644
--- a/recipes/engine/web_engine_drone.py
+++ b/recipes/engine/web_engine_drone.py
@@ -1,6 +1,7 @@
 # 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.
+
 """Recipe for engine shards.
 
    web_engine.py will call these shards. It will build the Flutter Web Engine,
@@ -39,7 +40,8 @@
 ]
 
 GIT_REPO = (
-    'https://chromium.googlesource.com/external/github.com/flutter/engine')
+    'https://chromium.googlesource.com/external/github.com/flutter/engine'
+)
 
 PROPERTIES = InputProperties
 ENV_PROPERTIES = EnvProperties
@@ -47,7 +49,7 @@
 
 def GetCheckoutPath(api):
   """Path to checkout the flutter/engine repo."""
-  return api.path['cache'].join('builder', 'src')
+  return api.path['cleanup'].join('builder', 'src')
 
 
 def RunSteps(api, properties, env_properties):
@@ -56,7 +58,7 @@
   The test shard to run will be determined by `command_args` send as part of
   properties.
   """
-  cache_root = api.path['cache'].join('builder')
+  cache_root = api.path['cleanup'].join('builder')
   checkout = GetCheckoutPath(api)
   platform = api.platform.name.capitalize()
   if properties.clobber:
@@ -75,9 +77,8 @@
   # These can be browsers, web drivers or other repositories.
   api.web_util.prepare_dependencies(checkout)
 
-  with api.context(
-      cwd=cache_root, env=env,
-      env_prefixes=env_prefixes), api.depot_tools.on_path():
+  with api.context(cwd=cache_root, env=env,
+                   env_prefixes=env_prefixes), api.depot_tools.on_path():
 
     target_name = 'host_debug_unopt'
 
@@ -85,16 +86,15 @@
     api.flutter_deps.flutter_engine(env, env_prefixes)
 
     android_home = checkout.join('third_party', 'android_tools', 'sdk')
-    env = {
-        'GOMA_DIR': api.goma.goma_dir,
-        'ANDROID_HOME': str(android_home),
-        'CHROME_NO_SANDBOX': 'true',
-        'ENGINE_PATH': cache_root,
-    }
+    env['GOMA_DIR'] = api.goma.goma_dir
+    env['ANDROID_HOME'] = str(android_home)
+    env['CHROME_NO_SANDBOX'] = 'true'
+    env['ENGINE_PATH'] = cache_root
     # flutter_engine deps adds dart dependency as out/host_debug_unopt/dart-sdk
     # We are changing it with src/third_party/dart/tools/sdks/dart-sdk
-    dart_bin = checkout.join('third_party', 'dart', 'tools', 'sdks', 'dart-sdk',
-                             'bin')
+    dart_bin = checkout.join(
+        'third_party', 'dart', 'tools', 'sdks', 'dart-sdk', 'bin'
+    )
     paths = env_prefixes.get('PATH', [])
     paths.insert(0, dart_bin)
     env_prefixes['PATH'] = paths
@@ -107,11 +107,11 @@
     ]
     felt_cmd.extend(command_args)
 
-    with api.context(
-        cwd=cache_root, env=env,
-        env_prefixes=env_prefixes), api.depot_tools.on_path():
+    with api.context(cwd=cache_root, env=env,
+                     env_prefixes=env_prefixes), api.depot_tools.on_path():
       # Update dart packages and run tests.
-      local_pub = checkout.join('out', target_name, 'dart-sdk', 'bin', 'pub')
+      local_engine_path = env.get('LOCAL_ENGINE')
+      local_pub = local_engine_path.join('dart-sdk', 'bin', 'pub')
       with api.context(
           cwd=checkout.join('flutter', 'web_sdk', 'web_engine_tester')):
         api.step('pub get in web_engine_tester', [local_pub, 'get'])
@@ -121,9 +121,9 @@
           with api.osx_sdk('ios'):
             with recipe_api.defer_results():
               api.step('felt test: %s' % command_name, felt_cmd)
-              if api.properties.get(
-                  'dependencies') and 'goldens_repo' in api.properties.get(
-                      'dependencies'):
+              if api.properties.get('dependencies'
+                                   ) and 'goldens_repo' in api.properties.get(
+                                       'dependencies'):
                 api.web_util.upload_failing_goldens(checkout, 'ios-safari')
               # This is to clean up leaked processes.
               api.os_utils.kill_processes()
@@ -132,9 +132,9 @@
         else:
           with recipe_api.defer_results():
             api.step('felt test: %s' % command_name, felt_cmd)
-            if api.properties.get(
-                'dependencies') and 'goldens_repo' in api.properties.get(
-                    'dependencies'):
+            if api.properties.get('dependencies'
+                                 ) and 'goldens_repo' in api.properties.get(
+                                     'dependencies'):
               api.web_util.upload_failing_goldens(checkout, 'chrome')
             # This is to clean up leaked processes.
             api.os_utils.kill_processes()
@@ -145,30 +145,27 @@
 def GenTests(api):
   golden_yaml_file = {'repository': 'repo', 'revision': 'b6efc758'}
   browser_yaml_file = {
-      'required_driver_version': {
-          'chrome': 84
-      },
-      'chrome': {
-          'Linux': '768968',
-          'Mac': '768985',
-          'Win': '768975'
-      }
+      'required_driver_version': {'chrome': 84},
+      'chrome': {'Linux': '768968', 'Mac': '768985', 'Win': '768975'}
   }
   yield api.test(
       'linux-post-submit',
-      api.step_data('read browser lock yaml.parse',
-                    api.json.output(browser_yaml_file)),
-      api.step_data('read browser lock yaml (2).parse',
-                    api.json.output(browser_yaml_file)),
-      api.step_data('read yaml.parse', api.json.output(golden_yaml_file)),
+      api.step_data(
+          'read browser lock yaml.parse', api.json.output(browser_yaml_file)
+      ),
+      api.step_data(
+          'read browser lock yaml (2).parse',
+          api.json.output(browser_yaml_file)
+      ), api.step_data('read yaml.parse', api.json.output(golden_yaml_file)),
       api.properties(
           goma_jobs='200',
           gcs_goldens_bucket='mybucket',
           dependencies=['chrome_driver', 'chrome', 'goldens_repo'],
           command_args=['test', '--browser=chrome', '--integration-tests-only'],
-          command_name='chrome-integration-tests'), api.platform(
-              'linux', 64)) + api.runtime(
-                  is_experimental=False) + api.platform.name('linux')
+          command_name='chrome-integration-tests',
+          isolated_hash='abceqwe'
+      ), api.platform('linux', 64)
+  ) + api.runtime(is_experimental=False) + api.platform.name('linux')
   yield api.test(
       'linux-firefox-integration',
       api.step_data('read yaml.parse', api.json.output(golden_yaml_file)),
@@ -179,11 +176,13 @@
           command_args=[
               'test', '--browser=firefox', '--integration-tests-only'
           ],
-          command_name='firefox-integration-tests'), api.platform.name('linux'),
-      api.platform('linux', 64)) + api.runtime(is_experimental=False)
+          command_name='firefox-integration-tests',
+          isolated_hash='abceqwe'
+      ), api.platform.name('linux'), api.platform('linux', 64)
+  ) + api.runtime(is_experimental=False)
   yield api.test('windows-post-submit') + api.properties(
-      goma_jobs='200') + api.platform('win',
-                                      32) + api.runtime(is_experimental=False)
+      goma_jobs='200', isolated_hash='abceqwe'
+  ) + api.platform('win', 32) + api.runtime(is_experimental=False)
   yield api.test(
       'mac-post-submit',
       api.step_data('read yaml.parse', api.json.output(golden_yaml_file)),
@@ -192,18 +191,23 @@
           gcs_goldens_bucket='mybucket',
           dependencies=['goldens_repo'],
           command_args=['test', '--browser=ios-safari', '--unit-tests-only'],
-          command_name='ios-safari-unit-tests'), api.platform(
-              'mac', 64)) + api.runtime(is_experimental=False)
+          command_name='ios-safari-unit-tests',
+          isolated_hash='abceqwe'
+      ), api.platform('mac', 64)
+  ) + api.runtime(is_experimental=False)
   yield api.test(
       'linux-experimental',
       api.step_data('read yaml.parse', api.json.output(golden_yaml_file)),
+      api.repo_util.flutter_environment_data(),
       api.properties(
           goma_jobs='200',
           git_url='https://mygitrepo',
           git_ref='refs/pull/1/head',
           dependencies=['goldens_repo'],
-          clobber=True), api.platform('linux',
-                                      64)) + api.runtime(is_experimental=True)
+          clobber=True,
+          isolated_hash='abceqwe'
+      ), api.platform('linux', 64)
+  ) + api.runtime(is_experimental=True)
   yield api.test(
       'linux-error',
       api.properties(
@@ -211,5 +215,7 @@
           git_url='https://mygitrepo',
           git_ref='refs/pull/1/head',
           dependencies=['invalid_dependency'],
-          clobber=True), api.platform('linux', 64),
-      api.expect_exception('ValueError')) + api.runtime(is_experimental=True)
+          clobber=True,
+          isolated_hash='abceqwe'
+      ), api.platform('linux', 64), api.expect_exception('ValueError')
+  ) + api.runtime(is_experimental=True)