Roll recipe dependencies (nontrivial).

This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (build, depot_tools, fuchsia, recipe_engine) into this repository.

Please review the expectation changes, and LGTM+CQ.

build:
  https://crrev.com/50b501eb12c74e434c62c6cfd521cda3f4d6b97e (rwarner@google.com)
    Added new emoji to gatekeeper_emoji.json
  https://crrev.com/8937d22f37f359826999864940c2bea98a178f60 (wenbinzhang@google.com)
    [Benchmarking] Added the data processor builder in recipe module for two Win10 tester on perf
  https://crrev.com/149456dfa6c9e52ebce1adec4bf6805a67fdd4be (bpastene@chromium.org)
    Remove recipe configs for cros HW & VM fyi bots.
  https://crrev.com/423596db088b51901f3d211eb5d8e763242d9a95 (gbeaty@chromium.org)
    Switch led_recipes_tester to use parallel steps.
  https://crrev.com/4176f213b504d9eebabcab918534c94964a11c32 (gbeaty@chromium.org)
    Remove unused utils.py
  https://crrev.com/8ee51ef3a8f84ced86021dde63656fa428ec1646 (estaab@google.com)
    Remove android_cronet_tester.
  https://crrev.com/de47e32f1141e0a362f113b441437dd71411b849 (rwkeane@google.com)
    Openscreen: Add more Code Coverage tooling
  https://crrev.com/e79c1e63dd952720a9241020c8000b4f6906fc65 (jeffyoon@google.com)
    [ios/infra] Enable revision to be passed to the upload call
  https://crrev.com/d23e3ca3a3320acbcbb071c67328ad533712be26 (rwkeane@google.com)
    Openscreen: Rename Test Files
  https://crrev.com/b879d9637ef6bba9b5c8847d938c39eea17ee1a5 (tvanderlippe@chromium.org)
    Use run_test_suite.py for DevTools e2e-tests
  https://crrev.com/f2ffd98075771b83afee214da12044b19bc4cef9 (rwkeane@google.com)
    Code Coverage: Add Flag to Skip Component Mapping
depot_tools:
  https://crrev.com/d5be5daff9f5b39c693cf3dae225f8f562b67451 (nodir@chromium.org)
    Roll prpc and rdb tools to the latest version
  https://crrev.com/b19e1213cf6fc760dbbac790cb96aa78858ac56f (iannucci@chromium.org)
    [led] Update to latest version.
  https://crrev.com/394c4a94dbc7fc47820698249abfd8f9288daeef (ukai@google.com)
    Roll out new goma client binary VERSION=201
  https://crrev.com/3fb1d569defcea40a2ff040e41ea9bc57667203d (brucedawson@chromium.org)
    Fix command prompt title after update_depot_tools
  https://crrev.com/252ff1feade7a108849642ad2606efa5f212dfd1 (sokcevic@google.com)
    Remove rev-parse --verify FETCH_HEAD
  https://crrev.com/03a0d5b08cac2216dd05b63f6e08ad89ef87cf94 (tandrii@chromium.org)
    git-cache: delete support for internal repos.
  https://crrev.com/393b040fb4f0e97aafb2a739dbcee5f928eb9702 (ehmaldonado@chromium.org)
    Add sokcevic@google.com to owners
fuchsia:
  https://crrev.com/1148474b25d61a88be66f9d4cb710d78c0714494 (olivernewman@google.com)
    [auto_roller] Check for duplicate roll before push
  https://crrev.com/6fd72734c1f4e89910e7ed1107f0058ce6e11900 (garymm@google.com)
    [build] remove validate-checkout step
  https://crrev.com/8f357ec6e0ab4d47d4d9c1ff60a77adc972987dd (olivernewman@google.com)
    [fuchsia_cipd_roller] Handle missing refs
  https://crrev.com/0835db62f199a384a612911cda937158ffee31e9 (olivernewman@google.com)
    [kubectl] Use ensure_tool() to install kubectl
  https://crrev.com/bf8d241ff38022a14195aa3b9e0d203521fdb6c1 (olivernewman@google.com)
    [testing] Delete _swarming_retry_tasks attribute
  https://crrev.com/8c4d00fd6613ecb991a9f9038e4d5564337b73e4 (olivernewman@google.com)
    [jiri] Use ensure_tool() to install jiri
  https://crrev.com/ca512c6043114d23ee077ca74417c568961dcfa3 (atyfto@google.com)
    [build] Add support for cache packages
  https://crrev.com/203443c4aa0fd643cd4dc32073b835f4b2f3b93a (olivernewman@google.com)
    [copyright] Add copyright notice to all Python files
  https://crrev.com/ae9836de2cb6f65b32f0b6fc40cea96ef33e5ee6 (garymm@google.com)
    Format with black (default options)
  https://crrev.com/04d41ff95ad31b0e8dd4cfbf016cc762179e09e9 (atyfto@google.com)
    [fuchsia.proto] Delete Fuchsia.build.artifact_gcs_bucket
  https://crrev.com/3a0b42f059d7774bd627b88ee7b7e22275faf336 (olivernewman@google.com)
    Fix docstring indentation
  https://crrev.com/30006a0e52d701f42f0bcb43fc09faa8614ce6a2 (mohrr@google.com)
    Add "exception" to status_check
  https://crrev.com/6a81851ca020f7f296c37fa52bfb043691d9b33c (mohrr@google.com)
    [recipe_testing] Update bb requested fields
  https://crrev.com/e4e5e7527108a5398fe5e4a5f555bcb78453d6c1 (olivernewman@google.com)
    [recipes] Remove checked-in commit-queue.cfg
  https://crrev.com/497c87a75f64b9ae77b16327d4a3ce26b72bd15e (olivernewman@google.com)
    Change .editorconfig indent to 4 spaces
  https://crrev.com/69d27560b7adfd35159c9e5ba115f34ce49684c9 (olivernewman@google.com)
    Fix all Tricium spelling warnings
  https://crrev.com/e5056a4bc653a77685bc4fdc1a656cdbaf13fa17 (garymm@google.com)
    remove .style.yapf
  https://crrev.com/f3fa011658aa3fdd977e6bc58e889dbdc10d5635 (olivernewman@google.com)
    [gitiles] Use ensure_tool() to install gitiles
  https://crrev.com/fceef09907780ddcfca0481560dc598e46bef6f4 (mseaborn@google.com)
    [perfcompare] Fix breakage of perfcompare mode caused by recent change
  https://crrev.com/8400f80759019333316f66d0faa69ec9f1b5ade8 (mohrr@google.com)
    [recipe_testing] Change how recipe name is retrieved
  https://crrev.com/cb27faaba6b948fc21ffcf42a44c2313198d01c8 (olivernewman@google.com)
    Apply Black to build recipe module
  https://crrev.com/12cedbb3376789ea6c51208e4f7e1d136876fcb0 (yuanzhi@google.com)
    [vdl] Add support to collect sdk files and ssh key in recipe.
  https://crrev.com/c4667dbbad0c406716d8ef9dec5b8871cbd0133f (olivernewman@google.com)
    [gerrit] Use ensure_tool() to install gerrit
  https://crrev.com/fa85bd9e7a02d29a52dfc1afa804be73b6e5be7e (olivernewman@google.com)
    [tar] Use ensure_tool() to install bsdtar
  https://crrev.com/f829998dcf932b9f686a5cd5c75e0736f23db18e (olivernewman@google.com)
    [spec] Use ensure_tool() to install build_init
  https://crrev.com/7033b226efde45d6869d2ead33f5d48661cca1a7 (olivernewman@google.com)
    [testing_requests] Don't add host test path to shard deps
  https://crrev.com/4f5367a62c26b1446257b89325796a17d6d1fa02 (ihuh@google.com)
    [fuchsia/build] Comment on CLs to notify when multiplier shards have
  https://crrev.com/8ff47da2bc7588933c98c2a7a44981a3409356b7 (olivernewman@google.com)
    Regen expectation files after collision
  https://crrev.com/a44d4b142f0cb62afb6d01515d9b69dccf0d61ea (atyfto@google.com)
    [fuchsia] Run external tests
recipe_engine:
  https://crrev.com/58f654b6ca5f282aa70a5ec0a1510e9a6c318ff5 (yiwzhang@google.com)
    [luciexe] support output flag with differnt encoding based on extension
  https://crrev.com/b52da73829e2147d8473eb84ed9b76b02dce09d0 (olivernewman@google.com)
    Reland "[swarming] Use ensure_tool() to install swarming"
  https://crrev.com/8d23e817d0aa858ca3032a6576a3903caf90e4bf (yiwzhang@google.com)
    Update protos from luci-go
  https://crrev.com/5da0f45b944e9d5ea50d05d8c52a729a6a085ade (iannucci@chromium.org)
    Always set gevent tracing during simulations.
  https://crrev.com/8305d8fd87b19e4f63db30ac7ea9d52f1fc2093c (iannucci@chromium.org)
    [cipd] Make ensure_tool concurrency-safe.
  https://crrev.com/5c575266cf91a14adf9b17c71f4e4e03ad964c24 (olivernewman@google.com)
    [post_process] Make failure output less noisy
  https://crrev.com/ba2e549fc2f9cc837deb0a69789067c74021e38e (zamorzaev@chromium.org)
    cipd: Fix set_ref, set_tag JSON parsing

More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.

R=godofredoc@google.com, keyonghan@google.com, wutong@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Id6b8514bd3977ee732f282a11b3cbf6d1b6dfc78
Reviewed-on: https://flutter-review.googlesource.com/c/recipes/+/3240
Commit-Queue: Godofredo Contreras <godofredoc@google.com>
Reviewed-by: Godofredo Contreras <godofredoc@google.com>
diff --git a/infra/config/recipes.cfg b/infra/config/recipes.cfg
index 7ddd3e3..5966ebb 100644
--- a/infra/config/recipes.cfg
+++ b/infra/config/recipes.cfg
@@ -22,22 +22,22 @@
   "deps": {
     "build": {
       "branch": "refs/heads/master",
-      "revision": "5d5a116078a301a8dd5a2cf606b1ed6e2646be24",
+      "revision": "9ea017afea792e8f775de7b621f468cde9226cb3",
       "url": "https://chromium.googlesource.com/chromium/tools/build"
     },
     "depot_tools": {
       "branch": "refs/heads/master",
-      "revision": "399b81d2743fd2a254475d0e7882d0440bcb5394",
+      "revision": "e5cd744fe49e0b628a8e248512fcfabe3a26949c",
       "url": "https://chromium.googlesource.com/chromium/tools/depot_tools.git"
     },
     "fuchsia": {
       "branch": "refs/heads/master",
-      "revision": "02838d381614a30bb9bae85bad63259d3ba3ea8c",
+      "revision": "3fca974ac227c0e9438a1dd925fb4da18d283109",
       "url": "https://fuchsia.googlesource.com/infra/recipes.git"
     },
     "recipe_engine": {
       "branch": "refs/heads/master",
-      "revision": "04d01abeecc5d7641e6b0c6a233a985559812602",
+      "revision": "ba2e549fc2f9cc837deb0a69789067c74021e38e",
       "url": "https://chromium.googlesource.com/infra/luci/recipes-py.git"
     }
   },
diff --git a/recipe_modules/fuchsia_util/examples/full.expected/basic.json b/recipe_modules/fuchsia_util/examples/full.expected/basic.json
index 7e334a0..52472fe 100644
--- a/recipe_modules/fuchsia_util/examples/full.expected/basic.json
+++ b/recipe_modules/fuchsia_util/examples/full.expected/basic.json
@@ -175,7 +175,7 @@
   },
   {
     "cmd": [],
-    "name": "Fuchsia Tests.Create Isolate Archive.install isolated",
+    "name": "Fuchsia Tests.Create Isolate Archive.install infra/tools/luci/isolated",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
     ]
@@ -193,7 +193,7 @@
       "[CACHE]/cipd/infra/tools/luci/isolated/isolated_module_pin"
     ],
     "infra_step": true,
-    "name": "Fuchsia Tests.Create Isolate Archive.install isolated.ensure package directory",
+    "name": "Fuchsia Tests.Create Isolate Archive.install infra/tools/luci/isolated.ensure package directory",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@"
     ]
@@ -212,7 +212,7 @@
       "/path/to/tmp/json"
     ],
     "infra_step": true,
-    "name": "Fuchsia Tests.Create Isolate Archive.install isolated.ensure_installed",
+    "name": "Fuchsia Tests.Create Isolate Archive.install infra/tools/luci/isolated.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -267,17 +267,35 @@
   },
   {
     "cmd": [],
-    "name": "Fuchsia Tests.ensure swarming",
+    "name": "Fuchsia Tests.install infra/tools/luci/swarming",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
   },
   {
     "cmd": [
+      "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/swarming/test_version"
+    ],
+    "infra_step": true,
+    "name": "Fuchsia Tests.install infra/tools/luci/swarming.ensure package directory",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@"
+    ]
+  },
+  {
+    "cmd": [
       "cipd",
       "ensure",
       "-root",
-      "[CACHE]/swarming_client",
+      "[CACHE]/cipd/infra/tools/luci/swarming/test_version",
       "-ensure-file",
       "infra/tools/luci/swarming/${platform} test_version",
       "-max-threads",
@@ -286,7 +304,7 @@
       "/path/to/tmp/json"
     ],
     "infra_step": true,
-    "name": "Fuchsia Tests.ensure swarming.ensure_installed",
+    "name": "Fuchsia Tests.install infra/tools/luci/swarming.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -304,7 +322,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/test_version/swarming",
       "spawn-tasks",
       "-server",
       "https://example.swarmingserver.appspot.com",
@@ -348,7 +366,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/test_version/swarming",
       "collect",
       "-server",
       "https://example.swarmingserver.appspot.com",
diff --git a/recipes/engine.expected/clobber.json b/recipes/engine.expected/clobber.json
index a25db02..8fac5fd 100644
--- a/recipes/engine.expected/clobber.json
+++ b/recipes/engine.expected/clobber.json
@@ -14121,7 +14121,7 @@
   },
   {
     "cmd": [],
-    "name": "install isolated"
+    "name": "install infra/tools/luci/isolated"
   },
   {
     "cmd": [
@@ -14151,7 +14151,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure package directory",
+    "name": "install infra/tools/luci/isolated.ensure package directory",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
@@ -14185,7 +14185,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure_installed",
+    "name": "install infra/tools/luci/isolated.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -14266,14 +14266,47 @@
   },
   {
     "cmd": [],
-    "name": "ensure swarming"
+    "name": "install infra/tools/luci/swarming"
+  },
+  {
+    "cmd": [
+      "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/swarming/latest"
+    ],
+    "cwd": "[CACHE]/builder",
+    "env": {
+      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "GOMA_DIR": "[CACHE]/goma/client"
+    },
+    "env_prefixes": {
+      "PATH": [
+        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+      ]
+    },
+    "env_suffixes": {
+      "PATH": [
+        "RECIPE_REPO[depot_tools]"
+      ]
+    },
+    "infra_step": true,
+    "name": "install infra/tools/luci/swarming.ensure package directory",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
       "cipd",
       "ensure",
       "-root",
-      "[CACHE]/swarming_client",
+      "[CACHE]/cipd/infra/tools/luci/swarming/latest",
       "-ensure-file",
       "infra/tools/luci/swarming/${platform} latest",
       "-max-threads",
@@ -14297,7 +14330,7 @@
       ]
     },
     "infra_step": true,
-    "name": "ensure swarming.ensure_installed",
+    "name": "install infra/tools/luci/swarming.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -14315,7 +14348,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/latest/swarming",
       "spawn-tasks",
       "-server",
       "https://example.swarmingserver.appspot.com",
@@ -14388,7 +14421,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/latest/swarming",
       "collect",
       "-server",
       "https://example.swarmingserver.appspot.com",
diff --git a/recipes/engine.expected/experimental.json b/recipes/engine.expected/experimental.json
index c5ff6df..26b7697 100644
--- a/recipes/engine.expected/experimental.json
+++ b/recipes/engine.expected/experimental.json
@@ -14064,7 +14064,7 @@
   },
   {
     "cmd": [],
-    "name": "install isolated"
+    "name": "install infra/tools/luci/isolated"
   },
   {
     "cmd": [
@@ -14094,7 +14094,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure package directory",
+    "name": "install infra/tools/luci/isolated.ensure package directory",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
@@ -14128,7 +14128,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure_installed",
+    "name": "install infra/tools/luci/isolated.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -14209,14 +14209,47 @@
   },
   {
     "cmd": [],
-    "name": "ensure swarming"
+    "name": "install infra/tools/luci/swarming"
+  },
+  {
+    "cmd": [
+      "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/swarming/latest"
+    ],
+    "cwd": "[CACHE]/builder",
+    "env": {
+      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "GOMA_DIR": "[CACHE]/goma/client"
+    },
+    "env_prefixes": {
+      "PATH": [
+        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+      ]
+    },
+    "env_suffixes": {
+      "PATH": [
+        "RECIPE_REPO[depot_tools]"
+      ]
+    },
+    "infra_step": true,
+    "name": "install infra/tools/luci/swarming.ensure package directory",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
       "cipd",
       "ensure",
       "-root",
-      "[CACHE]/swarming_client",
+      "[CACHE]/cipd/infra/tools/luci/swarming/latest",
       "-ensure-file",
       "infra/tools/luci/swarming/${platform} latest",
       "-max-threads",
@@ -14240,7 +14273,7 @@
       ]
     },
     "infra_step": true,
-    "name": "ensure swarming.ensure_installed",
+    "name": "install infra/tools/luci/swarming.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -14258,7 +14291,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/latest/swarming",
       "spawn-tasks",
       "-server",
       "https://example.swarmingserver.appspot.com",
@@ -14331,7 +14364,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/latest/swarming",
       "collect",
       "-server",
       "https://example.swarmingserver.appspot.com",
diff --git a/recipes/engine.expected/experimental_upload.json b/recipes/engine.expected/experimental_upload.json
index 9b41fa2..8afe8e1 100644
--- a/recipes/engine.expected/experimental_upload.json
+++ b/recipes/engine.expected/experimental_upload.json
@@ -16613,7 +16613,7 @@
   },
   {
     "cmd": [],
-    "name": "install isolated"
+    "name": "install infra/tools/luci/isolated"
   },
   {
     "cmd": [
@@ -16643,7 +16643,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure package directory",
+    "name": "install infra/tools/luci/isolated.ensure package directory",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
@@ -16677,7 +16677,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure_installed",
+    "name": "install infra/tools/luci/isolated.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -16758,14 +16758,47 @@
   },
   {
     "cmd": [],
-    "name": "ensure swarming"
+    "name": "install infra/tools/luci/swarming"
+  },
+  {
+    "cmd": [
+      "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/swarming/latest"
+    ],
+    "cwd": "[CACHE]/builder",
+    "env": {
+      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "GOMA_DIR": "[CACHE]/goma/client"
+    },
+    "env_prefixes": {
+      "PATH": [
+        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+      ]
+    },
+    "env_suffixes": {
+      "PATH": [
+        "RECIPE_REPO[depot_tools]"
+      ]
+    },
+    "infra_step": true,
+    "name": "install infra/tools/luci/swarming.ensure package directory",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
       "cipd",
       "ensure",
       "-root",
-      "[CACHE]/swarming_client",
+      "[CACHE]/cipd/infra/tools/luci/swarming/latest",
       "-ensure-file",
       "infra/tools/luci/swarming/${platform} latest",
       "-max-threads",
@@ -16789,7 +16822,7 @@
       ]
     },
     "infra_step": true,
-    "name": "ensure swarming.ensure_installed",
+    "name": "install infra/tools/luci/swarming.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -16807,7 +16840,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/latest/swarming",
       "spawn-tasks",
       "-server",
       "https://example.swarmingserver.appspot.com",
@@ -16880,7 +16913,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/latest/swarming",
       "collect",
       "-server",
       "https://example.swarmingserver.appspot.com",
diff --git a/recipes/engine.expected/linux.json b/recipes/engine.expected/linux.json
index 4089f85..918f368 100644
--- a/recipes/engine.expected/linux.json
+++ b/recipes/engine.expected/linux.json
@@ -14037,7 +14037,7 @@
   },
   {
     "cmd": [],
-    "name": "install isolated"
+    "name": "install infra/tools/luci/isolated"
   },
   {
     "cmd": [
@@ -14067,7 +14067,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure package directory",
+    "name": "install infra/tools/luci/isolated.ensure package directory",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
@@ -14101,7 +14101,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure_installed",
+    "name": "install infra/tools/luci/isolated.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -14182,14 +14182,47 @@
   },
   {
     "cmd": [],
-    "name": "ensure swarming"
+    "name": "install infra/tools/luci/swarming"
+  },
+  {
+    "cmd": [
+      "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/swarming/swarming_module_pin"
+    ],
+    "cwd": "[CACHE]/builder",
+    "env": {
+      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "GOMA_DIR": "[CACHE]/goma/client"
+    },
+    "env_prefixes": {
+      "PATH": [
+        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+      ]
+    },
+    "env_suffixes": {
+      "PATH": [
+        "RECIPE_REPO[depot_tools]"
+      ]
+    },
+    "infra_step": true,
+    "name": "install infra/tools/luci/swarming.ensure package directory",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
       "cipd",
       "ensure",
       "-root",
-      "[CACHE]/swarming_client",
+      "[CACHE]/cipd/infra/tools/luci/swarming/swarming_module_pin",
       "-ensure-file",
       "infra/tools/luci/swarming/${platform} swarming_module_pin",
       "-max-threads",
@@ -14213,7 +14246,7 @@
       ]
     },
     "infra_step": true,
-    "name": "ensure swarming.ensure_installed",
+    "name": "install infra/tools/luci/swarming.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -14231,7 +14264,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/swarming_module_pin/swarming",
       "spawn-tasks",
       "-server",
       "https://example.swarmingserver.appspot.com",
@@ -14304,7 +14337,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/swarming_module_pin/swarming",
       "collect",
       "-server",
       "https://example.swarmingserver.appspot.com",
diff --git a/recipes/engine.expected/linux_maven_or_bitcode.json b/recipes/engine.expected/linux_maven_or_bitcode.json
index 4089f85..918f368 100644
--- a/recipes/engine.expected/linux_maven_or_bitcode.json
+++ b/recipes/engine.expected/linux_maven_or_bitcode.json
@@ -14037,7 +14037,7 @@
   },
   {
     "cmd": [],
-    "name": "install isolated"
+    "name": "install infra/tools/luci/isolated"
   },
   {
     "cmd": [
@@ -14067,7 +14067,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure package directory",
+    "name": "install infra/tools/luci/isolated.ensure package directory",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
@@ -14101,7 +14101,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure_installed",
+    "name": "install infra/tools/luci/isolated.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -14182,14 +14182,47 @@
   },
   {
     "cmd": [],
-    "name": "ensure swarming"
+    "name": "install infra/tools/luci/swarming"
+  },
+  {
+    "cmd": [
+      "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/swarming/swarming_module_pin"
+    ],
+    "cwd": "[CACHE]/builder",
+    "env": {
+      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "GOMA_DIR": "[CACHE]/goma/client"
+    },
+    "env_prefixes": {
+      "PATH": [
+        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+      ]
+    },
+    "env_suffixes": {
+      "PATH": [
+        "RECIPE_REPO[depot_tools]"
+      ]
+    },
+    "infra_step": true,
+    "name": "install infra/tools/luci/swarming.ensure package directory",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
       "cipd",
       "ensure",
       "-root",
-      "[CACHE]/swarming_client",
+      "[CACHE]/cipd/infra/tools/luci/swarming/swarming_module_pin",
       "-ensure-file",
       "infra/tools/luci/swarming/${platform} swarming_module_pin",
       "-max-threads",
@@ -14213,7 +14246,7 @@
       ]
     },
     "infra_step": true,
-    "name": "ensure swarming.ensure_installed",
+    "name": "install infra/tools/luci/swarming.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -14231,7 +14264,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/swarming_module_pin/swarming",
       "spawn-tasks",
       "-server",
       "https://example.swarmingserver.appspot.com",
@@ -14304,7 +14337,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/swarming_module_pin/swarming",
       "collect",
       "-server",
       "https://example.swarmingserver.appspot.com",
diff --git a/recipes/engine.expected/linux_upload.json b/recipes/engine.expected/linux_upload.json
index bb2a48d..bffaeaa 100644
--- a/recipes/engine.expected/linux_upload.json
+++ b/recipes/engine.expected/linux_upload.json
@@ -16586,7 +16586,7 @@
   },
   {
     "cmd": [],
-    "name": "install isolated"
+    "name": "install infra/tools/luci/isolated"
   },
   {
     "cmd": [
@@ -16616,7 +16616,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure package directory",
+    "name": "install infra/tools/luci/isolated.ensure package directory",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
@@ -16650,7 +16650,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure_installed",
+    "name": "install infra/tools/luci/isolated.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -16731,14 +16731,47 @@
   },
   {
     "cmd": [],
-    "name": "ensure swarming"
+    "name": "install infra/tools/luci/swarming"
+  },
+  {
+    "cmd": [
+      "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/swarming/swarming_module_pin"
+    ],
+    "cwd": "[CACHE]/builder",
+    "env": {
+      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "GOMA_DIR": "[CACHE]/goma/client"
+    },
+    "env_prefixes": {
+      "PATH": [
+        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+      ]
+    },
+    "env_suffixes": {
+      "PATH": [
+        "RECIPE_REPO[depot_tools]"
+      ]
+    },
+    "infra_step": true,
+    "name": "install infra/tools/luci/swarming.ensure package directory",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
       "cipd",
       "ensure",
       "-root",
-      "[CACHE]/swarming_client",
+      "[CACHE]/cipd/infra/tools/luci/swarming/swarming_module_pin",
       "-ensure-file",
       "infra/tools/luci/swarming/${platform} swarming_module_pin",
       "-max-threads",
@@ -16762,7 +16795,7 @@
       ]
     },
     "infra_step": true,
-    "name": "ensure swarming.ensure_installed",
+    "name": "install infra/tools/luci/swarming.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -16780,7 +16813,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/swarming_module_pin/swarming",
       "spawn-tasks",
       "-server",
       "https://example.swarmingserver.appspot.com",
@@ -16853,7 +16886,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/swarming_module_pin/swarming",
       "collect",
       "-server",
       "https://example.swarmingserver.appspot.com",
diff --git a/recipes/engine.expected/linux_upload_maven_or_bitcode.json b/recipes/engine.expected/linux_upload_maven_or_bitcode.json
index 90d5fb7..3bafaa2 100644
--- a/recipes/engine.expected/linux_upload_maven_or_bitcode.json
+++ b/recipes/engine.expected/linux_upload_maven_or_bitcode.json
@@ -15629,7 +15629,7 @@
   },
   {
     "cmd": [],
-    "name": "install isolated"
+    "name": "install infra/tools/luci/isolated"
   },
   {
     "cmd": [
@@ -15659,7 +15659,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure package directory",
+    "name": "install infra/tools/luci/isolated.ensure package directory",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
@@ -15693,7 +15693,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure_installed",
+    "name": "install infra/tools/luci/isolated.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -15774,14 +15774,47 @@
   },
   {
     "cmd": [],
-    "name": "ensure swarming"
+    "name": "install infra/tools/luci/swarming"
+  },
+  {
+    "cmd": [
+      "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/swarming/swarming_module_pin"
+    ],
+    "cwd": "[CACHE]/builder",
+    "env": {
+      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "GOMA_DIR": "[CACHE]/goma/client"
+    },
+    "env_prefixes": {
+      "PATH": [
+        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+      ]
+    },
+    "env_suffixes": {
+      "PATH": [
+        "RECIPE_REPO[depot_tools]"
+      ]
+    },
+    "infra_step": true,
+    "name": "install infra/tools/luci/swarming.ensure package directory",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
       "cipd",
       "ensure",
       "-root",
-      "[CACHE]/swarming_client",
+      "[CACHE]/cipd/infra/tools/luci/swarming/swarming_module_pin",
       "-ensure-file",
       "infra/tools/luci/swarming/${platform} swarming_module_pin",
       "-max-threads",
@@ -15805,7 +15838,7 @@
       ]
     },
     "infra_step": true,
-    "name": "ensure swarming.ensure_installed",
+    "name": "install infra/tools/luci/swarming.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -15823,7 +15856,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/swarming_module_pin/swarming",
       "spawn-tasks",
       "-server",
       "https://example.swarmingserver.appspot.com",
@@ -15896,7 +15929,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/swarming_module_pin/swarming",
       "collect",
       "-server",
       "https://example.swarmingserver.appspot.com",
diff --git a/recipes/engine.expected/mac.json b/recipes/engine.expected/mac.json
index eef8485..6d36fa1 100644
--- a/recipes/engine.expected/mac.json
+++ b/recipes/engine.expected/mac.json
@@ -9410,7 +9410,7 @@
   },
   {
     "cmd": [],
-    "name": "install isolated"
+    "name": "install infra/tools/luci/isolated"
   },
   {
     "cmd": [
@@ -9440,7 +9440,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure package directory",
+    "name": "install infra/tools/luci/isolated.ensure package directory",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
@@ -9474,7 +9474,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure_installed",
+    "name": "install infra/tools/luci/isolated.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
diff --git a/recipes/engine.expected/mac_maven_or_bitcode.json b/recipes/engine.expected/mac_maven_or_bitcode.json
index 9abf64b..220f56a 100644
--- a/recipes/engine.expected/mac_maven_or_bitcode.json
+++ b/recipes/engine.expected/mac_maven_or_bitcode.json
@@ -11309,7 +11309,7 @@
   },
   {
     "cmd": [],
-    "name": "install isolated"
+    "name": "install infra/tools/luci/isolated"
   },
   {
     "cmd": [
@@ -11339,7 +11339,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure package directory",
+    "name": "install infra/tools/luci/isolated.ensure package directory",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
@@ -11373,7 +11373,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure_installed",
+    "name": "install infra/tools/luci/isolated.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
diff --git a/recipes/engine.expected/mac_upload.json b/recipes/engine.expected/mac_upload.json
index ad0f01d..c59f42e 100644
--- a/recipes/engine.expected/mac_upload.json
+++ b/recipes/engine.expected/mac_upload.json
@@ -10216,7 +10216,7 @@
   },
   {
     "cmd": [],
-    "name": "install isolated"
+    "name": "install infra/tools/luci/isolated"
   },
   {
     "cmd": [
@@ -10246,7 +10246,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure package directory",
+    "name": "install infra/tools/luci/isolated.ensure package directory",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
@@ -10280,7 +10280,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure_installed",
+    "name": "install infra/tools/luci/isolated.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
diff --git a/recipes/engine.expected/mac_upload_maven_or_bitcode.json b/recipes/engine.expected/mac_upload_maven_or_bitcode.json
index 184b252..7b1946a 100644
--- a/recipes/engine.expected/mac_upload_maven_or_bitcode.json
+++ b/recipes/engine.expected/mac_upload_maven_or_bitcode.json
@@ -12045,7 +12045,7 @@
   },
   {
     "cmd": [],
-    "name": "install isolated"
+    "name": "install infra/tools/luci/isolated"
   },
   {
     "cmd": [
@@ -12075,7 +12075,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure package directory",
+    "name": "install infra/tools/luci/isolated.ensure package directory",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
@@ -12109,7 +12109,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure_installed",
+    "name": "install infra/tools/luci/isolated.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
diff --git a/recipes/engine.expected/pull_request.json b/recipes/engine.expected/pull_request.json
index 60ea4d2..55c7f31 100644
--- a/recipes/engine.expected/pull_request.json
+++ b/recipes/engine.expected/pull_request.json
@@ -14074,7 +14074,7 @@
   },
   {
     "cmd": [],
-    "name": "install isolated"
+    "name": "install infra/tools/luci/isolated"
   },
   {
     "cmd": [
@@ -14104,7 +14104,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure package directory",
+    "name": "install infra/tools/luci/isolated.ensure package directory",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
@@ -14138,7 +14138,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure_installed",
+    "name": "install infra/tools/luci/isolated.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -14219,14 +14219,47 @@
   },
   {
     "cmd": [],
-    "name": "ensure swarming"
+    "name": "install infra/tools/luci/swarming"
+  },
+  {
+    "cmd": [
+      "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/swarming/latest"
+    ],
+    "cwd": "[CACHE]/builder",
+    "env": {
+      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "GOMA_DIR": "[CACHE]/goma/client"
+    },
+    "env_prefixes": {
+      "PATH": [
+        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+      ]
+    },
+    "env_suffixes": {
+      "PATH": [
+        "RECIPE_REPO[depot_tools]"
+      ]
+    },
+    "infra_step": true,
+    "name": "install infra/tools/luci/swarming.ensure package directory",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
       "cipd",
       "ensure",
       "-root",
-      "[CACHE]/swarming_client",
+      "[CACHE]/cipd/infra/tools/luci/swarming/latest",
       "-ensure-file",
       "infra/tools/luci/swarming/${platform} latest",
       "-max-threads",
@@ -14250,7 +14283,7 @@
       ]
     },
     "infra_step": true,
-    "name": "ensure swarming.ensure_installed",
+    "name": "install infra/tools/luci/swarming.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -14268,7 +14301,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/latest/swarming",
       "spawn-tasks",
       "-server",
       "https://example.swarmingserver.appspot.com",
@@ -14341,7 +14374,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/latest/swarming",
       "collect",
       "-server",
       "https://example.swarmingserver.appspot.com",
diff --git a/recipes/engine_1_18_0.expected/Linux Fuchsia Infra Failure.json b/recipes/engine_1_18_0.expected/Linux Fuchsia Infra Failure.json
index b3e6603..7491557 100644
--- a/recipes/engine_1_18_0.expected/Linux Fuchsia Infra Failure.json
+++ b/recipes/engine_1_18_0.expected/Linux Fuchsia Infra Failure.json
@@ -16246,7 +16246,7 @@
   },
   {
     "cmd": [],
-    "name": "install isolated"
+    "name": "install infra/tools/luci/isolated"
   },
   {
     "cmd": [
@@ -16276,7 +16276,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure package directory",
+    "name": "install infra/tools/luci/isolated.ensure package directory",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
@@ -16310,7 +16310,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure_installed",
+    "name": "install infra/tools/luci/isolated.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -16391,14 +16391,47 @@
   },
   {
     "cmd": [],
-    "name": "ensure swarming"
+    "name": "install infra/tools/luci/swarming"
+  },
+  {
+    "cmd": [
+      "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/swarming/swarming_module_pin"
+    ],
+    "cwd": "[CACHE]/builder",
+    "env": {
+      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "GOMA_DIR": "[CACHE]/goma/client"
+    },
+    "env_prefixes": {
+      "PATH": [
+        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+      ]
+    },
+    "env_suffixes": {
+      "PATH": [
+        "RECIPE_REPO[depot_tools]"
+      ]
+    },
+    "infra_step": true,
+    "name": "install infra/tools/luci/swarming.ensure package directory",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
       "cipd",
       "ensure",
       "-root",
-      "[CACHE]/swarming_client",
+      "[CACHE]/cipd/infra/tools/luci/swarming/swarming_module_pin",
       "-ensure-file",
       "infra/tools/luci/swarming/${platform} swarming_module_pin",
       "-max-threads",
@@ -16422,7 +16455,7 @@
       ]
     },
     "infra_step": true,
-    "name": "ensure swarming.ensure_installed",
+    "name": "install infra/tools/luci/swarming.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -16440,7 +16473,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/swarming_module_pin/swarming",
       "spawn-tasks",
       "-server",
       "https://example.swarmingserver.appspot.com",
@@ -16520,7 +16553,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/swarming_module_pin/swarming",
       "collect",
       "-server",
       "https://example.swarmingserver.appspot.com",
diff --git a/recipes/engine_1_18_0.expected/clobber.json b/recipes/engine_1_18_0.expected/clobber.json
index 29c3839..6aa9aef 100644
--- a/recipes/engine_1_18_0.expected/clobber.json
+++ b/recipes/engine_1_18_0.expected/clobber.json
@@ -13913,7 +13913,7 @@
   },
   {
     "cmd": [],
-    "name": "install isolated"
+    "name": "install infra/tools/luci/isolated"
   },
   {
     "cmd": [
@@ -13943,7 +13943,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure package directory",
+    "name": "install infra/tools/luci/isolated.ensure package directory",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
@@ -13977,7 +13977,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure_installed",
+    "name": "install infra/tools/luci/isolated.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -14058,14 +14058,47 @@
   },
   {
     "cmd": [],
-    "name": "ensure swarming"
+    "name": "install infra/tools/luci/swarming"
+  },
+  {
+    "cmd": [
+      "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/swarming/latest"
+    ],
+    "cwd": "[CACHE]/builder",
+    "env": {
+      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "GOMA_DIR": "[CACHE]/goma/client"
+    },
+    "env_prefixes": {
+      "PATH": [
+        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+      ]
+    },
+    "env_suffixes": {
+      "PATH": [
+        "RECIPE_REPO[depot_tools]"
+      ]
+    },
+    "infra_step": true,
+    "name": "install infra/tools/luci/swarming.ensure package directory",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
       "cipd",
       "ensure",
       "-root",
-      "[CACHE]/swarming_client",
+      "[CACHE]/cipd/infra/tools/luci/swarming/latest",
       "-ensure-file",
       "infra/tools/luci/swarming/${platform} latest",
       "-max-threads",
@@ -14089,7 +14122,7 @@
       ]
     },
     "infra_step": true,
-    "name": "ensure swarming.ensure_installed",
+    "name": "install infra/tools/luci/swarming.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -14107,7 +14140,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/latest/swarming",
       "spawn-tasks",
       "-server",
       "https://example.swarmingserver.appspot.com",
@@ -14180,7 +14213,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/latest/swarming",
       "collect",
       "-server",
       "https://example.swarmingserver.appspot.com",
diff --git a/recipes/engine_1_18_0.expected/experimental.json b/recipes/engine_1_18_0.expected/experimental.json
index c3f3246..3f9c26c 100644
--- a/recipes/engine_1_18_0.expected/experimental.json
+++ b/recipes/engine_1_18_0.expected/experimental.json
@@ -13856,7 +13856,7 @@
   },
   {
     "cmd": [],
-    "name": "install isolated"
+    "name": "install infra/tools/luci/isolated"
   },
   {
     "cmd": [
@@ -13886,7 +13886,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure package directory",
+    "name": "install infra/tools/luci/isolated.ensure package directory",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
@@ -13920,7 +13920,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure_installed",
+    "name": "install infra/tools/luci/isolated.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -14001,14 +14001,47 @@
   },
   {
     "cmd": [],
-    "name": "ensure swarming"
+    "name": "install infra/tools/luci/swarming"
+  },
+  {
+    "cmd": [
+      "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/swarming/latest"
+    ],
+    "cwd": "[CACHE]/builder",
+    "env": {
+      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "GOMA_DIR": "[CACHE]/goma/client"
+    },
+    "env_prefixes": {
+      "PATH": [
+        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+      ]
+    },
+    "env_suffixes": {
+      "PATH": [
+        "RECIPE_REPO[depot_tools]"
+      ]
+    },
+    "infra_step": true,
+    "name": "install infra/tools/luci/swarming.ensure package directory",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
       "cipd",
       "ensure",
       "-root",
-      "[CACHE]/swarming_client",
+      "[CACHE]/cipd/infra/tools/luci/swarming/latest",
       "-ensure-file",
       "infra/tools/luci/swarming/${platform} latest",
       "-max-threads",
@@ -14032,7 +14065,7 @@
       ]
     },
     "infra_step": true,
-    "name": "ensure swarming.ensure_installed",
+    "name": "install infra/tools/luci/swarming.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -14050,7 +14083,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/latest/swarming",
       "spawn-tasks",
       "-server",
       "https://example.swarmingserver.appspot.com",
@@ -14123,7 +14156,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/latest/swarming",
       "collect",
       "-server",
       "https://example.swarmingserver.appspot.com",
diff --git a/recipes/engine_1_18_0.expected/experimental_upload.json b/recipes/engine_1_18_0.expected/experimental_upload.json
index 28acf4f..200376e 100644
--- a/recipes/engine_1_18_0.expected/experimental_upload.json
+++ b/recipes/engine_1_18_0.expected/experimental_upload.json
@@ -16273,7 +16273,7 @@
   },
   {
     "cmd": [],
-    "name": "install isolated"
+    "name": "install infra/tools/luci/isolated"
   },
   {
     "cmd": [
@@ -16303,7 +16303,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure package directory",
+    "name": "install infra/tools/luci/isolated.ensure package directory",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
@@ -16337,7 +16337,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure_installed",
+    "name": "install infra/tools/luci/isolated.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -16418,14 +16418,47 @@
   },
   {
     "cmd": [],
-    "name": "ensure swarming"
+    "name": "install infra/tools/luci/swarming"
+  },
+  {
+    "cmd": [
+      "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/swarming/latest"
+    ],
+    "cwd": "[CACHE]/builder",
+    "env": {
+      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "GOMA_DIR": "[CACHE]/goma/client"
+    },
+    "env_prefixes": {
+      "PATH": [
+        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+      ]
+    },
+    "env_suffixes": {
+      "PATH": [
+        "RECIPE_REPO[depot_tools]"
+      ]
+    },
+    "infra_step": true,
+    "name": "install infra/tools/luci/swarming.ensure package directory",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
       "cipd",
       "ensure",
       "-root",
-      "[CACHE]/swarming_client",
+      "[CACHE]/cipd/infra/tools/luci/swarming/latest",
       "-ensure-file",
       "infra/tools/luci/swarming/${platform} latest",
       "-max-threads",
@@ -16449,7 +16482,7 @@
       ]
     },
     "infra_step": true,
-    "name": "ensure swarming.ensure_installed",
+    "name": "install infra/tools/luci/swarming.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -16467,7 +16500,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/latest/swarming",
       "spawn-tasks",
       "-server",
       "https://example.swarmingserver.appspot.com",
@@ -16540,7 +16573,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/latest/swarming",
       "collect",
       "-server",
       "https://example.swarmingserver.appspot.com",
diff --git a/recipes/engine_1_18_0.expected/linux.json b/recipes/engine_1_18_0.expected/linux.json
index f059ec2..6423f07 100644
--- a/recipes/engine_1_18_0.expected/linux.json
+++ b/recipes/engine_1_18_0.expected/linux.json
@@ -13829,7 +13829,7 @@
   },
   {
     "cmd": [],
-    "name": "install isolated"
+    "name": "install infra/tools/luci/isolated"
   },
   {
     "cmd": [
@@ -13859,7 +13859,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure package directory",
+    "name": "install infra/tools/luci/isolated.ensure package directory",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
@@ -13893,7 +13893,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure_installed",
+    "name": "install infra/tools/luci/isolated.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -13974,14 +13974,47 @@
   },
   {
     "cmd": [],
-    "name": "ensure swarming"
+    "name": "install infra/tools/luci/swarming"
+  },
+  {
+    "cmd": [
+      "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/swarming/swarming_module_pin"
+    ],
+    "cwd": "[CACHE]/builder",
+    "env": {
+      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "GOMA_DIR": "[CACHE]/goma/client"
+    },
+    "env_prefixes": {
+      "PATH": [
+        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+      ]
+    },
+    "env_suffixes": {
+      "PATH": [
+        "RECIPE_REPO[depot_tools]"
+      ]
+    },
+    "infra_step": true,
+    "name": "install infra/tools/luci/swarming.ensure package directory",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
       "cipd",
       "ensure",
       "-root",
-      "[CACHE]/swarming_client",
+      "[CACHE]/cipd/infra/tools/luci/swarming/swarming_module_pin",
       "-ensure-file",
       "infra/tools/luci/swarming/${platform} swarming_module_pin",
       "-max-threads",
@@ -14005,7 +14038,7 @@
       ]
     },
     "infra_step": true,
-    "name": "ensure swarming.ensure_installed",
+    "name": "install infra/tools/luci/swarming.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -14023,7 +14056,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/swarming_module_pin/swarming",
       "spawn-tasks",
       "-server",
       "https://example.swarmingserver.appspot.com",
@@ -14096,7 +14129,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/swarming_module_pin/swarming",
       "collect",
       "-server",
       "https://example.swarmingserver.appspot.com",
diff --git a/recipes/engine_1_18_0.expected/linux_maven_or_bitcode.json b/recipes/engine_1_18_0.expected/linux_maven_or_bitcode.json
index f059ec2..6423f07 100644
--- a/recipes/engine_1_18_0.expected/linux_maven_or_bitcode.json
+++ b/recipes/engine_1_18_0.expected/linux_maven_or_bitcode.json
@@ -13829,7 +13829,7 @@
   },
   {
     "cmd": [],
-    "name": "install isolated"
+    "name": "install infra/tools/luci/isolated"
   },
   {
     "cmd": [
@@ -13859,7 +13859,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure package directory",
+    "name": "install infra/tools/luci/isolated.ensure package directory",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
@@ -13893,7 +13893,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure_installed",
+    "name": "install infra/tools/luci/isolated.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -13974,14 +13974,47 @@
   },
   {
     "cmd": [],
-    "name": "ensure swarming"
+    "name": "install infra/tools/luci/swarming"
+  },
+  {
+    "cmd": [
+      "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/swarming/swarming_module_pin"
+    ],
+    "cwd": "[CACHE]/builder",
+    "env": {
+      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "GOMA_DIR": "[CACHE]/goma/client"
+    },
+    "env_prefixes": {
+      "PATH": [
+        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+      ]
+    },
+    "env_suffixes": {
+      "PATH": [
+        "RECIPE_REPO[depot_tools]"
+      ]
+    },
+    "infra_step": true,
+    "name": "install infra/tools/luci/swarming.ensure package directory",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
       "cipd",
       "ensure",
       "-root",
-      "[CACHE]/swarming_client",
+      "[CACHE]/cipd/infra/tools/luci/swarming/swarming_module_pin",
       "-ensure-file",
       "infra/tools/luci/swarming/${platform} swarming_module_pin",
       "-max-threads",
@@ -14005,7 +14038,7 @@
       ]
     },
     "infra_step": true,
-    "name": "ensure swarming.ensure_installed",
+    "name": "install infra/tools/luci/swarming.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -14023,7 +14056,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/swarming_module_pin/swarming",
       "spawn-tasks",
       "-server",
       "https://example.swarmingserver.appspot.com",
@@ -14096,7 +14129,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/swarming_module_pin/swarming",
       "collect",
       "-server",
       "https://example.swarmingserver.appspot.com",
diff --git a/recipes/engine_1_18_0.expected/linux_upload.json b/recipes/engine_1_18_0.expected/linux_upload.json
index f6d3665..2b18576 100644
--- a/recipes/engine_1_18_0.expected/linux_upload.json
+++ b/recipes/engine_1_18_0.expected/linux_upload.json
@@ -16246,7 +16246,7 @@
   },
   {
     "cmd": [],
-    "name": "install isolated"
+    "name": "install infra/tools/luci/isolated"
   },
   {
     "cmd": [
@@ -16276,7 +16276,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure package directory",
+    "name": "install infra/tools/luci/isolated.ensure package directory",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
@@ -16310,7 +16310,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure_installed",
+    "name": "install infra/tools/luci/isolated.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -16391,14 +16391,47 @@
   },
   {
     "cmd": [],
-    "name": "ensure swarming"
+    "name": "install infra/tools/luci/swarming"
+  },
+  {
+    "cmd": [
+      "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/swarming/swarming_module_pin"
+    ],
+    "cwd": "[CACHE]/builder",
+    "env": {
+      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "GOMA_DIR": "[CACHE]/goma/client"
+    },
+    "env_prefixes": {
+      "PATH": [
+        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+      ]
+    },
+    "env_suffixes": {
+      "PATH": [
+        "RECIPE_REPO[depot_tools]"
+      ]
+    },
+    "infra_step": true,
+    "name": "install infra/tools/luci/swarming.ensure package directory",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
       "cipd",
       "ensure",
       "-root",
-      "[CACHE]/swarming_client",
+      "[CACHE]/cipd/infra/tools/luci/swarming/swarming_module_pin",
       "-ensure-file",
       "infra/tools/luci/swarming/${platform} swarming_module_pin",
       "-max-threads",
@@ -16422,7 +16455,7 @@
       ]
     },
     "infra_step": true,
-    "name": "ensure swarming.ensure_installed",
+    "name": "install infra/tools/luci/swarming.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -16440,7 +16473,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/swarming_module_pin/swarming",
       "spawn-tasks",
       "-server",
       "https://example.swarmingserver.appspot.com",
@@ -16513,7 +16546,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/swarming_module_pin/swarming",
       "collect",
       "-server",
       "https://example.swarmingserver.appspot.com",
diff --git a/recipes/engine_1_18_0.expected/linux_upload_maven_or_bitcode.json b/recipes/engine_1_18_0.expected/linux_upload_maven_or_bitcode.json
index 29cdfe7..2f5a5f7 100644
--- a/recipes/engine_1_18_0.expected/linux_upload_maven_or_bitcode.json
+++ b/recipes/engine_1_18_0.expected/linux_upload_maven_or_bitcode.json
@@ -15289,7 +15289,7 @@
   },
   {
     "cmd": [],
-    "name": "install isolated"
+    "name": "install infra/tools/luci/isolated"
   },
   {
     "cmd": [
@@ -15319,7 +15319,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure package directory",
+    "name": "install infra/tools/luci/isolated.ensure package directory",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
@@ -15353,7 +15353,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure_installed",
+    "name": "install infra/tools/luci/isolated.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -15434,14 +15434,47 @@
   },
   {
     "cmd": [],
-    "name": "ensure swarming"
+    "name": "install infra/tools/luci/swarming"
+  },
+  {
+    "cmd": [
+      "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/swarming/swarming_module_pin"
+    ],
+    "cwd": "[CACHE]/builder",
+    "env": {
+      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "GOMA_DIR": "[CACHE]/goma/client"
+    },
+    "env_prefixes": {
+      "PATH": [
+        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+      ]
+    },
+    "env_suffixes": {
+      "PATH": [
+        "RECIPE_REPO[depot_tools]"
+      ]
+    },
+    "infra_step": true,
+    "name": "install infra/tools/luci/swarming.ensure package directory",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
       "cipd",
       "ensure",
       "-root",
-      "[CACHE]/swarming_client",
+      "[CACHE]/cipd/infra/tools/luci/swarming/swarming_module_pin",
       "-ensure-file",
       "infra/tools/luci/swarming/${platform} swarming_module_pin",
       "-max-threads",
@@ -15465,7 +15498,7 @@
       ]
     },
     "infra_step": true,
-    "name": "ensure swarming.ensure_installed",
+    "name": "install infra/tools/luci/swarming.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -15483,7 +15516,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/swarming_module_pin/swarming",
       "spawn-tasks",
       "-server",
       "https://example.swarmingserver.appspot.com",
@@ -15556,7 +15589,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/swarming_module_pin/swarming",
       "collect",
       "-server",
       "https://example.swarmingserver.appspot.com",
diff --git a/recipes/engine_1_18_0.expected/mac.json b/recipes/engine_1_18_0.expected/mac.json
index 24a2283..c71cafd 100644
--- a/recipes/engine_1_18_0.expected/mac.json
+++ b/recipes/engine_1_18_0.expected/mac.json
@@ -9349,7 +9349,7 @@
   },
   {
     "cmd": [],
-    "name": "install isolated"
+    "name": "install infra/tools/luci/isolated"
   },
   {
     "cmd": [
@@ -9379,7 +9379,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure package directory",
+    "name": "install infra/tools/luci/isolated.ensure package directory",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
@@ -9413,7 +9413,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure_installed",
+    "name": "install infra/tools/luci/isolated.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
diff --git a/recipes/engine_1_18_0.expected/mac_maven_or_bitcode.json b/recipes/engine_1_18_0.expected/mac_maven_or_bitcode.json
index 0d5ea47..f2c0acc 100644
--- a/recipes/engine_1_18_0.expected/mac_maven_or_bitcode.json
+++ b/recipes/engine_1_18_0.expected/mac_maven_or_bitcode.json
@@ -11248,7 +11248,7 @@
   },
   {
     "cmd": [],
-    "name": "install isolated"
+    "name": "install infra/tools/luci/isolated"
   },
   {
     "cmd": [
@@ -11278,7 +11278,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure package directory",
+    "name": "install infra/tools/luci/isolated.ensure package directory",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
@@ -11312,7 +11312,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure_installed",
+    "name": "install infra/tools/luci/isolated.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
diff --git a/recipes/engine_1_18_0.expected/mac_upload.json b/recipes/engine_1_18_0.expected/mac_upload.json
index 5240fb1..8d287e9 100644
--- a/recipes/engine_1_18_0.expected/mac_upload.json
+++ b/recipes/engine_1_18_0.expected/mac_upload.json
@@ -10122,7 +10122,7 @@
   },
   {
     "cmd": [],
-    "name": "install isolated"
+    "name": "install infra/tools/luci/isolated"
   },
   {
     "cmd": [
@@ -10152,7 +10152,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure package directory",
+    "name": "install infra/tools/luci/isolated.ensure package directory",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
@@ -10186,7 +10186,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure_installed",
+    "name": "install infra/tools/luci/isolated.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
diff --git a/recipes/engine_1_18_0.expected/mac_upload_maven_or_bitcode.json b/recipes/engine_1_18_0.expected/mac_upload_maven_or_bitcode.json
index 1613e19..2ed37f3 100644
--- a/recipes/engine_1_18_0.expected/mac_upload_maven_or_bitcode.json
+++ b/recipes/engine_1_18_0.expected/mac_upload_maven_or_bitcode.json
@@ -11951,7 +11951,7 @@
   },
   {
     "cmd": [],
-    "name": "install isolated"
+    "name": "install infra/tools/luci/isolated"
   },
   {
     "cmd": [
@@ -11981,7 +11981,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure package directory",
+    "name": "install infra/tools/luci/isolated.ensure package directory",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
@@ -12015,7 +12015,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure_installed",
+    "name": "install infra/tools/luci/isolated.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
diff --git a/recipes/engine_1_18_0.expected/pull_request.json b/recipes/engine_1_18_0.expected/pull_request.json
index cd0cf4a..7fae1eb 100644
--- a/recipes/engine_1_18_0.expected/pull_request.json
+++ b/recipes/engine_1_18_0.expected/pull_request.json
@@ -13866,7 +13866,7 @@
   },
   {
     "cmd": [],
-    "name": "install isolated"
+    "name": "install infra/tools/luci/isolated"
   },
   {
     "cmd": [
@@ -13896,7 +13896,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure package directory",
+    "name": "install infra/tools/luci/isolated.ensure package directory",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
@@ -13930,7 +13930,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure_installed",
+    "name": "install infra/tools/luci/isolated.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -14011,14 +14011,47 @@
   },
   {
     "cmd": [],
-    "name": "ensure swarming"
+    "name": "install infra/tools/luci/swarming"
+  },
+  {
+    "cmd": [
+      "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/swarming/latest"
+    ],
+    "cwd": "[CACHE]/builder",
+    "env": {
+      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "GOMA_DIR": "[CACHE]/goma/client"
+    },
+    "env_prefixes": {
+      "PATH": [
+        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+      ]
+    },
+    "env_suffixes": {
+      "PATH": [
+        "RECIPE_REPO[depot_tools]"
+      ]
+    },
+    "infra_step": true,
+    "name": "install infra/tools/luci/swarming.ensure package directory",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
       "cipd",
       "ensure",
       "-root",
-      "[CACHE]/swarming_client",
+      "[CACHE]/cipd/infra/tools/luci/swarming/latest",
       "-ensure-file",
       "infra/tools/luci/swarming/${platform} latest",
       "-max-threads",
@@ -14042,7 +14075,7 @@
       ]
     },
     "infra_step": true,
-    "name": "ensure swarming.ensure_installed",
+    "name": "install infra/tools/luci/swarming.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -14060,7 +14093,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/latest/swarming",
       "spawn-tasks",
       "-server",
       "https://example.swarmingserver.appspot.com",
@@ -14133,7 +14166,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/latest/swarming",
       "collect",
       "-server",
       "https://example.swarmingserver.appspot.com",
diff --git a/recipes/engine_builder.expected/Schedule two builds one with goma and one without.json b/recipes/engine_builder.expected/Schedule two builds one with goma and one without.json
index 9e5faaf..3739415 100644
--- a/recipes/engine_builder.expected/Schedule two builds one with goma and one without.json
+++ b/recipes/engine_builder.expected/Schedule two builds one with goma and one without.json
@@ -574,7 +574,7 @@
   },
   {
     "cmd": [],
-    "name": "install isolated"
+    "name": "install infra/tools/luci/isolated"
   },
   {
     "cmd": [
@@ -590,7 +590,7 @@
     ],
     "cwd": "[CACHE]/builder",
     "infra_step": true,
-    "name": "install isolated.ensure package directory",
+    "name": "install infra/tools/luci/isolated.ensure package directory",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
@@ -610,7 +610,7 @@
     ],
     "cwd": "[CACHE]/builder",
     "infra_step": true,
-    "name": "install isolated.ensure_installed",
+    "name": "install infra/tools/luci/isolated.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
diff --git a/recipes/engine_builder_1_18_0.expected/Schedule two builds one with goma and one without.json b/recipes/engine_builder_1_18_0.expected/Schedule two builds one with goma and one without.json
index 9e5faaf..3739415 100644
--- a/recipes/engine_builder_1_18_0.expected/Schedule two builds one with goma and one without.json
+++ b/recipes/engine_builder_1_18_0.expected/Schedule two builds one with goma and one without.json
@@ -574,7 +574,7 @@
   },
   {
     "cmd": [],
-    "name": "install isolated"
+    "name": "install infra/tools/luci/isolated"
   },
   {
     "cmd": [
@@ -590,7 +590,7 @@
     ],
     "cwd": "[CACHE]/builder",
     "infra_step": true,
-    "name": "install isolated.ensure package directory",
+    "name": "install infra/tools/luci/isolated.ensure package directory",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
@@ -610,7 +610,7 @@
     ],
     "cwd": "[CACHE]/builder",
     "infra_step": true,
-    "name": "install isolated.ensure_installed",
+    "name": "install infra/tools/luci/isolated.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
diff --git a/recipes/engine_builder_v1_17_0.expected/Schedule two builds one with goma and one without.json b/recipes/engine_builder_v1_17_0.expected/Schedule two builds one with goma and one without.json
index 9e5faaf..3739415 100644
--- a/recipes/engine_builder_v1_17_0.expected/Schedule two builds one with goma and one without.json
+++ b/recipes/engine_builder_v1_17_0.expected/Schedule two builds one with goma and one without.json
@@ -574,7 +574,7 @@
   },
   {
     "cmd": [],
-    "name": "install isolated"
+    "name": "install infra/tools/luci/isolated"
   },
   {
     "cmd": [
@@ -590,7 +590,7 @@
     ],
     "cwd": "[CACHE]/builder",
     "infra_step": true,
-    "name": "install isolated.ensure package directory",
+    "name": "install infra/tools/luci/isolated.ensure package directory",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
@@ -610,7 +610,7 @@
     ],
     "cwd": "[CACHE]/builder",
     "infra_step": true,
-    "name": "install isolated.ensure_installed",
+    "name": "install infra/tools/luci/isolated.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
diff --git a/recipes/engine_v1_17_0.expected/clobber.json b/recipes/engine_v1_17_0.expected/clobber.json
index 5272f13..75a3347 100644
--- a/recipes/engine_v1_17_0.expected/clobber.json
+++ b/recipes/engine_v1_17_0.expected/clobber.json
@@ -13262,7 +13262,7 @@
   },
   {
     "cmd": [],
-    "name": "install isolated"
+    "name": "install infra/tools/luci/isolated"
   },
   {
     "cmd": [
@@ -13292,7 +13292,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure package directory",
+    "name": "install infra/tools/luci/isolated.ensure package directory",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
@@ -13326,7 +13326,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure_installed",
+    "name": "install infra/tools/luci/isolated.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -13407,14 +13407,47 @@
   },
   {
     "cmd": [],
-    "name": "ensure swarming"
+    "name": "install infra/tools/luci/swarming"
+  },
+  {
+    "cmd": [
+      "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/swarming/latest"
+    ],
+    "cwd": "[CACHE]/builder",
+    "env": {
+      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "GOMA_DIR": "[CACHE]/goma/client"
+    },
+    "env_prefixes": {
+      "PATH": [
+        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+      ]
+    },
+    "env_suffixes": {
+      "PATH": [
+        "RECIPE_REPO[depot_tools]"
+      ]
+    },
+    "infra_step": true,
+    "name": "install infra/tools/luci/swarming.ensure package directory",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
       "cipd",
       "ensure",
       "-root",
-      "[CACHE]/swarming_client",
+      "[CACHE]/cipd/infra/tools/luci/swarming/latest",
       "-ensure-file",
       "infra/tools/luci/swarming/${platform} latest",
       "-max-threads",
@@ -13438,7 +13471,7 @@
       ]
     },
     "infra_step": true,
-    "name": "ensure swarming.ensure_installed",
+    "name": "install infra/tools/luci/swarming.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -13456,7 +13489,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/latest/swarming",
       "spawn-tasks",
       "-server",
       "https://example.swarmingserver.appspot.com",
@@ -13529,7 +13562,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/latest/swarming",
       "collect",
       "-server",
       "https://example.swarmingserver.appspot.com",
diff --git a/recipes/engine_v1_17_0.expected/experimental.json b/recipes/engine_v1_17_0.expected/experimental.json
index 36b05d4..dda8e5c 100644
--- a/recipes/engine_v1_17_0.expected/experimental.json
+++ b/recipes/engine_v1_17_0.expected/experimental.json
@@ -13205,7 +13205,7 @@
   },
   {
     "cmd": [],
-    "name": "install isolated"
+    "name": "install infra/tools/luci/isolated"
   },
   {
     "cmd": [
@@ -13235,7 +13235,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure package directory",
+    "name": "install infra/tools/luci/isolated.ensure package directory",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
@@ -13269,7 +13269,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure_installed",
+    "name": "install infra/tools/luci/isolated.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -13350,14 +13350,47 @@
   },
   {
     "cmd": [],
-    "name": "ensure swarming"
+    "name": "install infra/tools/luci/swarming"
+  },
+  {
+    "cmd": [
+      "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/swarming/latest"
+    ],
+    "cwd": "[CACHE]/builder",
+    "env": {
+      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "GOMA_DIR": "[CACHE]/goma/client"
+    },
+    "env_prefixes": {
+      "PATH": [
+        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+      ]
+    },
+    "env_suffixes": {
+      "PATH": [
+        "RECIPE_REPO[depot_tools]"
+      ]
+    },
+    "infra_step": true,
+    "name": "install infra/tools/luci/swarming.ensure package directory",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
       "cipd",
       "ensure",
       "-root",
-      "[CACHE]/swarming_client",
+      "[CACHE]/cipd/infra/tools/luci/swarming/latest",
       "-ensure-file",
       "infra/tools/luci/swarming/${platform} latest",
       "-max-threads",
@@ -13381,7 +13414,7 @@
       ]
     },
     "infra_step": true,
-    "name": "ensure swarming.ensure_installed",
+    "name": "install infra/tools/luci/swarming.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -13399,7 +13432,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/latest/swarming",
       "spawn-tasks",
       "-server",
       "https://example.swarmingserver.appspot.com",
@@ -13472,7 +13505,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/latest/swarming",
       "collect",
       "-server",
       "https://example.swarmingserver.appspot.com",
diff --git a/recipes/engine_v1_17_0.expected/experimental_upload.json b/recipes/engine_v1_17_0.expected/experimental_upload.json
index 38959bc..6e82fe3 100644
--- a/recipes/engine_v1_17_0.expected/experimental_upload.json
+++ b/recipes/engine_v1_17_0.expected/experimental_upload.json
@@ -15523,7 +15523,7 @@
   },
   {
     "cmd": [],
-    "name": "install isolated"
+    "name": "install infra/tools/luci/isolated"
   },
   {
     "cmd": [
@@ -15553,7 +15553,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure package directory",
+    "name": "install infra/tools/luci/isolated.ensure package directory",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
@@ -15587,7 +15587,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure_installed",
+    "name": "install infra/tools/luci/isolated.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -15668,14 +15668,47 @@
   },
   {
     "cmd": [],
-    "name": "ensure swarming"
+    "name": "install infra/tools/luci/swarming"
+  },
+  {
+    "cmd": [
+      "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/swarming/latest"
+    ],
+    "cwd": "[CACHE]/builder",
+    "env": {
+      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "GOMA_DIR": "[CACHE]/goma/client"
+    },
+    "env_prefixes": {
+      "PATH": [
+        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+      ]
+    },
+    "env_suffixes": {
+      "PATH": [
+        "RECIPE_REPO[depot_tools]"
+      ]
+    },
+    "infra_step": true,
+    "name": "install infra/tools/luci/swarming.ensure package directory",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
       "cipd",
       "ensure",
       "-root",
-      "[CACHE]/swarming_client",
+      "[CACHE]/cipd/infra/tools/luci/swarming/latest",
       "-ensure-file",
       "infra/tools/luci/swarming/${platform} latest",
       "-max-threads",
@@ -15699,7 +15732,7 @@
       ]
     },
     "infra_step": true,
-    "name": "ensure swarming.ensure_installed",
+    "name": "install infra/tools/luci/swarming.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -15717,7 +15750,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/latest/swarming",
       "spawn-tasks",
       "-server",
       "https://example.swarmingserver.appspot.com",
@@ -15790,7 +15823,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/latest/swarming",
       "collect",
       "-server",
       "https://example.swarmingserver.appspot.com",
diff --git a/recipes/engine_v1_17_0.expected/linux.json b/recipes/engine_v1_17_0.expected/linux.json
index 10796c1..145deac 100644
--- a/recipes/engine_v1_17_0.expected/linux.json
+++ b/recipes/engine_v1_17_0.expected/linux.json
@@ -13179,7 +13179,7 @@
   },
   {
     "cmd": [],
-    "name": "install isolated"
+    "name": "install infra/tools/luci/isolated"
   },
   {
     "cmd": [
@@ -13209,7 +13209,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure package directory",
+    "name": "install infra/tools/luci/isolated.ensure package directory",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
@@ -13243,7 +13243,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure_installed",
+    "name": "install infra/tools/luci/isolated.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -13324,14 +13324,47 @@
   },
   {
     "cmd": [],
-    "name": "ensure swarming"
+    "name": "install infra/tools/luci/swarming"
+  },
+  {
+    "cmd": [
+      "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/swarming/swarming_module_pin"
+    ],
+    "cwd": "[CACHE]/builder",
+    "env": {
+      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "GOMA_DIR": "[CACHE]/goma/client"
+    },
+    "env_prefixes": {
+      "PATH": [
+        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+      ]
+    },
+    "env_suffixes": {
+      "PATH": [
+        "RECIPE_REPO[depot_tools]"
+      ]
+    },
+    "infra_step": true,
+    "name": "install infra/tools/luci/swarming.ensure package directory",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
       "cipd",
       "ensure",
       "-root",
-      "[CACHE]/swarming_client",
+      "[CACHE]/cipd/infra/tools/luci/swarming/swarming_module_pin",
       "-ensure-file",
       "infra/tools/luci/swarming/${platform} swarming_module_pin",
       "-max-threads",
@@ -13355,7 +13388,7 @@
       ]
     },
     "infra_step": true,
-    "name": "ensure swarming.ensure_installed",
+    "name": "install infra/tools/luci/swarming.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -13373,7 +13406,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/swarming_module_pin/swarming",
       "spawn-tasks",
       "-server",
       "https://example.swarmingserver.appspot.com",
@@ -13446,7 +13479,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/swarming_module_pin/swarming",
       "collect",
       "-server",
       "https://example.swarmingserver.appspot.com",
diff --git a/recipes/engine_v1_17_0.expected/linux_maven_or_bitcode.json b/recipes/engine_v1_17_0.expected/linux_maven_or_bitcode.json
index 10796c1..145deac 100644
--- a/recipes/engine_v1_17_0.expected/linux_maven_or_bitcode.json
+++ b/recipes/engine_v1_17_0.expected/linux_maven_or_bitcode.json
@@ -13179,7 +13179,7 @@
   },
   {
     "cmd": [],
-    "name": "install isolated"
+    "name": "install infra/tools/luci/isolated"
   },
   {
     "cmd": [
@@ -13209,7 +13209,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure package directory",
+    "name": "install infra/tools/luci/isolated.ensure package directory",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
@@ -13243,7 +13243,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure_installed",
+    "name": "install infra/tools/luci/isolated.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -13324,14 +13324,47 @@
   },
   {
     "cmd": [],
-    "name": "ensure swarming"
+    "name": "install infra/tools/luci/swarming"
+  },
+  {
+    "cmd": [
+      "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/swarming/swarming_module_pin"
+    ],
+    "cwd": "[CACHE]/builder",
+    "env": {
+      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "GOMA_DIR": "[CACHE]/goma/client"
+    },
+    "env_prefixes": {
+      "PATH": [
+        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+      ]
+    },
+    "env_suffixes": {
+      "PATH": [
+        "RECIPE_REPO[depot_tools]"
+      ]
+    },
+    "infra_step": true,
+    "name": "install infra/tools/luci/swarming.ensure package directory",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
       "cipd",
       "ensure",
       "-root",
-      "[CACHE]/swarming_client",
+      "[CACHE]/cipd/infra/tools/luci/swarming/swarming_module_pin",
       "-ensure-file",
       "infra/tools/luci/swarming/${platform} swarming_module_pin",
       "-max-threads",
@@ -13355,7 +13388,7 @@
       ]
     },
     "infra_step": true,
-    "name": "ensure swarming.ensure_installed",
+    "name": "install infra/tools/luci/swarming.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -13373,7 +13406,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/swarming_module_pin/swarming",
       "spawn-tasks",
       "-server",
       "https://example.swarmingserver.appspot.com",
@@ -13446,7 +13479,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/swarming_module_pin/swarming",
       "collect",
       "-server",
       "https://example.swarmingserver.appspot.com",
diff --git a/recipes/engine_v1_17_0.expected/linux_upload.json b/recipes/engine_v1_17_0.expected/linux_upload.json
index 046d247..20beb55 100644
--- a/recipes/engine_v1_17_0.expected/linux_upload.json
+++ b/recipes/engine_v1_17_0.expected/linux_upload.json
@@ -15497,7 +15497,7 @@
   },
   {
     "cmd": [],
-    "name": "install isolated"
+    "name": "install infra/tools/luci/isolated"
   },
   {
     "cmd": [
@@ -15527,7 +15527,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure package directory",
+    "name": "install infra/tools/luci/isolated.ensure package directory",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
@@ -15561,7 +15561,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure_installed",
+    "name": "install infra/tools/luci/isolated.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -15642,14 +15642,47 @@
   },
   {
     "cmd": [],
-    "name": "ensure swarming"
+    "name": "install infra/tools/luci/swarming"
+  },
+  {
+    "cmd": [
+      "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/swarming/swarming_module_pin"
+    ],
+    "cwd": "[CACHE]/builder",
+    "env": {
+      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "GOMA_DIR": "[CACHE]/goma/client"
+    },
+    "env_prefixes": {
+      "PATH": [
+        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+      ]
+    },
+    "env_suffixes": {
+      "PATH": [
+        "RECIPE_REPO[depot_tools]"
+      ]
+    },
+    "infra_step": true,
+    "name": "install infra/tools/luci/swarming.ensure package directory",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
       "cipd",
       "ensure",
       "-root",
-      "[CACHE]/swarming_client",
+      "[CACHE]/cipd/infra/tools/luci/swarming/swarming_module_pin",
       "-ensure-file",
       "infra/tools/luci/swarming/${platform} swarming_module_pin",
       "-max-threads",
@@ -15673,7 +15706,7 @@
       ]
     },
     "infra_step": true,
-    "name": "ensure swarming.ensure_installed",
+    "name": "install infra/tools/luci/swarming.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -15691,7 +15724,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/swarming_module_pin/swarming",
       "spawn-tasks",
       "-server",
       "https://example.swarmingserver.appspot.com",
@@ -15764,7 +15797,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/swarming_module_pin/swarming",
       "collect",
       "-server",
       "https://example.swarmingserver.appspot.com",
diff --git a/recipes/engine_v1_17_0.expected/linux_upload_maven_or_bitcode.json b/recipes/engine_v1_17_0.expected/linux_upload_maven_or_bitcode.json
index 6efab16..6d143b9 100644
--- a/recipes/engine_v1_17_0.expected/linux_upload_maven_or_bitcode.json
+++ b/recipes/engine_v1_17_0.expected/linux_upload_maven_or_bitcode.json
@@ -14540,7 +14540,7 @@
   },
   {
     "cmd": [],
-    "name": "install isolated"
+    "name": "install infra/tools/luci/isolated"
   },
   {
     "cmd": [
@@ -14570,7 +14570,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure package directory",
+    "name": "install infra/tools/luci/isolated.ensure package directory",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
@@ -14604,7 +14604,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure_installed",
+    "name": "install infra/tools/luci/isolated.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -14685,14 +14685,47 @@
   },
   {
     "cmd": [],
-    "name": "ensure swarming"
+    "name": "install infra/tools/luci/swarming"
+  },
+  {
+    "cmd": [
+      "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/swarming/swarming_module_pin"
+    ],
+    "cwd": "[CACHE]/builder",
+    "env": {
+      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "GOMA_DIR": "[CACHE]/goma/client"
+    },
+    "env_prefixes": {
+      "PATH": [
+        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+      ]
+    },
+    "env_suffixes": {
+      "PATH": [
+        "RECIPE_REPO[depot_tools]"
+      ]
+    },
+    "infra_step": true,
+    "name": "install infra/tools/luci/swarming.ensure package directory",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
       "cipd",
       "ensure",
       "-root",
-      "[CACHE]/swarming_client",
+      "[CACHE]/cipd/infra/tools/luci/swarming/swarming_module_pin",
       "-ensure-file",
       "infra/tools/luci/swarming/${platform} swarming_module_pin",
       "-max-threads",
@@ -14716,7 +14749,7 @@
       ]
     },
     "infra_step": true,
-    "name": "ensure swarming.ensure_installed",
+    "name": "install infra/tools/luci/swarming.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -14734,7 +14767,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/swarming_module_pin/swarming",
       "spawn-tasks",
       "-server",
       "https://example.swarmingserver.appspot.com",
@@ -14807,7 +14840,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/swarming_module_pin/swarming",
       "collect",
       "-server",
       "https://example.swarmingserver.appspot.com",
diff --git a/recipes/engine_v1_17_0.expected/mac.json b/recipes/engine_v1_17_0.expected/mac.json
index 220e847..832cb58 100644
--- a/recipes/engine_v1_17_0.expected/mac.json
+++ b/recipes/engine_v1_17_0.expected/mac.json
@@ -8960,7 +8960,7 @@
   },
   {
     "cmd": [],
-    "name": "install isolated"
+    "name": "install infra/tools/luci/isolated"
   },
   {
     "cmd": [
@@ -8990,7 +8990,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure package directory",
+    "name": "install infra/tools/luci/isolated.ensure package directory",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
@@ -9024,7 +9024,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure_installed",
+    "name": "install infra/tools/luci/isolated.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
diff --git a/recipes/engine_v1_17_0.expected/mac_maven_or_bitcode.json b/recipes/engine_v1_17_0.expected/mac_maven_or_bitcode.json
index 54efbc8..ca6b5af 100644
--- a/recipes/engine_v1_17_0.expected/mac_maven_or_bitcode.json
+++ b/recipes/engine_v1_17_0.expected/mac_maven_or_bitcode.json
@@ -10859,7 +10859,7 @@
   },
   {
     "cmd": [],
-    "name": "install isolated"
+    "name": "install infra/tools/luci/isolated"
   },
   {
     "cmd": [
@@ -10889,7 +10889,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure package directory",
+    "name": "install infra/tools/luci/isolated.ensure package directory",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
@@ -10923,7 +10923,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure_installed",
+    "name": "install infra/tools/luci/isolated.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
diff --git a/recipes/engine_v1_17_0.expected/mac_upload.json b/recipes/engine_v1_17_0.expected/mac_upload.json
index 7beaac7..7e7c310 100644
--- a/recipes/engine_v1_17_0.expected/mac_upload.json
+++ b/recipes/engine_v1_17_0.expected/mac_upload.json
@@ -9733,7 +9733,7 @@
   },
   {
     "cmd": [],
-    "name": "install isolated"
+    "name": "install infra/tools/luci/isolated"
   },
   {
     "cmd": [
@@ -9763,7 +9763,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure package directory",
+    "name": "install infra/tools/luci/isolated.ensure package directory",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
@@ -9797,7 +9797,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure_installed",
+    "name": "install infra/tools/luci/isolated.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
diff --git a/recipes/engine_v1_17_0.expected/mac_upload_maven_or_bitcode.json b/recipes/engine_v1_17_0.expected/mac_upload_maven_or_bitcode.json
index f7374a9..f02658c 100644
--- a/recipes/engine_v1_17_0.expected/mac_upload_maven_or_bitcode.json
+++ b/recipes/engine_v1_17_0.expected/mac_upload_maven_or_bitcode.json
@@ -11562,7 +11562,7 @@
   },
   {
     "cmd": [],
-    "name": "install isolated"
+    "name": "install infra/tools/luci/isolated"
   },
   {
     "cmd": [
@@ -11592,7 +11592,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure package directory",
+    "name": "install infra/tools/luci/isolated.ensure package directory",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
@@ -11626,7 +11626,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure_installed",
+    "name": "install infra/tools/luci/isolated.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
diff --git a/recipes/engine_v1_17_0.expected/pull_request.json b/recipes/engine_v1_17_0.expected/pull_request.json
index 88657aa..91c45d4 100644
--- a/recipes/engine_v1_17_0.expected/pull_request.json
+++ b/recipes/engine_v1_17_0.expected/pull_request.json
@@ -13215,7 +13215,7 @@
   },
   {
     "cmd": [],
-    "name": "install isolated"
+    "name": "install infra/tools/luci/isolated"
   },
   {
     "cmd": [
@@ -13245,7 +13245,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure package directory",
+    "name": "install infra/tools/luci/isolated.ensure package directory",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
@@ -13279,7 +13279,7 @@
       ]
     },
     "infra_step": true,
-    "name": "install isolated.ensure_installed",
+    "name": "install infra/tools/luci/isolated.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -13360,14 +13360,47 @@
   },
   {
     "cmd": [],
-    "name": "ensure swarming"
+    "name": "install infra/tools/luci/swarming"
+  },
+  {
+    "cmd": [
+      "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/swarming/latest"
+    ],
+    "cwd": "[CACHE]/builder",
+    "env": {
+      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+      "GOMA_DIR": "[CACHE]/goma/client"
+    },
+    "env_prefixes": {
+      "PATH": [
+        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+      ]
+    },
+    "env_suffixes": {
+      "PATH": [
+        "RECIPE_REPO[depot_tools]"
+      ]
+    },
+    "infra_step": true,
+    "name": "install infra/tools/luci/swarming.ensure package directory",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
       "cipd",
       "ensure",
       "-root",
-      "[CACHE]/swarming_client",
+      "[CACHE]/cipd/infra/tools/luci/swarming/latest",
       "-ensure-file",
       "infra/tools/luci/swarming/${platform} latest",
       "-max-threads",
@@ -13391,7 +13424,7 @@
       ]
     },
     "infra_step": true,
-    "name": "ensure swarming.ensure_installed",
+    "name": "install infra/tools/luci/swarming.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -13409,7 +13442,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/latest/swarming",
       "spawn-tasks",
       "-server",
       "https://example.swarmingserver.appspot.com",
@@ -13482,7 +13515,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/latest/swarming",
       "collect",
       "-server",
       "https://example.swarmingserver.appspot.com",
diff --git a/recipes/flutter_1_18_0.expected/Linux Fuchsia Infra Failure.json b/recipes/flutter_1_18_0.expected/Linux Fuchsia Infra Failure.json
index 371ccbc..973fd60 100644
--- a/recipes/flutter_1_18_0.expected/Linux Fuchsia Infra Failure.json
+++ b/recipes/flutter_1_18_0.expected/Linux Fuchsia Infra Failure.json
@@ -442,7 +442,7 @@
   },
   {
     "cmd": [],
-    "name": "Run Fuchsia Driver Tests.Create Isolate Archive.install isolated",
+    "name": "Run Fuchsia Driver Tests.Create Isolate Archive.install infra/tools/luci/isolated",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
     ]
@@ -472,7 +472,7 @@
       ]
     },
     "infra_step": true,
-    "name": "Run Fuchsia Driver Tests.Create Isolate Archive.install isolated.ensure package directory",
+    "name": "Run Fuchsia Driver Tests.Create Isolate Archive.install infra/tools/luci/isolated.ensure package directory",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@"
     ]
@@ -503,7 +503,7 @@
       ]
     },
     "infra_step": true,
-    "name": "Run Fuchsia Driver Tests.Create Isolate Archive.install isolated.ensure_installed",
+    "name": "Run Fuchsia Driver Tests.Create Isolate Archive.install infra/tools/luci/isolated.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -582,17 +582,47 @@
   },
   {
     "cmd": [],
-    "name": "Run Fuchsia Driver Tests.ensure swarming",
+    "name": "Run Fuchsia Driver Tests.install infra/tools/luci/swarming",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
   },
   {
     "cmd": [
+      "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/swarming/swarming_module_pin"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "env": {
+      "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+      "GOLDCTL": "[CACHE]/gold/goldctl",
+      "PUB_CACHE": "[START_DIR]/flutter/.pub-cache"
+    },
+    "env_prefixes": {
+      "PATH": [
+        "[START_DIR]/flutter/bin",
+        "[START_DIR]/flutter/bin/cache/dart-sdk/bin"
+      ]
+    },
+    "infra_step": true,
+    "name": "Run Fuchsia Driver Tests.install infra/tools/luci/swarming.ensure package directory",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@"
+    ]
+  },
+  {
+    "cmd": [
       "cipd",
       "ensure",
       "-root",
-      "[CACHE]/swarming_client",
+      "[CACHE]/cipd/infra/tools/luci/swarming/swarming_module_pin",
       "-ensure-file",
       "infra/tools/luci/swarming/${platform} swarming_module_pin",
       "-max-threads",
@@ -613,7 +643,7 @@
       ]
     },
     "infra_step": true,
-    "name": "Run Fuchsia Driver Tests.ensure swarming.ensure_installed",
+    "name": "Run Fuchsia Driver Tests.install infra/tools/luci/swarming.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -631,7 +661,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/swarming_module_pin/swarming",
       "spawn-tasks",
       "-server",
       "https://example.swarmingserver.appspot.com",
@@ -758,7 +788,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/swarming_module_pin/swarming",
       "collect",
       "-server",
       "https://example.swarmingserver.appspot.com",
diff --git a/recipes/flutter_1_18_0.expected/linux_master.json b/recipes/flutter_1_18_0.expected/linux_master.json
index bbadeb6..c0ef436 100644
--- a/recipes/flutter_1_18_0.expected/linux_master.json
+++ b/recipes/flutter_1_18_0.expected/linux_master.json
@@ -453,7 +453,7 @@
   },
   {
     "cmd": [],
-    "name": "Run Fuchsia Driver Tests.Create Isolate Archive.install isolated",
+    "name": "Run Fuchsia Driver Tests.Create Isolate Archive.install infra/tools/luci/isolated",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
     ]
@@ -484,7 +484,7 @@
       ]
     },
     "infra_step": true,
-    "name": "Run Fuchsia Driver Tests.Create Isolate Archive.install isolated.ensure package directory",
+    "name": "Run Fuchsia Driver Tests.Create Isolate Archive.install infra/tools/luci/isolated.ensure package directory",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@"
     ]
@@ -516,7 +516,7 @@
       ]
     },
     "infra_step": true,
-    "name": "Run Fuchsia Driver Tests.Create Isolate Archive.install isolated.ensure_installed",
+    "name": "Run Fuchsia Driver Tests.Create Isolate Archive.install infra/tools/luci/isolated.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -597,17 +597,48 @@
   },
   {
     "cmd": [],
-    "name": "Run Fuchsia Driver Tests.ensure swarming",
+    "name": "Run Fuchsia Driver Tests.install infra/tools/luci/swarming",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
   },
   {
     "cmd": [
+      "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/swarming/swarming_module_pin"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "env": {
+      "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+      "GOLDCTL": "[CACHE]/gold/goldctl",
+      "GOLD_TRYJOB": "refs/heads/master",
+      "PUB_CACHE": "[START_DIR]/flutter/.pub-cache"
+    },
+    "env_prefixes": {
+      "PATH": [
+        "[START_DIR]/flutter/bin",
+        "[START_DIR]/flutter/bin/cache/dart-sdk/bin"
+      ]
+    },
+    "infra_step": true,
+    "name": "Run Fuchsia Driver Tests.install infra/tools/luci/swarming.ensure package directory",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@"
+    ]
+  },
+  {
+    "cmd": [
       "cipd",
       "ensure",
       "-root",
-      "[CACHE]/swarming_client",
+      "[CACHE]/cipd/infra/tools/luci/swarming/swarming_module_pin",
       "-ensure-file",
       "infra/tools/luci/swarming/${platform} swarming_module_pin",
       "-max-threads",
@@ -629,7 +660,7 @@
       ]
     },
     "infra_step": true,
-    "name": "Run Fuchsia Driver Tests.ensure swarming.ensure_installed",
+    "name": "Run Fuchsia Driver Tests.install infra/tools/luci/swarming.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -647,7 +678,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/swarming_module_pin/swarming",
       "spawn-tasks",
       "-server",
       "https://example.swarmingserver.appspot.com",
@@ -770,7 +801,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/swarming_module_pin/swarming",
       "collect",
       "-server",
       "https://example.swarmingserver.appspot.com",
diff --git a/recipes/flutter_1_18_0.expected/linux_master_coverage_.json b/recipes/flutter_1_18_0.expected/linux_master_coverage_.json
index 24ea5ed..e11aa39 100644
--- a/recipes/flutter_1_18_0.expected/linux_master_coverage_.json
+++ b/recipes/flutter_1_18_0.expected/linux_master_coverage_.json
@@ -442,7 +442,7 @@
   },
   {
     "cmd": [],
-    "name": "Run Fuchsia Driver Tests.Create Isolate Archive.install isolated",
+    "name": "Run Fuchsia Driver Tests.Create Isolate Archive.install infra/tools/luci/isolated",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
     ]
@@ -472,7 +472,7 @@
       ]
     },
     "infra_step": true,
-    "name": "Run Fuchsia Driver Tests.Create Isolate Archive.install isolated.ensure package directory",
+    "name": "Run Fuchsia Driver Tests.Create Isolate Archive.install infra/tools/luci/isolated.ensure package directory",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@"
     ]
@@ -503,7 +503,7 @@
       ]
     },
     "infra_step": true,
-    "name": "Run Fuchsia Driver Tests.Create Isolate Archive.install isolated.ensure_installed",
+    "name": "Run Fuchsia Driver Tests.Create Isolate Archive.install infra/tools/luci/isolated.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -582,17 +582,47 @@
   },
   {
     "cmd": [],
-    "name": "Run Fuchsia Driver Tests.ensure swarming",
+    "name": "Run Fuchsia Driver Tests.install infra/tools/luci/swarming",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
   },
   {
     "cmd": [
+      "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/swarming/swarming_module_pin"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "env": {
+      "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+      "GOLDCTL": "[CACHE]/gold/goldctl",
+      "PUB_CACHE": "[START_DIR]/flutter/.pub-cache"
+    },
+    "env_prefixes": {
+      "PATH": [
+        "[START_DIR]/flutter/bin",
+        "[START_DIR]/flutter/bin/cache/dart-sdk/bin"
+      ]
+    },
+    "infra_step": true,
+    "name": "Run Fuchsia Driver Tests.install infra/tools/luci/swarming.ensure package directory",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@"
+    ]
+  },
+  {
+    "cmd": [
       "cipd",
       "ensure",
       "-root",
-      "[CACHE]/swarming_client",
+      "[CACHE]/cipd/infra/tools/luci/swarming/swarming_module_pin",
       "-ensure-file",
       "infra/tools/luci/swarming/${platform} swarming_module_pin",
       "-max-threads",
@@ -613,7 +643,7 @@
       ]
     },
     "infra_step": true,
-    "name": "Run Fuchsia Driver Tests.ensure swarming.ensure_installed",
+    "name": "Run Fuchsia Driver Tests.install infra/tools/luci/swarming.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -631,7 +661,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/swarming_module_pin/swarming",
       "spawn-tasks",
       "-server",
       "https://example.swarmingserver.appspot.com",
@@ -751,7 +781,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/swarming_module_pin/swarming",
       "collect",
       "-server",
       "https://example.swarmingserver.appspot.com",
diff --git a/recipes/flutter_1_18_0.expected/linux_master_coverage__experimental.json b/recipes/flutter_1_18_0.expected/linux_master_coverage__experimental.json
index 849ec68..1bef573 100644
--- a/recipes/flutter_1_18_0.expected/linux_master_coverage__experimental.json
+++ b/recipes/flutter_1_18_0.expected/linux_master_coverage__experimental.json
@@ -442,7 +442,7 @@
   },
   {
     "cmd": [],
-    "name": "Run Fuchsia Driver Tests.Create Isolate Archive.install isolated",
+    "name": "Run Fuchsia Driver Tests.Create Isolate Archive.install infra/tools/luci/isolated",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
     ]
@@ -472,7 +472,7 @@
       ]
     },
     "infra_step": true,
-    "name": "Run Fuchsia Driver Tests.Create Isolate Archive.install isolated.ensure package directory",
+    "name": "Run Fuchsia Driver Tests.Create Isolate Archive.install infra/tools/luci/isolated.ensure package directory",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@"
     ]
@@ -503,7 +503,7 @@
       ]
     },
     "infra_step": true,
-    "name": "Run Fuchsia Driver Tests.Create Isolate Archive.install isolated.ensure_installed",
+    "name": "Run Fuchsia Driver Tests.Create Isolate Archive.install infra/tools/luci/isolated.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -582,17 +582,47 @@
   },
   {
     "cmd": [],
-    "name": "Run Fuchsia Driver Tests.ensure swarming",
+    "name": "Run Fuchsia Driver Tests.install infra/tools/luci/swarming",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
   },
   {
     "cmd": [
+      "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/swarming/latest"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "env": {
+      "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+      "GOLDCTL": "[CACHE]/gold/goldctl",
+      "PUB_CACHE": "[START_DIR]/flutter/.pub-cache"
+    },
+    "env_prefixes": {
+      "PATH": [
+        "[START_DIR]/flutter/bin",
+        "[START_DIR]/flutter/bin/cache/dart-sdk/bin"
+      ]
+    },
+    "infra_step": true,
+    "name": "Run Fuchsia Driver Tests.install infra/tools/luci/swarming.ensure package directory",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@"
+    ]
+  },
+  {
+    "cmd": [
       "cipd",
       "ensure",
       "-root",
-      "[CACHE]/swarming_client",
+      "[CACHE]/cipd/infra/tools/luci/swarming/latest",
       "-ensure-file",
       "infra/tools/luci/swarming/${platform} latest",
       "-max-threads",
@@ -613,7 +643,7 @@
       ]
     },
     "infra_step": true,
-    "name": "Run Fuchsia Driver Tests.ensure swarming.ensure_installed",
+    "name": "Run Fuchsia Driver Tests.install infra/tools/luci/swarming.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -631,7 +661,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/latest/swarming",
       "spawn-tasks",
       "-server",
       "https://example.swarmingserver.appspot.com",
@@ -751,7 +781,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/latest/swarming",
       "collect",
       "-server",
       "https://example.swarmingserver.appspot.com",
diff --git a/recipes/flutter_1_18_0.expected/linux_master_coverage__experimental_upload.json b/recipes/flutter_1_18_0.expected/linux_master_coverage__experimental_upload.json
index a5db9fa..706c695 100644
--- a/recipes/flutter_1_18_0.expected/linux_master_coverage__experimental_upload.json
+++ b/recipes/flutter_1_18_0.expected/linux_master_coverage__experimental_upload.json
@@ -442,7 +442,7 @@
   },
   {
     "cmd": [],
-    "name": "Run Fuchsia Driver Tests.Create Isolate Archive.install isolated",
+    "name": "Run Fuchsia Driver Tests.Create Isolate Archive.install infra/tools/luci/isolated",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
     ]
@@ -472,7 +472,7 @@
       ]
     },
     "infra_step": true,
-    "name": "Run Fuchsia Driver Tests.Create Isolate Archive.install isolated.ensure package directory",
+    "name": "Run Fuchsia Driver Tests.Create Isolate Archive.install infra/tools/luci/isolated.ensure package directory",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@"
     ]
@@ -503,7 +503,7 @@
       ]
     },
     "infra_step": true,
-    "name": "Run Fuchsia Driver Tests.Create Isolate Archive.install isolated.ensure_installed",
+    "name": "Run Fuchsia Driver Tests.Create Isolate Archive.install infra/tools/luci/isolated.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -582,17 +582,47 @@
   },
   {
     "cmd": [],
-    "name": "Run Fuchsia Driver Tests.ensure swarming",
+    "name": "Run Fuchsia Driver Tests.install infra/tools/luci/swarming",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
   },
   {
     "cmd": [
+      "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/swarming/latest"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "env": {
+      "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+      "GOLDCTL": "[CACHE]/gold/goldctl",
+      "PUB_CACHE": "[START_DIR]/flutter/.pub-cache"
+    },
+    "env_prefixes": {
+      "PATH": [
+        "[START_DIR]/flutter/bin",
+        "[START_DIR]/flutter/bin/cache/dart-sdk/bin"
+      ]
+    },
+    "infra_step": true,
+    "name": "Run Fuchsia Driver Tests.install infra/tools/luci/swarming.ensure package directory",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@"
+    ]
+  },
+  {
+    "cmd": [
       "cipd",
       "ensure",
       "-root",
-      "[CACHE]/swarming_client",
+      "[CACHE]/cipd/infra/tools/luci/swarming/latest",
       "-ensure-file",
       "infra/tools/luci/swarming/${platform} latest",
       "-max-threads",
@@ -613,7 +643,7 @@
       ]
     },
     "infra_step": true,
-    "name": "Run Fuchsia Driver Tests.ensure swarming.ensure_installed",
+    "name": "Run Fuchsia Driver Tests.install infra/tools/luci/swarming.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -631,7 +661,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/latest/swarming",
       "spawn-tasks",
       "-server",
       "https://example.swarmingserver.appspot.com",
@@ -751,7 +781,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/latest/swarming",
       "collect",
       "-server",
       "https://example.swarmingserver.appspot.com",
diff --git a/recipes/flutter_1_18_0.expected/linux_master_coverage__upload.json b/recipes/flutter_1_18_0.expected/linux_master_coverage__upload.json
index cc1441d..1a5dedc 100644
--- a/recipes/flutter_1_18_0.expected/linux_master_coverage__upload.json
+++ b/recipes/flutter_1_18_0.expected/linux_master_coverage__upload.json
@@ -442,7 +442,7 @@
   },
   {
     "cmd": [],
-    "name": "Run Fuchsia Driver Tests.Create Isolate Archive.install isolated",
+    "name": "Run Fuchsia Driver Tests.Create Isolate Archive.install infra/tools/luci/isolated",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
     ]
@@ -472,7 +472,7 @@
       ]
     },
     "infra_step": true,
-    "name": "Run Fuchsia Driver Tests.Create Isolate Archive.install isolated.ensure package directory",
+    "name": "Run Fuchsia Driver Tests.Create Isolate Archive.install infra/tools/luci/isolated.ensure package directory",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@"
     ]
@@ -503,7 +503,7 @@
       ]
     },
     "infra_step": true,
-    "name": "Run Fuchsia Driver Tests.Create Isolate Archive.install isolated.ensure_installed",
+    "name": "Run Fuchsia Driver Tests.Create Isolate Archive.install infra/tools/luci/isolated.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -582,17 +582,47 @@
   },
   {
     "cmd": [],
-    "name": "Run Fuchsia Driver Tests.ensure swarming",
+    "name": "Run Fuchsia Driver Tests.install infra/tools/luci/swarming",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
   },
   {
     "cmd": [
+      "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/swarming/swarming_module_pin"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "env": {
+      "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+      "GOLDCTL": "[CACHE]/gold/goldctl",
+      "PUB_CACHE": "[START_DIR]/flutter/.pub-cache"
+    },
+    "env_prefixes": {
+      "PATH": [
+        "[START_DIR]/flutter/bin",
+        "[START_DIR]/flutter/bin/cache/dart-sdk/bin"
+      ]
+    },
+    "infra_step": true,
+    "name": "Run Fuchsia Driver Tests.install infra/tools/luci/swarming.ensure package directory",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@"
+    ]
+  },
+  {
+    "cmd": [
       "cipd",
       "ensure",
       "-root",
-      "[CACHE]/swarming_client",
+      "[CACHE]/cipd/infra/tools/luci/swarming/swarming_module_pin",
       "-ensure-file",
       "infra/tools/luci/swarming/${platform} swarming_module_pin",
       "-max-threads",
@@ -613,7 +643,7 @@
       ]
     },
     "infra_step": true,
-    "name": "Run Fuchsia Driver Tests.ensure swarming.ensure_installed",
+    "name": "Run Fuchsia Driver Tests.install infra/tools/luci/swarming.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -631,7 +661,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/swarming_module_pin/swarming",
       "spawn-tasks",
       "-server",
       "https://example.swarmingserver.appspot.com",
@@ -751,7 +781,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/swarming_module_pin/swarming",
       "collect",
       "-server",
       "https://example.swarmingserver.appspot.com",
diff --git a/recipes/flutter_1_18_0.expected/linux_master_experimental.json b/recipes/flutter_1_18_0.expected/linux_master_experimental.json
index 937a141..a115c30 100644
--- a/recipes/flutter_1_18_0.expected/linux_master_experimental.json
+++ b/recipes/flutter_1_18_0.expected/linux_master_experimental.json
@@ -453,7 +453,7 @@
   },
   {
     "cmd": [],
-    "name": "Run Fuchsia Driver Tests.Create Isolate Archive.install isolated",
+    "name": "Run Fuchsia Driver Tests.Create Isolate Archive.install infra/tools/luci/isolated",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
     ]
@@ -484,7 +484,7 @@
       ]
     },
     "infra_step": true,
-    "name": "Run Fuchsia Driver Tests.Create Isolate Archive.install isolated.ensure package directory",
+    "name": "Run Fuchsia Driver Tests.Create Isolate Archive.install infra/tools/luci/isolated.ensure package directory",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@"
     ]
@@ -516,7 +516,7 @@
       ]
     },
     "infra_step": true,
-    "name": "Run Fuchsia Driver Tests.Create Isolate Archive.install isolated.ensure_installed",
+    "name": "Run Fuchsia Driver Tests.Create Isolate Archive.install infra/tools/luci/isolated.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -597,17 +597,48 @@
   },
   {
     "cmd": [],
-    "name": "Run Fuchsia Driver Tests.ensure swarming",
+    "name": "Run Fuchsia Driver Tests.install infra/tools/luci/swarming",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
   },
   {
     "cmd": [
+      "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/swarming/latest"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "env": {
+      "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+      "GOLDCTL": "[CACHE]/gold/goldctl",
+      "GOLD_TRYJOB": "refs/heads/master",
+      "PUB_CACHE": "[START_DIR]/flutter/.pub-cache"
+    },
+    "env_prefixes": {
+      "PATH": [
+        "[START_DIR]/flutter/bin",
+        "[START_DIR]/flutter/bin/cache/dart-sdk/bin"
+      ]
+    },
+    "infra_step": true,
+    "name": "Run Fuchsia Driver Tests.install infra/tools/luci/swarming.ensure package directory",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@"
+    ]
+  },
+  {
+    "cmd": [
       "cipd",
       "ensure",
       "-root",
-      "[CACHE]/swarming_client",
+      "[CACHE]/cipd/infra/tools/luci/swarming/latest",
       "-ensure-file",
       "infra/tools/luci/swarming/${platform} latest",
       "-max-threads",
@@ -629,7 +660,7 @@
       ]
     },
     "infra_step": true,
-    "name": "Run Fuchsia Driver Tests.ensure swarming.ensure_installed",
+    "name": "Run Fuchsia Driver Tests.install infra/tools/luci/swarming.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -647,7 +678,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/latest/swarming",
       "spawn-tasks",
       "-server",
       "https://example.swarmingserver.appspot.com",
@@ -770,7 +801,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/latest/swarming",
       "collect",
       "-server",
       "https://example.swarmingserver.appspot.com",
diff --git a/recipes/flutter_1_18_0.expected/linux_master_experimental_upload.json b/recipes/flutter_1_18_0.expected/linux_master_experimental_upload.json
index 55f4cb3..3dfa351 100644
--- a/recipes/flutter_1_18_0.expected/linux_master_experimental_upload.json
+++ b/recipes/flutter_1_18_0.expected/linux_master_experimental_upload.json
@@ -442,7 +442,7 @@
   },
   {
     "cmd": [],
-    "name": "Run Fuchsia Driver Tests.Create Isolate Archive.install isolated",
+    "name": "Run Fuchsia Driver Tests.Create Isolate Archive.install infra/tools/luci/isolated",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
     ]
@@ -472,7 +472,7 @@
       ]
     },
     "infra_step": true,
-    "name": "Run Fuchsia Driver Tests.Create Isolate Archive.install isolated.ensure package directory",
+    "name": "Run Fuchsia Driver Tests.Create Isolate Archive.install infra/tools/luci/isolated.ensure package directory",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@"
     ]
@@ -503,7 +503,7 @@
       ]
     },
     "infra_step": true,
-    "name": "Run Fuchsia Driver Tests.Create Isolate Archive.install isolated.ensure_installed",
+    "name": "Run Fuchsia Driver Tests.Create Isolate Archive.install infra/tools/luci/isolated.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -582,17 +582,47 @@
   },
   {
     "cmd": [],
-    "name": "Run Fuchsia Driver Tests.ensure swarming",
+    "name": "Run Fuchsia Driver Tests.install infra/tools/luci/swarming",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
   },
   {
     "cmd": [
+      "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/swarming/latest"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "env": {
+      "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+      "GOLDCTL": "[CACHE]/gold/goldctl",
+      "PUB_CACHE": "[START_DIR]/flutter/.pub-cache"
+    },
+    "env_prefixes": {
+      "PATH": [
+        "[START_DIR]/flutter/bin",
+        "[START_DIR]/flutter/bin/cache/dart-sdk/bin"
+      ]
+    },
+    "infra_step": true,
+    "name": "Run Fuchsia Driver Tests.install infra/tools/luci/swarming.ensure package directory",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@"
+    ]
+  },
+  {
+    "cmd": [
       "cipd",
       "ensure",
       "-root",
-      "[CACHE]/swarming_client",
+      "[CACHE]/cipd/infra/tools/luci/swarming/latest",
       "-ensure-file",
       "infra/tools/luci/swarming/${platform} latest",
       "-max-threads",
@@ -613,7 +643,7 @@
       ]
     },
     "infra_step": true,
-    "name": "Run Fuchsia Driver Tests.ensure swarming.ensure_installed",
+    "name": "Run Fuchsia Driver Tests.install infra/tools/luci/swarming.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -631,7 +661,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/latest/swarming",
       "spawn-tasks",
       "-server",
       "https://example.swarmingserver.appspot.com",
@@ -751,7 +781,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/latest/swarming",
       "collect",
       "-server",
       "https://example.swarmingserver.appspot.com",
diff --git a/recipes/flutter_1_18_0.expected/linux_master_upload.json b/recipes/flutter_1_18_0.expected/linux_master_upload.json
index 42019f8..d962392 100644
--- a/recipes/flutter_1_18_0.expected/linux_master_upload.json
+++ b/recipes/flutter_1_18_0.expected/linux_master_upload.json
@@ -442,7 +442,7 @@
   },
   {
     "cmd": [],
-    "name": "Run Fuchsia Driver Tests.Create Isolate Archive.install isolated",
+    "name": "Run Fuchsia Driver Tests.Create Isolate Archive.install infra/tools/luci/isolated",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
     ]
@@ -472,7 +472,7 @@
       ]
     },
     "infra_step": true,
-    "name": "Run Fuchsia Driver Tests.Create Isolate Archive.install isolated.ensure package directory",
+    "name": "Run Fuchsia Driver Tests.Create Isolate Archive.install infra/tools/luci/isolated.ensure package directory",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@"
     ]
@@ -503,7 +503,7 @@
       ]
     },
     "infra_step": true,
-    "name": "Run Fuchsia Driver Tests.Create Isolate Archive.install isolated.ensure_installed",
+    "name": "Run Fuchsia Driver Tests.Create Isolate Archive.install infra/tools/luci/isolated.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -582,17 +582,47 @@
   },
   {
     "cmd": [],
-    "name": "Run Fuchsia Driver Tests.ensure swarming",
+    "name": "Run Fuchsia Driver Tests.install infra/tools/luci/swarming",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
   },
   {
     "cmd": [
+      "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/swarming/swarming_module_pin"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "env": {
+      "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+      "GOLDCTL": "[CACHE]/gold/goldctl",
+      "PUB_CACHE": "[START_DIR]/flutter/.pub-cache"
+    },
+    "env_prefixes": {
+      "PATH": [
+        "[START_DIR]/flutter/bin",
+        "[START_DIR]/flutter/bin/cache/dart-sdk/bin"
+      ]
+    },
+    "infra_step": true,
+    "name": "Run Fuchsia Driver Tests.install infra/tools/luci/swarming.ensure package directory",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@"
+    ]
+  },
+  {
+    "cmd": [
       "cipd",
       "ensure",
       "-root",
-      "[CACHE]/swarming_client",
+      "[CACHE]/cipd/infra/tools/luci/swarming/swarming_module_pin",
       "-ensure-file",
       "infra/tools/luci/swarming/${platform} swarming_module_pin",
       "-max-threads",
@@ -613,7 +643,7 @@
       ]
     },
     "infra_step": true,
-    "name": "Run Fuchsia Driver Tests.ensure swarming.ensure_installed",
+    "name": "Run Fuchsia Driver Tests.install infra/tools/luci/swarming.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -631,7 +661,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/swarming_module_pin/swarming",
       "spawn-tasks",
       "-server",
       "https://example.swarmingserver.appspot.com",
@@ -751,7 +781,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/swarming_module_pin/swarming",
       "collect",
       "-server",
       "https://example.swarmingserver.appspot.com",
diff --git a/recipes/flutter_1_18_0.expected/pull_request.json b/recipes/flutter_1_18_0.expected/pull_request.json
index b6d294d..628604e 100644
--- a/recipes/flutter_1_18_0.expected/pull_request.json
+++ b/recipes/flutter_1_18_0.expected/pull_request.json
@@ -453,7 +453,7 @@
   },
   {
     "cmd": [],
-    "name": "Run Fuchsia Driver Tests.Create Isolate Archive.install isolated",
+    "name": "Run Fuchsia Driver Tests.Create Isolate Archive.install infra/tools/luci/isolated",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
     ]
@@ -484,7 +484,7 @@
       ]
     },
     "infra_step": true,
-    "name": "Run Fuchsia Driver Tests.Create Isolate Archive.install isolated.ensure package directory",
+    "name": "Run Fuchsia Driver Tests.Create Isolate Archive.install infra/tools/luci/isolated.ensure package directory",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@"
     ]
@@ -516,7 +516,7 @@
       ]
     },
     "infra_step": true,
-    "name": "Run Fuchsia Driver Tests.Create Isolate Archive.install isolated.ensure_installed",
+    "name": "Run Fuchsia Driver Tests.Create Isolate Archive.install infra/tools/luci/isolated.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -597,17 +597,48 @@
   },
   {
     "cmd": [],
-    "name": "Run Fuchsia Driver Tests.ensure swarming",
+    "name": "Run Fuchsia Driver Tests.install infra/tools/luci/swarming",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
   },
   {
     "cmd": [
+      "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/swarming/latest"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "env": {
+      "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+      "GOLDCTL": "[CACHE]/gold/goldctl",
+      "GOLD_TRYJOB": "refs/pull/1/head",
+      "PUB_CACHE": "[START_DIR]/flutter/.pub-cache"
+    },
+    "env_prefixes": {
+      "PATH": [
+        "[START_DIR]/flutter/bin",
+        "[START_DIR]/flutter/bin/cache/dart-sdk/bin"
+      ]
+    },
+    "infra_step": true,
+    "name": "Run Fuchsia Driver Tests.install infra/tools/luci/swarming.ensure package directory",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@"
+    ]
+  },
+  {
+    "cmd": [
       "cipd",
       "ensure",
       "-root",
-      "[CACHE]/swarming_client",
+      "[CACHE]/cipd/infra/tools/luci/swarming/latest",
       "-ensure-file",
       "infra/tools/luci/swarming/${platform} latest",
       "-max-threads",
@@ -629,7 +660,7 @@
       ]
     },
     "infra_step": true,
-    "name": "Run Fuchsia Driver Tests.ensure swarming.ensure_installed",
+    "name": "Run Fuchsia Driver Tests.install infra/tools/luci/swarming.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -647,7 +678,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/latest/swarming",
       "spawn-tasks",
       "-server",
       "https://example.swarmingserver.appspot.com",
@@ -770,7 +801,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/latest/swarming",
       "collect",
       "-server",
       "https://example.swarmingserver.appspot.com",
diff --git a/recipes/fuchsia/fuchsia.expected/basic.json b/recipes/fuchsia/fuchsia.expected/basic.json
index 7bbc8b5..7335e75 100644
--- a/recipes/fuchsia/fuchsia.expected/basic.json
+++ b/recipes/fuchsia/fuchsia.expected/basic.json
@@ -362,7 +362,7 @@
   },
   {
     "cmd": [],
-    "name": "Fuchsia Tests.Create Isolate Archive.install isolated",
+    "name": "Fuchsia Tests.Create Isolate Archive.install infra/tools/luci/isolated",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
     ]
@@ -391,7 +391,7 @@
       ]
     },
     "infra_step": true,
-    "name": "Fuchsia Tests.Create Isolate Archive.install isolated.ensure package directory",
+    "name": "Fuchsia Tests.Create Isolate Archive.install infra/tools/luci/isolated.ensure package directory",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@"
     ]
@@ -421,7 +421,7 @@
       ]
     },
     "infra_step": true,
-    "name": "Fuchsia Tests.Create Isolate Archive.install isolated.ensure_installed",
+    "name": "Fuchsia Tests.Create Isolate Archive.install infra/tools/luci/isolated.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -498,17 +498,46 @@
   },
   {
     "cmd": [],
-    "name": "Fuchsia Tests.ensure swarming",
+    "name": "Fuchsia Tests.install infra/tools/luci/swarming",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
   },
   {
     "cmd": [
+      "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/swarming/swarming_module_pin"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "env": {
+      "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+      "PUB_CACHE": "[START_DIR]/flutter/.pub-cache"
+    },
+    "env_prefixes": {
+      "PATH": [
+        "[START_DIR]/flutter/bin",
+        "[START_DIR]/flutter/bin/cache/dart-sdk/bin"
+      ]
+    },
+    "infra_step": true,
+    "name": "Fuchsia Tests.install infra/tools/luci/swarming.ensure package directory",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@"
+    ]
+  },
+  {
+    "cmd": [
       "cipd",
       "ensure",
       "-root",
-      "[CACHE]/swarming_client",
+      "[CACHE]/cipd/infra/tools/luci/swarming/swarming_module_pin",
       "-ensure-file",
       "infra/tools/luci/swarming/${platform} swarming_module_pin",
       "-max-threads",
@@ -528,7 +557,7 @@
       ]
     },
     "infra_step": true,
-    "name": "Fuchsia Tests.ensure swarming.ensure_installed",
+    "name": "Fuchsia Tests.install infra/tools/luci/swarming.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -546,7 +575,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/swarming_module_pin/swarming",
       "spawn-tasks",
       "-server",
       "https://example.swarmingserver.appspot.com",
@@ -619,7 +648,7 @@
   },
   {
     "cmd": [
-      "[CACHE]/swarming_client/swarming",
+      "[CACHE]/cipd/infra/tools/luci/swarming/swarming_module_pin/swarming",
       "collect",
       "-server",
       "https://example.swarmingserver.appspot.com",
diff --git a/recipes/recipes.expected/ci.json b/recipes/recipes.expected/ci.json
index e461a34..ec9d53d 100644
--- a/recipes/recipes.expected/ci.json
+++ b/recipes/recipes.expected/ci.json
@@ -453,7 +453,7 @@
       "-n",
       "1",
       "-fields",
-      "builder,create_time,created_by,critical,end_time,id,infra.recipe,input,number,output,start_time,status,update_time",
+      "builder,create_time,created_by,critical,end_time,id,input,number,output,start_time,status,update_time",
       "-predicate",
       "{\"builder\": {\"bucket\": \"try\", \"builder\": \"flutter-bar\", \"project\": \"flutter\"}, \"status\": \"SUCCESS\"}"
     ],
@@ -462,7 +462,7 @@
     "name": "get builders.flutter/try/flutter-bar.buildbucket.search",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_LOG_LINE@raw_io.output_text@{\"status\": \"SUCCESS\", \"builder\": {\"builder\": \"flutter/try/flutter-bar\"}, \"infra\": {\"recipe\": {\"name\": \"flutter\"}}, \"input\": {\"gerritChanges\": [{\"project\": \"fuchsia\", \"host\": \"fuchsia-review.googlesource.com\"}]}, \"endTime\": \"2012-05-13T12:53:20Z\", \"id\": \"37\"}@@@",
+      "@@@STEP_LOG_LINE@raw_io.output_text@{\"status\": \"SUCCESS\", \"input\": {\"properties\": {\"recipe\": \"flutter\"}, \"gerritChanges\": [{\"project\": \"fuchsia\", \"host\": \"fuchsia-review.googlesource.com\"}]}, \"builder\": {\"builder\": \"flutter/try/flutter-bar\"}, \"endTime\": \"2012-05-13T12:53:20Z\", \"id\": \"37\"}@@@",
       "@@@STEP_LOG_END@raw_io.output_text@@@",
       "@@@STEP_LINK@37@https://cr-buildbucket.appspot.com/build/37@@@"
     ]
@@ -488,7 +488,7 @@
       "-n",
       "1",
       "-fields",
-      "builder,create_time,created_by,critical,end_time,id,infra.recipe,input,number,output,start_time,status,update_time",
+      "builder,create_time,created_by,critical,end_time,id,input,number,output,start_time,status,update_time",
       "-predicate",
       "{\"builder\": {\"bucket\": \"try\", \"builder\": \"flutter-baz\", \"project\": \"flutter\"}, \"status\": \"SUCCESS\"}"
     ],
@@ -497,7 +497,7 @@
     "name": "get builders.flutter/try/flutter-baz.buildbucket.search",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_LOG_LINE@raw_io.output_text@{\"status\": \"SUCCESS\", \"builder\": {\"builder\": \"flutter/try/flutter-baz\"}, \"infra\": {\"recipe\": {\"name\": \"project\"}}, \"input\": {\"gerritChanges\": [{\"project\": \"fuchsia\", \"host\": \"fuchsia-review.googlesource.com\"}]}, \"endTime\": \"2012-05-13T12:53:20Z\", \"id\": \"37\"}@@@",
+      "@@@STEP_LOG_LINE@raw_io.output_text@{\"status\": \"SUCCESS\", \"input\": {\"properties\": {\"recipe\": \"project\"}, \"gerritChanges\": [{\"project\": \"fuchsia\", \"host\": \"fuchsia-review.googlesource.com\"}]}, \"builder\": {\"builder\": \"flutter/try/flutter-baz\"}, \"endTime\": \"2012-05-13T12:53:20Z\", \"id\": \"37\"}@@@",
       "@@@STEP_LOG_END@raw_io.output_text@@@",
       "@@@STEP_LINK@37@https://cr-buildbucket.appspot.com/build/37@@@"
     ]
@@ -523,7 +523,7 @@
       "-n",
       "1",
       "-fields",
-      "builder,create_time,created_by,critical,end_time,id,infra.recipe,input,number,output,start_time,status,update_time",
+      "builder,create_time,created_by,critical,end_time,id,input,number,output,start_time,status,update_time",
       "-predicate",
       "{\"builder\": {\"bucket\": \"try\", \"builder\": \"flutter-foo\", \"project\": \"flutter\"}, \"status\": \"SUCCESS\"}"
     ],
@@ -532,7 +532,7 @@
     "name": "get builders.flutter/try/flutter-foo.buildbucket.search",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_LOG_LINE@raw_io.output_text@{\"status\": \"SUCCESS\", \"builder\": {\"builder\": \"flutter/try/flutter-foo\"}, \"infra\": {\"recipe\": {\"name\": \"flutter\"}}, \"input\": {\"gerritChanges\": [{\"project\": \"fuchsia\", \"host\": \"fuchsia-review.googlesource.com\"}]}, \"endTime\": \"2012-05-13T12:53:20Z\", \"id\": \"37\"}@@@",
+      "@@@STEP_LOG_LINE@raw_io.output_text@{\"status\": \"SUCCESS\", \"input\": {\"properties\": {\"recipe\": \"flutter\"}, \"gerritChanges\": [{\"project\": \"fuchsia\", \"host\": \"fuchsia-review.googlesource.com\"}]}, \"builder\": {\"builder\": \"flutter/try/flutter-foo\"}, \"endTime\": \"2012-05-13T12:53:20Z\", \"id\": \"37\"}@@@",
       "@@@STEP_LOG_END@raw_io.output_text@@@",
       "@@@STEP_LINK@37@https://cr-buildbucket.appspot.com/build/37@@@"
     ]
diff --git a/recipes/recipes.expected/cq_try.json b/recipes/recipes.expected/cq_try.json
index 044c5d1..1746f4a 100644
--- a/recipes/recipes.expected/cq_try.json
+++ b/recipes/recipes.expected/cq_try.json
@@ -767,7 +767,7 @@
       "-n",
       "1",
       "-fields",
-      "builder,create_time,created_by,critical,end_time,id,infra.recipe,input,number,output,start_time,status,update_time",
+      "builder,create_time,created_by,critical,end_time,id,input,number,output,start_time,status,update_time",
       "-predicate",
       "{\"builder\": {\"bucket\": \"try\", \"builder\": \"flutter-bar\", \"project\": \"flutter\"}, \"status\": \"SUCCESS\"}"
     ],
@@ -776,7 +776,7 @@
     "name": "get builders.flutter/try/flutter-bar.buildbucket.search",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_LOG_LINE@raw_io.output_text@{\"status\": \"SUCCESS\", \"builder\": {\"builder\": \"flutter/try/flutter-bar\"}, \"infra\": {\"recipe\": {\"name\": \"flutter\"}}, \"input\": {\"gerritChanges\": [{\"project\": \"fuchsia\", \"host\": \"fuchsia-review.googlesource.com\"}]}, \"endTime\": \"2012-05-13T12:53:20Z\", \"id\": \"37\"}@@@",
+      "@@@STEP_LOG_LINE@raw_io.output_text@{\"status\": \"SUCCESS\", \"input\": {\"properties\": {\"recipe\": \"flutter\"}, \"gerritChanges\": [{\"project\": \"fuchsia\", \"host\": \"fuchsia-review.googlesource.com\"}]}, \"builder\": {\"builder\": \"flutter/try/flutter-bar\"}, \"endTime\": \"2012-05-13T12:53:20Z\", \"id\": \"37\"}@@@",
       "@@@STEP_LOG_END@raw_io.output_text@@@",
       "@@@STEP_LINK@37@https://cr-buildbucket.appspot.com/build/37@@@"
     ]
@@ -802,7 +802,7 @@
       "-n",
       "1",
       "-fields",
-      "builder,create_time,created_by,critical,end_time,id,infra.recipe,input,number,output,start_time,status,update_time",
+      "builder,create_time,created_by,critical,end_time,id,input,number,output,start_time,status,update_time",
       "-predicate",
       "{\"builder\": {\"bucket\": \"try\", \"builder\": \"flutter-baz\", \"project\": \"flutter\"}, \"status\": \"SUCCESS\"}"
     ],
@@ -811,7 +811,7 @@
     "name": "get builders.flutter/try/flutter-baz.buildbucket.search",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_LOG_LINE@raw_io.output_text@{\"status\": \"SUCCESS\", \"builder\": {\"builder\": \"flutter/try/flutter-baz\"}, \"infra\": {\"recipe\": {\"name\": \"project\"}}, \"input\": {\"gerritChanges\": [{\"project\": \"fuchsia\", \"host\": \"fuchsia-review.googlesource.com\"}]}, \"endTime\": \"2012-05-13T12:53:20Z\", \"id\": \"37\"}@@@",
+      "@@@STEP_LOG_LINE@raw_io.output_text@{\"status\": \"SUCCESS\", \"input\": {\"properties\": {\"recipe\": \"project\"}, \"gerritChanges\": [{\"project\": \"fuchsia\", \"host\": \"fuchsia-review.googlesource.com\"}]}, \"builder\": {\"builder\": \"flutter/try/flutter-baz\"}, \"endTime\": \"2012-05-13T12:53:20Z\", \"id\": \"37\"}@@@",
       "@@@STEP_LOG_END@raw_io.output_text@@@",
       "@@@STEP_LINK@37@https://cr-buildbucket.appspot.com/build/37@@@"
     ]
@@ -837,7 +837,7 @@
       "-n",
       "1",
       "-fields",
-      "builder,create_time,created_by,critical,end_time,id,infra.recipe,input,number,output,start_time,status,update_time",
+      "builder,create_time,created_by,critical,end_time,id,input,number,output,start_time,status,update_time",
       "-predicate",
       "{\"builder\": {\"bucket\": \"try\", \"builder\": \"flutter-foo\", \"project\": \"flutter\"}, \"status\": \"SUCCESS\"}"
     ],
@@ -846,7 +846,7 @@
     "name": "get builders.flutter/try/flutter-foo.buildbucket.search",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_LOG_LINE@raw_io.output_text@{\"status\": \"SUCCESS\", \"builder\": {\"builder\": \"flutter/try/flutter-foo\"}, \"infra\": {\"recipe\": {\"name\": \"flutter\"}}, \"input\": {\"gerritChanges\": [{\"project\": \"fuchsia\", \"host\": \"fuchsia-review.googlesource.com\"}]}, \"endTime\": \"2012-05-13T12:53:20Z\", \"id\": \"37\"}@@@",
+      "@@@STEP_LOG_LINE@raw_io.output_text@{\"status\": \"SUCCESS\", \"input\": {\"properties\": {\"recipe\": \"flutter\"}, \"gerritChanges\": [{\"project\": \"fuchsia\", \"host\": \"fuchsia-review.googlesource.com\"}]}, \"builder\": {\"builder\": \"flutter/try/flutter-foo\"}, \"endTime\": \"2012-05-13T12:53:20Z\", \"id\": \"37\"}@@@",
       "@@@STEP_LOG_END@raw_io.output_text@@@",
       "@@@STEP_LINK@37@https://cr-buildbucket.appspot.com/build/37@@@"
     ]