Initial implementation of second level cache for builders.

This CL will keep reusing local caches if they already exist but if not
it will download a cache that is < 4h old and mount it to speed up the
checkout process.

Bug: https://github.com/flutter/flutter/issues/127433
Change-Id: I7d2f854259384b80dcf2d46a3b55a1aee18fe715
Reviewed-on: https://flutter-review.googlesource.com/c/recipes/+/44863
Reviewed-by: Ricardo Amador <ricardoamador@google.com>
Commit-Queue: Godofredo Contreras <godofredoc@google.com>
Reviewed-by: Keyong Han <keyonghan@google.com>
diff --git a/recipe_modules/cache/__init__.py b/recipe_modules/cache/__init__.py
index 0a76072..d8b35e9 100644
--- a/recipe_modules/cache/__init__.py
+++ b/recipe_modules/cache/__init__.py
@@ -3,7 +3,6 @@
 # found in the LICENSE file.
 
 DEPS = [
-    'flutter/archives',
     'depot_tools/depot_tools',
     'depot_tools/gsutil',
     'recipe_engine/cas',
diff --git a/recipe_modules/cache/api.py b/recipe_modules/cache/api.py
index f28e77a..e809383 100644
--- a/recipe_modules/cache/api.py
+++ b/recipe_modules/cache/api.py
@@ -2,6 +2,7 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
+import collections
 import datetime
 from recipe_engine import recipe_api
 
@@ -36,7 +37,6 @@
 
     Args:
       cache_name (str): The name of the cache.
-      ttl_seconds (int): Seconds from last update that the cache is still valid.
     """
     if not self._metadata(cache_name):
       return True
@@ -56,6 +56,13 @@
     )
 
   def write(self, cache_name, paths, ttl_secs):
+    """Writes a new cache along with its metadata file.
+
+    Args:
+      cache_name (str): The name of the cache.
+      paths (List(Path)): List of Paths to archive.
+      ttl_secs (int): Seconds from last update that the cache is still valid.
+    """
     cache_metadata = {}
     ms_since_epoch_now = 1684900396429444 if self._test_data.enabled else int(
         datetime.datetime.utcnow().timestamp() * 1e6
@@ -78,13 +85,39 @@
     metadata_gs_path = self._cache_path(cache_name)
     # Max age in seconds to cache the file.
     headers = {'Cache-Control': 'max-age=60'}
-    self.m.archives.upload_artifact(
-        local_cache_path, metadata_gs_path, metadata=headers
+    self.m.gsutil.upload(
+        name='Upload %s to %s' % (local_cache_path, metadata_gs_path),
+        source=local_cache_path,
+        bucket=INFRA_BUCKET_NAME,
+        dest='caches/%s-%s.json' % (cache_name, platform),
+        metadata=headers,
     )
 
-  def mount_cache(self, cache_name, cache_root=None):
-    cache_root = cache_root or self.m.path['CACHE']
-    cloud_path = self._cache_path(cache_name)
-    metadata = self.m.gsutil.cat(cloud_path, stdout=self.m.json.output()).stdout
-    for k, v in metadata['hashes'].items():
-      self.m.cas.download('Mounting %s with hash %s' % (k, v), v, cache_root)
+  def mount_cache(self, cache_name, cache_root=None, force=True):
+    """Mounts a cache.
+
+    The cache may be composed of several independent folders that will mounted using
+    <cache_root>/cache_name.
+
+    Args:
+      cache_name (str): The name of the cache.
+      cache_root (str): A string with a chroot path suported by the api.path module.
+        e.g. start_dir, cache, cleanup..
+      force (bool): Whether to recreate the caches or skip them if they already exist..
+    """
+    with self.m.step.nest('Mount caches'):
+      cache_root = cache_root or self.m.path['cache']
+      cloud_path = self._cache_path(cache_name)
+      metadata = self.m.gsutil.cat(
+          cloud_path, stdout=self.m.json.output()
+      ).stdout
+      if self._test_data.enabled:
+        metadata = metadata or collections.defaultdict(dict)
+      for k, v in metadata['hashes'].items():
+        if force:
+          self.m.file.rmtree('Clobber local cache: %s' % k, cache_root.join(k))
+        # Mount the cache only if it doesn't exist locally.
+        if not self.m.path.exists(cache_root.join(k)):
+          self.m.cas.download(
+              'Mounting %s with hash %s' % (k, v), v, cache_root.join(k)
+          )
diff --git a/recipe_modules/cache/tests/refresh.expected/basic.json b/recipe_modules/cache/tests/refresh.expected/basic.json
index 6715a93..79186e9 100644
--- a/recipe_modules/cache/tests/refresh.expected/basic.json
+++ b/recipe_modules/cache/tests/refresh.expected/basic.json
@@ -150,35 +150,6 @@
   },
   {
     "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "ensure-directory",
-      "--mode",
-      "0777",
-      "[CLEANUP]/tmp_tmp_1/caches"
-    ],
-    "infra_step": true,
-    "name": "Ensure caches"
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/builder-linux.json",
-      "[CLEANUP]/tmp_tmp_1/caches"
-    ],
-    "infra_step": true,
-    "name": "Copy [CLEANUP]/builder-linux.json to tmp location"
-  },
-  {
-    "cmd": [
       "python3",
       "-u",
       "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
@@ -188,17 +159,20 @@
       "-h",
       "Cache-Control:max-age=60",
       "cp",
-      "-r",
-      "[CLEANUP]/tmp_tmp_1/*",
-      "gs://flutter_archives_v2/"
+      "[CLEANUP]/builder-linux.json",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
     ],
     "infra_step": true,
     "name": "gsutil Upload [CLEANUP]/builder-linux.json to gs://flutter_archives_v2/caches/builder-linux.json",
     "~followup_annotations": [
-      "@@@STEP_LINK@gsutil.upload@https://console.cloud.google.com/storage/browser/flutter_archives_v2/@@@"
+      "@@@STEP_LINK@gsutil.upload@https://storage.cloud.google.com/flutter_archives_v2/caches/builder-linux.json@@@"
     ]
   },
   {
+    "cmd": [],
+    "name": "Mount caches"
+  },
+  {
     "cmd": [
       "python3",
       "-u",
@@ -210,8 +184,9 @@
       "gs://flutter_archives_v2/caches/builder-linux.json"
     ],
     "infra_step": true,
-    "name": "gsutil cat (2)",
+    "name": "Mount caches.gsutil cat",
     "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"hashes\": {@@@",
       "@@@STEP_LOG_LINE@json.output@    \"builder\": \"hash1\", @@@",
@@ -223,6 +198,22 @@
   },
   {
     "cmd": [
+      "vpython3",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "rmtree",
+      "[CACHE]/builder"
+    ],
+    "infra_step": true,
+    "name": "Mount caches.Clobber local cache: builder",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [
       "[START_DIR]/cipd_tool/infra/tools/luci/cas/git_revision%3Amock_infra_git_revision/cas",
       "download",
       "-cas-instance",
@@ -230,10 +221,29 @@
       "-digest",
       "hash1",
       "-dir",
-      "[CACHE]"
+      "[CACHE]/builder"
     ],
     "infra_step": true,
-    "name": "Mounting builder with hash hash1"
+    "name": "Mount caches.Mounting builder with hash hash1",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "vpython3",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "rmtree",
+      "[CACHE]/git"
+    ],
+    "infra_step": true,
+    "name": "Mount caches.Clobber local cache: git",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -244,10 +254,13 @@
       "-digest",
       "hash2",
       "-dir",
-      "[CACHE]"
+      "[CACHE]/git"
     ],
     "infra_step": true,
-    "name": "Mounting git with hash hash2"
+    "name": "Mount caches.Mounting git with hash hash2",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "name": "$result"
diff --git a/recipe_modules/cache/tests/refresh.expected/no_cache_file.json b/recipe_modules/cache/tests/refresh.expected/no_cache_file.json
index 24312c7..8fd44b4 100644
--- a/recipe_modules/cache/tests/refresh.expected/no_cache_file.json
+++ b/recipe_modules/cache/tests/refresh.expected/no_cache_file.json
@@ -132,35 +132,6 @@
   },
   {
     "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "ensure-directory",
-      "--mode",
-      "0777",
-      "[CLEANUP]/tmp_tmp_1/caches"
-    ],
-    "infra_step": true,
-    "name": "Ensure caches"
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/builder-linux.json",
-      "[CLEANUP]/tmp_tmp_1/caches"
-    ],
-    "infra_step": true,
-    "name": "Copy [CLEANUP]/builder-linux.json to tmp location"
-  },
-  {
-    "cmd": [
       "python3",
       "-u",
       "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
@@ -170,17 +141,20 @@
       "-h",
       "Cache-Control:max-age=60",
       "cp",
-      "-r",
-      "[CLEANUP]/tmp_tmp_1/*",
-      "gs://flutter_archives_v2/"
+      "[CLEANUP]/builder-linux.json",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
     ],
     "infra_step": true,
     "name": "gsutil Upload [CLEANUP]/builder-linux.json to gs://flutter_archives_v2/caches/builder-linux.json",
     "~followup_annotations": [
-      "@@@STEP_LINK@gsutil.upload@https://console.cloud.google.com/storage/browser/flutter_archives_v2/@@@"
+      "@@@STEP_LINK@gsutil.upload@https://storage.cloud.google.com/flutter_archives_v2/caches/builder-linux.json@@@"
     ]
   },
   {
+    "cmd": [],
+    "name": "Mount caches"
+  },
+  {
     "cmd": [
       "python3",
       "-u",
@@ -192,8 +166,9 @@
       "gs://flutter_archives_v2/caches/builder-linux.json"
     ],
     "infra_step": true,
-    "name": "gsutil cat",
+    "name": "Mount caches.gsutil cat",
     "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"hashes\": {@@@",
       "@@@STEP_LOG_LINE@json.output@    \"builder\": \"hash1\", @@@",
@@ -205,6 +180,22 @@
   },
   {
     "cmd": [
+      "vpython3",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "rmtree",
+      "[CACHE]/builder"
+    ],
+    "infra_step": true,
+    "name": "Mount caches.Clobber local cache: builder",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [
       "[START_DIR]/cipd_tool/infra/tools/luci/cas/git_revision%3Amock_infra_git_revision/cas",
       "download",
       "-cas-instance",
@@ -212,10 +203,29 @@
       "-digest",
       "hash1",
       "-dir",
-      "[CACHE]"
+      "[CACHE]/builder"
     ],
     "infra_step": true,
-    "name": "Mounting builder with hash hash1"
+    "name": "Mount caches.Mounting builder with hash hash1",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "vpython3",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "rmtree",
+      "[CACHE]/git"
+    ],
+    "infra_step": true,
+    "name": "Mount caches.Clobber local cache: git",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -226,10 +236,13 @@
       "-digest",
       "hash2",
       "-dir",
-      "[CACHE]"
+      "[CACHE]/git"
     ],
     "infra_step": true,
-    "name": "Mounting git with hash hash2"
+    "name": "Mount caches.Mounting git with hash hash2",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "name": "$result"
diff --git a/recipe_modules/cache/tests/refresh.py b/recipe_modules/cache/tests/refresh.py
index a3d03ce..451c6fe 100644
--- a/recipe_modules/cache/tests/refresh.py
+++ b/recipe_modules/cache/tests/refresh.py
@@ -22,17 +22,22 @@
 
 
 def GenTests(api):
-  metadata = {
-     'hashes': {'builder': 'hash1', 'git': 'hash2'}
-  }
+  metadata = {'hashes': {'builder': 'hash1', 'git': 'hash2'}}
   yield api.test(
-      'basic',
-      api.step_data('gsutil cat', stdout=api.json.output({}),),
-      api.step_data('gsutil cat (2)', stdout=api.json.output(metadata),)
-)
+      'basic', api.step_data(
+          'gsutil cat',
+          stdout=api.json.output({}),
+      ),
+      api.step_data(
+          'Mount caches.gsutil cat',
+          stdout=api.json.output(metadata),
+      )
+  )
   yield api.test(
       'no_cache_file',
       api.step_data('builder exists', stdout=api.json.output({}), retcode=1),
-      api.step_data('gsutil cat', stdout=api.json.output(metadata),)
-)
-
+      api.step_data(
+          'Mount caches.gsutil cat',
+          stdout=api.json.output(metadata),
+      )
+  )
diff --git a/recipe_modules/repo_util/__init__.py b/recipe_modules/repo_util/__init__.py
index 4a7d067..8829015 100644
--- a/recipe_modules/repo_util/__init__.py
+++ b/recipe_modules/repo_util/__init__.py
@@ -3,6 +3,7 @@
     'depot_tools/depot_tools',
     'depot_tools/gclient',
     'depot_tools/git',
+    'flutter/cache',
     'flutter/retry',
     'flutter/shard_util_v2',
     'fuchsia/utils',
diff --git a/recipe_modules/repo_util/api.py b/recipe_modules/repo_util/api.py
index c8aa36b..eb2fb13 100644
--- a/recipe_modules/repo_util/api.py
+++ b/recipe_modules/repo_util/api.py
@@ -50,6 +50,13 @@
     """
     # Calculate if we need to clean the source code cache.
     clobber = self.m.properties.get('clobber', False)
+
+    # Mount caches if clobber is false. The builder cache is composed of cache/git
+    # and cache/builder but cache/builder can not be trusted because is created
+    # in the recipes and it will most likely always exist.
+    if not clobber and not self.m.path.exists(self.m.path['cache'].join('git')):
+      self.m.cache.mount_cache('builder', force=True)
+
     # Grab any gclient custom variables passed as properties.
     local_custom_vars = self.m.shard_util_v2.unfreeze_dict(
         self.m.properties.get('gclient_variables', {})
diff --git a/recipe_modules/repo_util/examples/full.expected/bot_update.json b/recipe_modules/repo_util/examples/full.expected/bot_update.json
index 297d422..f5fd897 100644
--- a/recipe_modules/repo_util/examples/full.expected/bot_update.json
+++ b/recipe_modules/repo_util/examples/full.expected/bot_update.json
@@ -645,6 +645,30 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipe_modules/repo_util/examples/full.expected/first_bot_update_failed.json b/recipe_modules/repo_util/examples/full.expected/first_bot_update_failed.json
index a3a9dce..aee9724 100644
--- a/recipe_modules/repo_util/examples/full.expected/first_bot_update_failed.json
+++ b/recipe_modules/repo_util/examples/full.expected/first_bot_update_failed.json
@@ -645,6 +645,30 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code",
     "~followup_annotations": [
       "@@@STEP_EXCEPTION@@@"
diff --git a/recipe_modules/repo_util/examples/full.expected/first_bot_update_revision_not_found.json b/recipe_modules/repo_util/examples/full.expected/first_bot_update_revision_not_found.json
index ba161d1..8484cb8 100644
--- a/recipe_modules/repo_util/examples/full.expected/first_bot_update_revision_not_found.json
+++ b/recipe_modules/repo_util/examples/full.expected/first_bot_update_revision_not_found.json
@@ -645,6 +645,30 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code",
     "~followup_annotations": [
       "@@@STEP_FAILURE@@@"
diff --git a/recipe_modules/repo_util/examples/full.expected/monorepo_wrong_host.json b/recipe_modules/repo_util/examples/full.expected/monorepo_wrong_host.json
index b895ca3..1bfe305 100644
--- a/recipe_modules/repo_util/examples/full.expected/monorepo_wrong_host.json
+++ b/recipe_modules/repo_util/examples/full.expected/monorepo_wrong_host.json
@@ -1144,7 +1144,7 @@
       "Traceback (most recent call last):",
       "  File \"RECIPE_REPO[flutter]/recipe_modules/repo_util/examples/full.py\", line 48, in RunSteps",
       "    api.repo_util.monorepo_checkout(checkout_path, {}, {})",
-      "  File \"RECIPE_REPO[flutter]/recipe_modules/repo_util/api.py\", line 165, in monorepo_checkout",
+      "  File \"RECIPE_REPO[flutter]/recipe_modules/repo_util/api.py\", line 172, in monorepo_checkout",
       "    raise ValueError(",
       "ValueError('Input reference is not on dart.googlesource.com/monorepo')"
     ]
diff --git a/recipe_modules/repo_util/examples/unsupported.expected/unsupported.json b/recipe_modules/repo_util/examples/unsupported.expected/unsupported.json
index 79faeaa..21743fe 100644
--- a/recipe_modules/repo_util/examples/unsupported.expected/unsupported.json
+++ b/recipe_modules/repo_util/examples/unsupported.expected/unsupported.json
@@ -9,7 +9,7 @@
       "Traceback (most recent call last):",
       "  File \"RECIPE_REPO[flutter]/recipe_modules/repo_util/examples/unsupported.py\", line 13, in RunSteps",
       "    api.repo_util.checkout('unsupported_repo', repo_dir)",
-      "  File \"RECIPE_REPO[flutter]/recipe_modules/repo_util/api.py\", line 242, in checkout",
+      "  File \"RECIPE_REPO[flutter]/recipe_modules/repo_util/api.py\", line 249, in checkout",
       "    raise ValueError('Unsupported repo: %s' % name)",
       "ValueError('Unsupported repo: unsupported_repo')"
     ]
diff --git a/recipes/engine/engine.expected/Linux Fuchsia failing test.json b/recipes/engine/engine.expected/Linux Fuchsia failing test.json
index 564900c..5c74867 100644
--- a/recipes/engine/engine.expected/Linux Fuchsia failing test.json
+++ b/recipes/engine/engine.expected/Linux Fuchsia failing test.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/Linux Fuchsia skips on duplicate.json b/recipes/engine/engine.expected/Linux Fuchsia skips on duplicate.json
index 509210c..4e6aeca 100644
--- a/recipes/engine/engine.expected/Linux Fuchsia skips on duplicate.json
+++ b/recipes/engine/engine.expected/Linux Fuchsia skips on duplicate.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/experimental.json b/recipes/engine/engine.expected/experimental.json
index 3bd9260..5d510fe 100644
--- a/recipes/engine/engine.expected/experimental.json
+++ b/recipes/engine/engine.expected/experimental.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/experimental_upload.json b/recipes/engine/engine.expected/experimental_upload.json
index 6afeba7..34f9898 100644
--- a/recipes/engine/engine.expected/experimental_upload.json
+++ b/recipes/engine/engine.expected/experimental_upload.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/fail_android_aot_sharded_builds.json b/recipes/engine/engine.expected/fail_android_aot_sharded_builds.json
index 996f58c..e6951cc 100644
--- a/recipes/engine/engine.expected/fail_android_aot_sharded_builds.json
+++ b/recipes/engine/engine.expected/fail_android_aot_sharded_builds.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_flutter_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_flutter_flutter-3.8-candidate.10.json
index 3376234..1c1adb6 100644
--- a/recipes/engine/engine.expected/linux_flutter_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_flutter_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_flutter_main.json b/recipes/engine/engine.expected/linux_flutter_main.json
index 3376234..1c1adb6 100644
--- a/recipes/engine/engine.expected/linux_flutter_main.json
+++ b/recipes/engine/engine.expected/linux_flutter_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_font_subset_flutter_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_font_subset_flutter_flutter-3.8-candidate.10.json
index 3376234..1c1adb6 100644
--- a/recipes/engine/engine.expected/linux_font_subset_flutter_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_font_subset_flutter_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_font_subset_flutter_main.json b/recipes/engine/engine.expected/linux_font_subset_flutter_main.json
index 3376234..1c1adb6 100644
--- a/recipes/engine/engine.expected/linux_font_subset_flutter_main.json
+++ b/recipes/engine/engine.expected/linux_font_subset_flutter_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_font_subset_prod_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_font_subset_prod_flutter-3.8-candidate.10.json
index 4916c36..b96b065 100644
--- a/recipes/engine/engine.expected/linux_font_subset_prod_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_font_subset_prod_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_font_subset_prod_main.json b/recipes/engine/engine.expected/linux_font_subset_prod_main.json
index 9595dfc..807c919 100644
--- a/recipes/engine/engine.expected/linux_font_subset_prod_main.json
+++ b/recipes/engine/engine.expected/linux_font_subset_prod_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_font_subset_staging_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_font_subset_staging_flutter-3.8-candidate.10.json
index 6e9df57..f5ecd60 100644
--- a/recipes/engine/engine.expected/linux_font_subset_staging_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_font_subset_staging_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_font_subset_staging_main.json b/recipes/engine/engine.expected/linux_font_subset_staging_main.json
index 6ed6c9f..f95ca3a 100644
--- a/recipes/engine/engine.expected/linux_font_subset_staging_main.json
+++ b/recipes/engine/engine.expected/linux_font_subset_staging_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_maven_flutter_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_maven_flutter_flutter-3.8-candidate.10.json
index 3376234..1c1adb6 100644
--- a/recipes/engine/engine.expected/linux_maven_flutter_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_maven_flutter_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_maven_flutter_main.json b/recipes/engine/engine.expected/linux_maven_flutter_main.json
index 3376234..1c1adb6 100644
--- a/recipes/engine/engine.expected/linux_maven_flutter_main.json
+++ b/recipes/engine/engine.expected/linux_maven_flutter_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_maven_font_subset_flutter_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_maven_font_subset_flutter_flutter-3.8-candidate.10.json
index 3376234..1c1adb6 100644
--- a/recipes/engine/engine.expected/linux_maven_font_subset_flutter_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_maven_font_subset_flutter_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_maven_font_subset_flutter_main.json b/recipes/engine/engine.expected/linux_maven_font_subset_flutter_main.json
index 3376234..1c1adb6 100644
--- a/recipes/engine/engine.expected/linux_maven_font_subset_flutter_main.json
+++ b/recipes/engine/engine.expected/linux_maven_font_subset_flutter_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_maven_font_subset_prod_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_maven_font_subset_prod_flutter-3.8-candidate.10.json
index 4916c36..b96b065 100644
--- a/recipes/engine/engine.expected/linux_maven_font_subset_prod_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_maven_font_subset_prod_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_maven_font_subset_prod_main.json b/recipes/engine/engine.expected/linux_maven_font_subset_prod_main.json
index 9595dfc..807c919 100644
--- a/recipes/engine/engine.expected/linux_maven_font_subset_prod_main.json
+++ b/recipes/engine/engine.expected/linux_maven_font_subset_prod_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_maven_font_subset_staging_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_maven_font_subset_staging_flutter-3.8-candidate.10.json
index 6e9df57..f5ecd60 100644
--- a/recipes/engine/engine.expected/linux_maven_font_subset_staging_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_maven_font_subset_staging_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_maven_font_subset_staging_main.json b/recipes/engine/engine.expected/linux_maven_font_subset_staging_main.json
index 6ed6c9f..f95ca3a 100644
--- a/recipes/engine/engine.expected/linux_maven_font_subset_staging_main.json
+++ b/recipes/engine/engine.expected/linux_maven_font_subset_staging_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_maven_no_lto_flutter_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_maven_no_lto_flutter_flutter-3.8-candidate.10.json
index fab8708..3b0c6aa 100644
--- a/recipes/engine/engine.expected/linux_maven_no_lto_flutter_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_maven_no_lto_flutter_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_maven_no_lto_flutter_main.json b/recipes/engine/engine.expected/linux_maven_no_lto_flutter_main.json
index fab8708..3b0c6aa 100644
--- a/recipes/engine/engine.expected/linux_maven_no_lto_flutter_main.json
+++ b/recipes/engine/engine.expected/linux_maven_no_lto_flutter_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_maven_no_lto_font_subset_flutter_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_maven_no_lto_font_subset_flutter_flutter-3.8-candidate.10.json
index fab8708..3b0c6aa 100644
--- a/recipes/engine/engine.expected/linux_maven_no_lto_font_subset_flutter_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_maven_no_lto_font_subset_flutter_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_maven_no_lto_font_subset_flutter_main.json b/recipes/engine/engine.expected/linux_maven_no_lto_font_subset_flutter_main.json
index fab8708..3b0c6aa 100644
--- a/recipes/engine/engine.expected/linux_maven_no_lto_font_subset_flutter_main.json
+++ b/recipes/engine/engine.expected/linux_maven_no_lto_font_subset_flutter_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_maven_no_lto_font_subset_prod_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_maven_no_lto_font_subset_prod_flutter-3.8-candidate.10.json
index 4406834..32538f7 100644
--- a/recipes/engine/engine.expected/linux_maven_no_lto_font_subset_prod_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_maven_no_lto_font_subset_prod_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_maven_no_lto_font_subset_prod_main.json b/recipes/engine/engine.expected/linux_maven_no_lto_font_subset_prod_main.json
index 494f890..6f765b3 100644
--- a/recipes/engine/engine.expected/linux_maven_no_lto_font_subset_prod_main.json
+++ b/recipes/engine/engine.expected/linux_maven_no_lto_font_subset_prod_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_maven_no_lto_font_subset_staging_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_maven_no_lto_font_subset_staging_flutter-3.8-candidate.10.json
index c04e268..58d80b0 100644
--- a/recipes/engine/engine.expected/linux_maven_no_lto_font_subset_staging_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_maven_no_lto_font_subset_staging_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_maven_no_lto_font_subset_staging_main.json b/recipes/engine/engine.expected/linux_maven_no_lto_font_subset_staging_main.json
index 1b1b5bc..32632dc 100644
--- a/recipes/engine/engine.expected/linux_maven_no_lto_font_subset_staging_main.json
+++ b/recipes/engine/engine.expected/linux_maven_no_lto_font_subset_staging_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_maven_no_lto_prod_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_maven_no_lto_prod_flutter-3.8-candidate.10.json
index 4406834..32538f7 100644
--- a/recipes/engine/engine.expected/linux_maven_no_lto_prod_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_maven_no_lto_prod_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_maven_no_lto_prod_main.json b/recipes/engine/engine.expected/linux_maven_no_lto_prod_main.json
index 494f890..6f765b3 100644
--- a/recipes/engine/engine.expected/linux_maven_no_lto_prod_main.json
+++ b/recipes/engine/engine.expected/linux_maven_no_lto_prod_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_maven_no_lto_staging_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_maven_no_lto_staging_flutter-3.8-candidate.10.json
index c04e268..58d80b0 100644
--- a/recipes/engine/engine.expected/linux_maven_no_lto_staging_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_maven_no_lto_staging_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_maven_no_lto_staging_main.json b/recipes/engine/engine.expected/linux_maven_no_lto_staging_main.json
index 1b1b5bc..32632dc 100644
--- a/recipes/engine/engine.expected/linux_maven_no_lto_staging_main.json
+++ b/recipes/engine/engine.expected/linux_maven_no_lto_staging_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_maven_prod_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_maven_prod_flutter-3.8-candidate.10.json
index 4916c36..b96b065 100644
--- a/recipes/engine/engine.expected/linux_maven_prod_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_maven_prod_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_maven_prod_main.json b/recipes/engine/engine.expected/linux_maven_prod_main.json
index 9595dfc..807c919 100644
--- a/recipes/engine/engine.expected/linux_maven_prod_main.json
+++ b/recipes/engine/engine.expected/linux_maven_prod_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_maven_publish_cipd_flutter_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_maven_publish_cipd_flutter_flutter-3.8-candidate.10.json
index 3376234..1c1adb6 100644
--- a/recipes/engine/engine.expected/linux_maven_publish_cipd_flutter_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_maven_publish_cipd_flutter_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_maven_publish_cipd_flutter_main.json b/recipes/engine/engine.expected/linux_maven_publish_cipd_flutter_main.json
index 3376234..1c1adb6 100644
--- a/recipes/engine/engine.expected/linux_maven_publish_cipd_flutter_main.json
+++ b/recipes/engine/engine.expected/linux_maven_publish_cipd_flutter_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_maven_publish_cipd_font_subset_flutter_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_maven_publish_cipd_font_subset_flutter_flutter-3.8-candidate.10.json
index 3376234..1c1adb6 100644
--- a/recipes/engine/engine.expected/linux_maven_publish_cipd_font_subset_flutter_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_maven_publish_cipd_font_subset_flutter_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_maven_publish_cipd_font_subset_flutter_main.json b/recipes/engine/engine.expected/linux_maven_publish_cipd_font_subset_flutter_main.json
index 3376234..1c1adb6 100644
--- a/recipes/engine/engine.expected/linux_maven_publish_cipd_font_subset_flutter_main.json
+++ b/recipes/engine/engine.expected/linux_maven_publish_cipd_font_subset_flutter_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_maven_publish_cipd_font_subset_prod_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_maven_publish_cipd_font_subset_prod_flutter-3.8-candidate.10.json
index 4916c36..b96b065 100644
--- a/recipes/engine/engine.expected/linux_maven_publish_cipd_font_subset_prod_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_maven_publish_cipd_font_subset_prod_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_maven_publish_cipd_font_subset_prod_main.json b/recipes/engine/engine.expected/linux_maven_publish_cipd_font_subset_prod_main.json
index 9595dfc..807c919 100644
--- a/recipes/engine/engine.expected/linux_maven_publish_cipd_font_subset_prod_main.json
+++ b/recipes/engine/engine.expected/linux_maven_publish_cipd_font_subset_prod_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_maven_publish_cipd_font_subset_staging_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_maven_publish_cipd_font_subset_staging_flutter-3.8-candidate.10.json
index 6e9df57..f5ecd60 100644
--- a/recipes/engine/engine.expected/linux_maven_publish_cipd_font_subset_staging_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_maven_publish_cipd_font_subset_staging_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_maven_publish_cipd_font_subset_staging_main.json b/recipes/engine/engine.expected/linux_maven_publish_cipd_font_subset_staging_main.json
index 6ed6c9f..f95ca3a 100644
--- a/recipes/engine/engine.expected/linux_maven_publish_cipd_font_subset_staging_main.json
+++ b/recipes/engine/engine.expected/linux_maven_publish_cipd_font_subset_staging_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_maven_publish_cipd_no_lto_flutter_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_maven_publish_cipd_no_lto_flutter_flutter-3.8-candidate.10.json
index fab8708..3b0c6aa 100644
--- a/recipes/engine/engine.expected/linux_maven_publish_cipd_no_lto_flutter_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_maven_publish_cipd_no_lto_flutter_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_maven_publish_cipd_no_lto_flutter_main.json b/recipes/engine/engine.expected/linux_maven_publish_cipd_no_lto_flutter_main.json
index fab8708..3b0c6aa 100644
--- a/recipes/engine/engine.expected/linux_maven_publish_cipd_no_lto_flutter_main.json
+++ b/recipes/engine/engine.expected/linux_maven_publish_cipd_no_lto_flutter_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_maven_publish_cipd_no_lto_font_subset_flutter_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_maven_publish_cipd_no_lto_font_subset_flutter_flutter-3.8-candidate.10.json
index fab8708..3b0c6aa 100644
--- a/recipes/engine/engine.expected/linux_maven_publish_cipd_no_lto_font_subset_flutter_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_maven_publish_cipd_no_lto_font_subset_flutter_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_maven_publish_cipd_no_lto_font_subset_flutter_main.json b/recipes/engine/engine.expected/linux_maven_publish_cipd_no_lto_font_subset_flutter_main.json
index fab8708..3b0c6aa 100644
--- a/recipes/engine/engine.expected/linux_maven_publish_cipd_no_lto_font_subset_flutter_main.json
+++ b/recipes/engine/engine.expected/linux_maven_publish_cipd_no_lto_font_subset_flutter_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_maven_publish_cipd_no_lto_font_subset_prod_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_maven_publish_cipd_no_lto_font_subset_prod_flutter-3.8-candidate.10.json
index 4406834..32538f7 100644
--- a/recipes/engine/engine.expected/linux_maven_publish_cipd_no_lto_font_subset_prod_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_maven_publish_cipd_no_lto_font_subset_prod_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_maven_publish_cipd_no_lto_font_subset_prod_main.json b/recipes/engine/engine.expected/linux_maven_publish_cipd_no_lto_font_subset_prod_main.json
index 494f890..6f765b3 100644
--- a/recipes/engine/engine.expected/linux_maven_publish_cipd_no_lto_font_subset_prod_main.json
+++ b/recipes/engine/engine.expected/linux_maven_publish_cipd_no_lto_font_subset_prod_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_maven_publish_cipd_no_lto_font_subset_staging_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_maven_publish_cipd_no_lto_font_subset_staging_flutter-3.8-candidate.10.json
index c04e268..58d80b0 100644
--- a/recipes/engine/engine.expected/linux_maven_publish_cipd_no_lto_font_subset_staging_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_maven_publish_cipd_no_lto_font_subset_staging_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_maven_publish_cipd_no_lto_font_subset_staging_main.json b/recipes/engine/engine.expected/linux_maven_publish_cipd_no_lto_font_subset_staging_main.json
index 1b1b5bc..32632dc 100644
--- a/recipes/engine/engine.expected/linux_maven_publish_cipd_no_lto_font_subset_staging_main.json
+++ b/recipes/engine/engine.expected/linux_maven_publish_cipd_no_lto_font_subset_staging_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_maven_publish_cipd_no_lto_prod_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_maven_publish_cipd_no_lto_prod_flutter-3.8-candidate.10.json
index 4406834..32538f7 100644
--- a/recipes/engine/engine.expected/linux_maven_publish_cipd_no_lto_prod_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_maven_publish_cipd_no_lto_prod_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_maven_publish_cipd_no_lto_prod_main.json b/recipes/engine/engine.expected/linux_maven_publish_cipd_no_lto_prod_main.json
index 494f890..6f765b3 100644
--- a/recipes/engine/engine.expected/linux_maven_publish_cipd_no_lto_prod_main.json
+++ b/recipes/engine/engine.expected/linux_maven_publish_cipd_no_lto_prod_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_maven_publish_cipd_no_lto_staging_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_maven_publish_cipd_no_lto_staging_flutter-3.8-candidate.10.json
index c04e268..58d80b0 100644
--- a/recipes/engine/engine.expected/linux_maven_publish_cipd_no_lto_staging_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_maven_publish_cipd_no_lto_staging_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_maven_publish_cipd_no_lto_staging_main.json b/recipes/engine/engine.expected/linux_maven_publish_cipd_no_lto_staging_main.json
index 1b1b5bc..32632dc 100644
--- a/recipes/engine/engine.expected/linux_maven_publish_cipd_no_lto_staging_main.json
+++ b/recipes/engine/engine.expected/linux_maven_publish_cipd_no_lto_staging_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_maven_publish_cipd_prod_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_maven_publish_cipd_prod_flutter-3.8-candidate.10.json
index 4916c36..b96b065 100644
--- a/recipes/engine/engine.expected/linux_maven_publish_cipd_prod_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_maven_publish_cipd_prod_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_maven_publish_cipd_prod_main.json b/recipes/engine/engine.expected/linux_maven_publish_cipd_prod_main.json
index 9595dfc..807c919 100644
--- a/recipes/engine/engine.expected/linux_maven_publish_cipd_prod_main.json
+++ b/recipes/engine/engine.expected/linux_maven_publish_cipd_prod_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_maven_publish_cipd_staging_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_maven_publish_cipd_staging_flutter-3.8-candidate.10.json
index 6e9df57..f5ecd60 100644
--- a/recipes/engine/engine.expected/linux_maven_publish_cipd_staging_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_maven_publish_cipd_staging_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_maven_publish_cipd_staging_main.json b/recipes/engine/engine.expected/linux_maven_publish_cipd_staging_main.json
index 6ed6c9f..f95ca3a 100644
--- a/recipes/engine/engine.expected/linux_maven_publish_cipd_staging_main.json
+++ b/recipes/engine/engine.expected/linux_maven_publish_cipd_staging_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_maven_staging_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_maven_staging_flutter-3.8-candidate.10.json
index 6e9df57..f5ecd60 100644
--- a/recipes/engine/engine.expected/linux_maven_staging_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_maven_staging_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_maven_staging_main.json b/recipes/engine/engine.expected/linux_maven_staging_main.json
index 6ed6c9f..f95ca3a 100644
--- a/recipes/engine/engine.expected/linux_maven_staging_main.json
+++ b/recipes/engine/engine.expected/linux_maven_staging_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_no_lto_flutter_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_no_lto_flutter_flutter-3.8-candidate.10.json
index fab8708..3b0c6aa 100644
--- a/recipes/engine/engine.expected/linux_no_lto_flutter_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_no_lto_flutter_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_no_lto_flutter_main.json b/recipes/engine/engine.expected/linux_no_lto_flutter_main.json
index fab8708..3b0c6aa 100644
--- a/recipes/engine/engine.expected/linux_no_lto_flutter_main.json
+++ b/recipes/engine/engine.expected/linux_no_lto_flutter_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_no_lto_font_subset_flutter_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_no_lto_font_subset_flutter_flutter-3.8-candidate.10.json
index fab8708..3b0c6aa 100644
--- a/recipes/engine/engine.expected/linux_no_lto_font_subset_flutter_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_no_lto_font_subset_flutter_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_no_lto_font_subset_flutter_main.json b/recipes/engine/engine.expected/linux_no_lto_font_subset_flutter_main.json
index fab8708..3b0c6aa 100644
--- a/recipes/engine/engine.expected/linux_no_lto_font_subset_flutter_main.json
+++ b/recipes/engine/engine.expected/linux_no_lto_font_subset_flutter_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_no_lto_font_subset_prod_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_no_lto_font_subset_prod_flutter-3.8-candidate.10.json
index 4406834..32538f7 100644
--- a/recipes/engine/engine.expected/linux_no_lto_font_subset_prod_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_no_lto_font_subset_prod_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_no_lto_font_subset_prod_main.json b/recipes/engine/engine.expected/linux_no_lto_font_subset_prod_main.json
index 494f890..6f765b3 100644
--- a/recipes/engine/engine.expected/linux_no_lto_font_subset_prod_main.json
+++ b/recipes/engine/engine.expected/linux_no_lto_font_subset_prod_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_no_lto_font_subset_staging_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_no_lto_font_subset_staging_flutter-3.8-candidate.10.json
index c04e268..58d80b0 100644
--- a/recipes/engine/engine.expected/linux_no_lto_font_subset_staging_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_no_lto_font_subset_staging_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_no_lto_font_subset_staging_main.json b/recipes/engine/engine.expected/linux_no_lto_font_subset_staging_main.json
index 1b1b5bc..32632dc 100644
--- a/recipes/engine/engine.expected/linux_no_lto_font_subset_staging_main.json
+++ b/recipes/engine/engine.expected/linux_no_lto_font_subset_staging_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_no_lto_prod_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_no_lto_prod_flutter-3.8-candidate.10.json
index 4406834..32538f7 100644
--- a/recipes/engine/engine.expected/linux_no_lto_prod_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_no_lto_prod_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_no_lto_prod_main.json b/recipes/engine/engine.expected/linux_no_lto_prod_main.json
index 494f890..6f765b3 100644
--- a/recipes/engine/engine.expected/linux_no_lto_prod_main.json
+++ b/recipes/engine/engine.expected/linux_no_lto_prod_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_no_lto_staging_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_no_lto_staging_flutter-3.8-candidate.10.json
index c04e268..58d80b0 100644
--- a/recipes/engine/engine.expected/linux_no_lto_staging_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_no_lto_staging_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_no_lto_staging_main.json b/recipes/engine/engine.expected/linux_no_lto_staging_main.json
index 1b1b5bc..32632dc 100644
--- a/recipes/engine/engine.expected/linux_no_lto_staging_main.json
+++ b/recipes/engine/engine.expected/linux_no_lto_staging_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_prod_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_prod_flutter-3.8-candidate.10.json
index 4916c36..b96b065 100644
--- a/recipes/engine/engine.expected/linux_prod_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_prod_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_prod_main.json b/recipes/engine/engine.expected/linux_prod_main.json
index 9595dfc..807c919 100644
--- a/recipes/engine/engine.expected/linux_prod_main.json
+++ b/recipes/engine/engine.expected/linux_prod_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_publish_cipd_flutter_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_publish_cipd_flutter_flutter-3.8-candidate.10.json
index 3376234..1c1adb6 100644
--- a/recipes/engine/engine.expected/linux_publish_cipd_flutter_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_publish_cipd_flutter_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_publish_cipd_flutter_main.json b/recipes/engine/engine.expected/linux_publish_cipd_flutter_main.json
index 3376234..1c1adb6 100644
--- a/recipes/engine/engine.expected/linux_publish_cipd_flutter_main.json
+++ b/recipes/engine/engine.expected/linux_publish_cipd_flutter_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_publish_cipd_font_subset_flutter_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_publish_cipd_font_subset_flutter_flutter-3.8-candidate.10.json
index 3376234..1c1adb6 100644
--- a/recipes/engine/engine.expected/linux_publish_cipd_font_subset_flutter_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_publish_cipd_font_subset_flutter_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_publish_cipd_font_subset_flutter_main.json b/recipes/engine/engine.expected/linux_publish_cipd_font_subset_flutter_main.json
index 3376234..1c1adb6 100644
--- a/recipes/engine/engine.expected/linux_publish_cipd_font_subset_flutter_main.json
+++ b/recipes/engine/engine.expected/linux_publish_cipd_font_subset_flutter_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_publish_cipd_font_subset_prod_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_publish_cipd_font_subset_prod_flutter-3.8-candidate.10.json
index 4916c36..b96b065 100644
--- a/recipes/engine/engine.expected/linux_publish_cipd_font_subset_prod_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_publish_cipd_font_subset_prod_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_publish_cipd_font_subset_prod_main.json b/recipes/engine/engine.expected/linux_publish_cipd_font_subset_prod_main.json
index 9595dfc..807c919 100644
--- a/recipes/engine/engine.expected/linux_publish_cipd_font_subset_prod_main.json
+++ b/recipes/engine/engine.expected/linux_publish_cipd_font_subset_prod_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_publish_cipd_font_subset_staging_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_publish_cipd_font_subset_staging_flutter-3.8-candidate.10.json
index 6e9df57..f5ecd60 100644
--- a/recipes/engine/engine.expected/linux_publish_cipd_font_subset_staging_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_publish_cipd_font_subset_staging_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_publish_cipd_font_subset_staging_main.json b/recipes/engine/engine.expected/linux_publish_cipd_font_subset_staging_main.json
index 6ed6c9f..f95ca3a 100644
--- a/recipes/engine/engine.expected/linux_publish_cipd_font_subset_staging_main.json
+++ b/recipes/engine/engine.expected/linux_publish_cipd_font_subset_staging_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_publish_cipd_no_lto_flutter_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_publish_cipd_no_lto_flutter_flutter-3.8-candidate.10.json
index fab8708..3b0c6aa 100644
--- a/recipes/engine/engine.expected/linux_publish_cipd_no_lto_flutter_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_publish_cipd_no_lto_flutter_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_publish_cipd_no_lto_flutter_main.json b/recipes/engine/engine.expected/linux_publish_cipd_no_lto_flutter_main.json
index fab8708..3b0c6aa 100644
--- a/recipes/engine/engine.expected/linux_publish_cipd_no_lto_flutter_main.json
+++ b/recipes/engine/engine.expected/linux_publish_cipd_no_lto_flutter_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_publish_cipd_no_lto_font_subset_flutter_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_publish_cipd_no_lto_font_subset_flutter_flutter-3.8-candidate.10.json
index fab8708..3b0c6aa 100644
--- a/recipes/engine/engine.expected/linux_publish_cipd_no_lto_font_subset_flutter_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_publish_cipd_no_lto_font_subset_flutter_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_publish_cipd_no_lto_font_subset_flutter_main.json b/recipes/engine/engine.expected/linux_publish_cipd_no_lto_font_subset_flutter_main.json
index fab8708..3b0c6aa 100644
--- a/recipes/engine/engine.expected/linux_publish_cipd_no_lto_font_subset_flutter_main.json
+++ b/recipes/engine/engine.expected/linux_publish_cipd_no_lto_font_subset_flutter_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_publish_cipd_no_lto_font_subset_prod_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_publish_cipd_no_lto_font_subset_prod_flutter-3.8-candidate.10.json
index 4406834..32538f7 100644
--- a/recipes/engine/engine.expected/linux_publish_cipd_no_lto_font_subset_prod_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_publish_cipd_no_lto_font_subset_prod_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_publish_cipd_no_lto_font_subset_prod_main.json b/recipes/engine/engine.expected/linux_publish_cipd_no_lto_font_subset_prod_main.json
index 494f890..6f765b3 100644
--- a/recipes/engine/engine.expected/linux_publish_cipd_no_lto_font_subset_prod_main.json
+++ b/recipes/engine/engine.expected/linux_publish_cipd_no_lto_font_subset_prod_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_publish_cipd_no_lto_font_subset_staging_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_publish_cipd_no_lto_font_subset_staging_flutter-3.8-candidate.10.json
index c04e268..58d80b0 100644
--- a/recipes/engine/engine.expected/linux_publish_cipd_no_lto_font_subset_staging_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_publish_cipd_no_lto_font_subset_staging_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_publish_cipd_no_lto_font_subset_staging_main.json b/recipes/engine/engine.expected/linux_publish_cipd_no_lto_font_subset_staging_main.json
index 1b1b5bc..32632dc 100644
--- a/recipes/engine/engine.expected/linux_publish_cipd_no_lto_font_subset_staging_main.json
+++ b/recipes/engine/engine.expected/linux_publish_cipd_no_lto_font_subset_staging_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_publish_cipd_no_lto_prod_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_publish_cipd_no_lto_prod_flutter-3.8-candidate.10.json
index 4406834..32538f7 100644
--- a/recipes/engine/engine.expected/linux_publish_cipd_no_lto_prod_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_publish_cipd_no_lto_prod_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_publish_cipd_no_lto_prod_main.json b/recipes/engine/engine.expected/linux_publish_cipd_no_lto_prod_main.json
index 494f890..6f765b3 100644
--- a/recipes/engine/engine.expected/linux_publish_cipd_no_lto_prod_main.json
+++ b/recipes/engine/engine.expected/linux_publish_cipd_no_lto_prod_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_publish_cipd_no_lto_staging_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_publish_cipd_no_lto_staging_flutter-3.8-candidate.10.json
index c04e268..58d80b0 100644
--- a/recipes/engine/engine.expected/linux_publish_cipd_no_lto_staging_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_publish_cipd_no_lto_staging_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_publish_cipd_no_lto_staging_main.json b/recipes/engine/engine.expected/linux_publish_cipd_no_lto_staging_main.json
index 1b1b5bc..32632dc 100644
--- a/recipes/engine/engine.expected/linux_publish_cipd_no_lto_staging_main.json
+++ b/recipes/engine/engine.expected/linux_publish_cipd_no_lto_staging_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_publish_cipd_prod_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_publish_cipd_prod_flutter-3.8-candidate.10.json
index 4916c36..b96b065 100644
--- a/recipes/engine/engine.expected/linux_publish_cipd_prod_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_publish_cipd_prod_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_publish_cipd_prod_main.json b/recipes/engine/engine.expected/linux_publish_cipd_prod_main.json
index 9595dfc..807c919 100644
--- a/recipes/engine/engine.expected/linux_publish_cipd_prod_main.json
+++ b/recipes/engine/engine.expected/linux_publish_cipd_prod_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_publish_cipd_staging_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_publish_cipd_staging_flutter-3.8-candidate.10.json
index 6e9df57..f5ecd60 100644
--- a/recipes/engine/engine.expected/linux_publish_cipd_staging_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_publish_cipd_staging_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_publish_cipd_staging_main.json b/recipes/engine/engine.expected/linux_publish_cipd_staging_main.json
index 6ed6c9f..f95ca3a 100644
--- a/recipes/engine/engine.expected/linux_publish_cipd_staging_main.json
+++ b/recipes/engine/engine.expected/linux_publish_cipd_staging_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_staging_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_staging_flutter-3.8-candidate.10.json
index 6e9df57..f5ecd60 100644
--- a/recipes/engine/engine.expected/linux_staging_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_staging_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_staging_main.json b/recipes/engine/engine.expected/linux_staging_main.json
index 6ed6c9f..f95ca3a 100644
--- a/recipes/engine/engine.expected/linux_staging_main.json
+++ b/recipes/engine/engine.expected/linux_staging_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_flutter_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_upload_flutter_flutter-3.8-candidate.10.json
index 3766e0e..e7fc5b9 100644
--- a/recipes/engine/engine.expected/linux_upload_flutter_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_upload_flutter_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_flutter_main.json b/recipes/engine/engine.expected/linux_upload_flutter_main.json
index 3766e0e..e7fc5b9 100644
--- a/recipes/engine/engine.expected/linux_upload_flutter_main.json
+++ b/recipes/engine/engine.expected/linux_upload_flutter_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_font_subset_flutter_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_upload_font_subset_flutter_flutter-3.8-candidate.10.json
index 3766e0e..e7fc5b9 100644
--- a/recipes/engine/engine.expected/linux_upload_font_subset_flutter_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_upload_font_subset_flutter_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_font_subset_flutter_main.json b/recipes/engine/engine.expected/linux_upload_font_subset_flutter_main.json
index 3766e0e..e7fc5b9 100644
--- a/recipes/engine/engine.expected/linux_upload_font_subset_flutter_main.json
+++ b/recipes/engine/engine.expected/linux_upload_font_subset_flutter_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_font_subset_prod_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_upload_font_subset_prod_flutter-3.8-candidate.10.json
index 339d962..b74b4f6 100644
--- a/recipes/engine/engine.expected/linux_upload_font_subset_prod_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_upload_font_subset_prod_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_font_subset_prod_main.json b/recipes/engine/engine.expected/linux_upload_font_subset_prod_main.json
index 0564d5f..dad9405 100644
--- a/recipes/engine/engine.expected/linux_upload_font_subset_prod_main.json
+++ b/recipes/engine/engine.expected/linux_upload_font_subset_prod_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_font_subset_staging_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_upload_font_subset_staging_flutter-3.8-candidate.10.json
index 415cb90..463f067 100644
--- a/recipes/engine/engine.expected/linux_upload_font_subset_staging_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_upload_font_subset_staging_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_font_subset_staging_main.json b/recipes/engine/engine.expected/linux_upload_font_subset_staging_main.json
index db7502c..d4675b4 100644
--- a/recipes/engine/engine.expected/linux_upload_font_subset_staging_main.json
+++ b/recipes/engine/engine.expected/linux_upload_font_subset_staging_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_maven_flutter_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_upload_maven_flutter_flutter-3.8-candidate.10.json
index 3766e0e..e7fc5b9 100644
--- a/recipes/engine/engine.expected/linux_upload_maven_flutter_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_upload_maven_flutter_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_maven_flutter_main.json b/recipes/engine/engine.expected/linux_upload_maven_flutter_main.json
index 3766e0e..e7fc5b9 100644
--- a/recipes/engine/engine.expected/linux_upload_maven_flutter_main.json
+++ b/recipes/engine/engine.expected/linux_upload_maven_flutter_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_maven_font_subset_flutter_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_upload_maven_font_subset_flutter_flutter-3.8-candidate.10.json
index 3766e0e..e7fc5b9 100644
--- a/recipes/engine/engine.expected/linux_upload_maven_font_subset_flutter_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_upload_maven_font_subset_flutter_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_maven_font_subset_flutter_main.json b/recipes/engine/engine.expected/linux_upload_maven_font_subset_flutter_main.json
index 3766e0e..e7fc5b9 100644
--- a/recipes/engine/engine.expected/linux_upload_maven_font_subset_flutter_main.json
+++ b/recipes/engine/engine.expected/linux_upload_maven_font_subset_flutter_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_maven_font_subset_prod_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_upload_maven_font_subset_prod_flutter-3.8-candidate.10.json
index 339d962..b74b4f6 100644
--- a/recipes/engine/engine.expected/linux_upload_maven_font_subset_prod_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_upload_maven_font_subset_prod_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_maven_font_subset_prod_main.json b/recipes/engine/engine.expected/linux_upload_maven_font_subset_prod_main.json
index 0564d5f..dad9405 100644
--- a/recipes/engine/engine.expected/linux_upload_maven_font_subset_prod_main.json
+++ b/recipes/engine/engine.expected/linux_upload_maven_font_subset_prod_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_maven_font_subset_staging_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_upload_maven_font_subset_staging_flutter-3.8-candidate.10.json
index 415cb90..463f067 100644
--- a/recipes/engine/engine.expected/linux_upload_maven_font_subset_staging_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_upload_maven_font_subset_staging_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_maven_font_subset_staging_main.json b/recipes/engine/engine.expected/linux_upload_maven_font_subset_staging_main.json
index db7502c..d4675b4 100644
--- a/recipes/engine/engine.expected/linux_upload_maven_font_subset_staging_main.json
+++ b/recipes/engine/engine.expected/linux_upload_maven_font_subset_staging_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_maven_no_lto_flutter_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_upload_maven_no_lto_flutter_flutter-3.8-candidate.10.json
index 3ec4ae4..5f1d3ea 100644
--- a/recipes/engine/engine.expected/linux_upload_maven_no_lto_flutter_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_upload_maven_no_lto_flutter_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_maven_no_lto_flutter_main.json b/recipes/engine/engine.expected/linux_upload_maven_no_lto_flutter_main.json
index 3ec4ae4..5f1d3ea 100644
--- a/recipes/engine/engine.expected/linux_upload_maven_no_lto_flutter_main.json
+++ b/recipes/engine/engine.expected/linux_upload_maven_no_lto_flutter_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_maven_no_lto_font_subset_flutter_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_upload_maven_no_lto_font_subset_flutter_flutter-3.8-candidate.10.json
index 3ec4ae4..5f1d3ea 100644
--- a/recipes/engine/engine.expected/linux_upload_maven_no_lto_font_subset_flutter_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_upload_maven_no_lto_font_subset_flutter_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_maven_no_lto_font_subset_flutter_main.json b/recipes/engine/engine.expected/linux_upload_maven_no_lto_font_subset_flutter_main.json
index 3ec4ae4..5f1d3ea 100644
--- a/recipes/engine/engine.expected/linux_upload_maven_no_lto_font_subset_flutter_main.json
+++ b/recipes/engine/engine.expected/linux_upload_maven_no_lto_font_subset_flutter_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_maven_no_lto_font_subset_prod_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_upload_maven_no_lto_font_subset_prod_flutter-3.8-candidate.10.json
index 8c26581..d243797 100644
--- a/recipes/engine/engine.expected/linux_upload_maven_no_lto_font_subset_prod_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_upload_maven_no_lto_font_subset_prod_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_maven_no_lto_font_subset_prod_main.json b/recipes/engine/engine.expected/linux_upload_maven_no_lto_font_subset_prod_main.json
index 81bdd9c..d2b509c 100644
--- a/recipes/engine/engine.expected/linux_upload_maven_no_lto_font_subset_prod_main.json
+++ b/recipes/engine/engine.expected/linux_upload_maven_no_lto_font_subset_prod_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_maven_no_lto_font_subset_staging_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_upload_maven_no_lto_font_subset_staging_flutter-3.8-candidate.10.json
index 5c19b1d..7b56b8e 100644
--- a/recipes/engine/engine.expected/linux_upload_maven_no_lto_font_subset_staging_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_upload_maven_no_lto_font_subset_staging_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_maven_no_lto_font_subset_staging_main.json b/recipes/engine/engine.expected/linux_upload_maven_no_lto_font_subset_staging_main.json
index 838c768..3788c65 100644
--- a/recipes/engine/engine.expected/linux_upload_maven_no_lto_font_subset_staging_main.json
+++ b/recipes/engine/engine.expected/linux_upload_maven_no_lto_font_subset_staging_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_maven_no_lto_prod_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_upload_maven_no_lto_prod_flutter-3.8-candidate.10.json
index 8c26581..d243797 100644
--- a/recipes/engine/engine.expected/linux_upload_maven_no_lto_prod_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_upload_maven_no_lto_prod_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_maven_no_lto_prod_main.json b/recipes/engine/engine.expected/linux_upload_maven_no_lto_prod_main.json
index 81bdd9c..d2b509c 100644
--- a/recipes/engine/engine.expected/linux_upload_maven_no_lto_prod_main.json
+++ b/recipes/engine/engine.expected/linux_upload_maven_no_lto_prod_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_maven_no_lto_staging_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_upload_maven_no_lto_staging_flutter-3.8-candidate.10.json
index 5c19b1d..7b56b8e 100644
--- a/recipes/engine/engine.expected/linux_upload_maven_no_lto_staging_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_upload_maven_no_lto_staging_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_maven_no_lto_staging_main.json b/recipes/engine/engine.expected/linux_upload_maven_no_lto_staging_main.json
index 838c768..3788c65 100644
--- a/recipes/engine/engine.expected/linux_upload_maven_no_lto_staging_main.json
+++ b/recipes/engine/engine.expected/linux_upload_maven_no_lto_staging_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_maven_prod_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_upload_maven_prod_flutter-3.8-candidate.10.json
index 339d962..b74b4f6 100644
--- a/recipes/engine/engine.expected/linux_upload_maven_prod_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_upload_maven_prod_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_maven_prod_main.json b/recipes/engine/engine.expected/linux_upload_maven_prod_main.json
index 0564d5f..dad9405 100644
--- a/recipes/engine/engine.expected/linux_upload_maven_prod_main.json
+++ b/recipes/engine/engine.expected/linux_upload_maven_prod_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_flutter_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_flutter_flutter-3.8-candidate.10.json
index a0d7eab..cbc0bc1 100644
--- a/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_flutter_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_flutter_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_flutter_main.json b/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_flutter_main.json
index a0d7eab..cbc0bc1 100644
--- a/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_flutter_main.json
+++ b/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_flutter_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_font_subset_flutter_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_font_subset_flutter_flutter-3.8-candidate.10.json
index a0d7eab..cbc0bc1 100644
--- a/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_font_subset_flutter_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_font_subset_flutter_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_font_subset_flutter_main.json b/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_font_subset_flutter_main.json
index a0d7eab..cbc0bc1 100644
--- a/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_font_subset_flutter_main.json
+++ b/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_font_subset_flutter_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_font_subset_prod_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_font_subset_prod_flutter-3.8-candidate.10.json
index d3a82cf..ff990aa 100644
--- a/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_font_subset_prod_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_font_subset_prod_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_font_subset_prod_main.json b/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_font_subset_prod_main.json
index f62d2d7..6bf7c73 100644
--- a/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_font_subset_prod_main.json
+++ b/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_font_subset_prod_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_font_subset_staging_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_font_subset_staging_flutter-3.8-candidate.10.json
index b299f74..8914ccb 100644
--- a/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_font_subset_staging_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_font_subset_staging_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_font_subset_staging_main.json b/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_font_subset_staging_main.json
index d7ecae3..745b18b 100644
--- a/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_font_subset_staging_main.json
+++ b/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_font_subset_staging_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_no_lto_flutter_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_no_lto_flutter_flutter-3.8-candidate.10.json
index 94cd1be..c4c3a1b 100644
--- a/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_no_lto_flutter_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_no_lto_flutter_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_no_lto_flutter_main.json b/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_no_lto_flutter_main.json
index 94cd1be..c4c3a1b 100644
--- a/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_no_lto_flutter_main.json
+++ b/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_no_lto_flutter_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_no_lto_font_subset_flutter_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_no_lto_font_subset_flutter_flutter-3.8-candidate.10.json
index 94cd1be..c4c3a1b 100644
--- a/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_no_lto_font_subset_flutter_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_no_lto_font_subset_flutter_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_no_lto_font_subset_flutter_main.json b/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_no_lto_font_subset_flutter_main.json
index 94cd1be..c4c3a1b 100644
--- a/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_no_lto_font_subset_flutter_main.json
+++ b/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_no_lto_font_subset_flutter_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_no_lto_font_subset_prod_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_no_lto_font_subset_prod_flutter-3.8-candidate.10.json
index af488c9..8076e81 100644
--- a/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_no_lto_font_subset_prod_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_no_lto_font_subset_prod_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_no_lto_font_subset_prod_main.json b/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_no_lto_font_subset_prod_main.json
index c2120a9..daff5d1 100644
--- a/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_no_lto_font_subset_prod_main.json
+++ b/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_no_lto_font_subset_prod_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_no_lto_font_subset_staging_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_no_lto_font_subset_staging_flutter-3.8-candidate.10.json
index ac2f191..99cdfb3 100644
--- a/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_no_lto_font_subset_staging_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_no_lto_font_subset_staging_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_no_lto_font_subset_staging_main.json b/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_no_lto_font_subset_staging_main.json
index 9735676..f91013e 100644
--- a/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_no_lto_font_subset_staging_main.json
+++ b/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_no_lto_font_subset_staging_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_no_lto_prod_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_no_lto_prod_flutter-3.8-candidate.10.json
index af488c9..8076e81 100644
--- a/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_no_lto_prod_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_no_lto_prod_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_no_lto_prod_main.json b/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_no_lto_prod_main.json
index c2120a9..daff5d1 100644
--- a/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_no_lto_prod_main.json
+++ b/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_no_lto_prod_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_no_lto_staging_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_no_lto_staging_flutter-3.8-candidate.10.json
index ac2f191..99cdfb3 100644
--- a/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_no_lto_staging_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_no_lto_staging_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_no_lto_staging_main.json b/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_no_lto_staging_main.json
index 9735676..f91013e 100644
--- a/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_no_lto_staging_main.json
+++ b/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_no_lto_staging_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_prod_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_prod_flutter-3.8-candidate.10.json
index d3a82cf..ff990aa 100644
--- a/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_prod_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_prod_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_prod_main.json b/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_prod_main.json
index f62d2d7..6bf7c73 100644
--- a/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_prod_main.json
+++ b/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_prod_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_staging_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_staging_flutter-3.8-candidate.10.json
index b299f74..8914ccb 100644
--- a/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_staging_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_staging_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_staging_main.json b/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_staging_main.json
index d7ecae3..745b18b 100644
--- a/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_staging_main.json
+++ b/recipes/engine/engine.expected/linux_upload_maven_publish_cipd_staging_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_maven_staging_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_upload_maven_staging_flutter-3.8-candidate.10.json
index 415cb90..463f067 100644
--- a/recipes/engine/engine.expected/linux_upload_maven_staging_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_upload_maven_staging_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_maven_staging_main.json b/recipes/engine/engine.expected/linux_upload_maven_staging_main.json
index db7502c..d4675b4 100644
--- a/recipes/engine/engine.expected/linux_upload_maven_staging_main.json
+++ b/recipes/engine/engine.expected/linux_upload_maven_staging_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_no_lto_flutter_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_upload_no_lto_flutter_flutter-3.8-candidate.10.json
index 3ec4ae4..5f1d3ea 100644
--- a/recipes/engine/engine.expected/linux_upload_no_lto_flutter_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_upload_no_lto_flutter_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_no_lto_flutter_main.json b/recipes/engine/engine.expected/linux_upload_no_lto_flutter_main.json
index 3ec4ae4..5f1d3ea 100644
--- a/recipes/engine/engine.expected/linux_upload_no_lto_flutter_main.json
+++ b/recipes/engine/engine.expected/linux_upload_no_lto_flutter_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_no_lto_font_subset_flutter_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_upload_no_lto_font_subset_flutter_flutter-3.8-candidate.10.json
index 3ec4ae4..5f1d3ea 100644
--- a/recipes/engine/engine.expected/linux_upload_no_lto_font_subset_flutter_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_upload_no_lto_font_subset_flutter_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_no_lto_font_subset_flutter_main.json b/recipes/engine/engine.expected/linux_upload_no_lto_font_subset_flutter_main.json
index 3ec4ae4..5f1d3ea 100644
--- a/recipes/engine/engine.expected/linux_upload_no_lto_font_subset_flutter_main.json
+++ b/recipes/engine/engine.expected/linux_upload_no_lto_font_subset_flutter_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_no_lto_font_subset_prod_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_upload_no_lto_font_subset_prod_flutter-3.8-candidate.10.json
index 8c26581..d243797 100644
--- a/recipes/engine/engine.expected/linux_upload_no_lto_font_subset_prod_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_upload_no_lto_font_subset_prod_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_no_lto_font_subset_prod_main.json b/recipes/engine/engine.expected/linux_upload_no_lto_font_subset_prod_main.json
index 81bdd9c..d2b509c 100644
--- a/recipes/engine/engine.expected/linux_upload_no_lto_font_subset_prod_main.json
+++ b/recipes/engine/engine.expected/linux_upload_no_lto_font_subset_prod_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_no_lto_font_subset_staging_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_upload_no_lto_font_subset_staging_flutter-3.8-candidate.10.json
index 5c19b1d..7b56b8e 100644
--- a/recipes/engine/engine.expected/linux_upload_no_lto_font_subset_staging_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_upload_no_lto_font_subset_staging_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_no_lto_font_subset_staging_main.json b/recipes/engine/engine.expected/linux_upload_no_lto_font_subset_staging_main.json
index 838c768..3788c65 100644
--- a/recipes/engine/engine.expected/linux_upload_no_lto_font_subset_staging_main.json
+++ b/recipes/engine/engine.expected/linux_upload_no_lto_font_subset_staging_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_no_lto_prod_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_upload_no_lto_prod_flutter-3.8-candidate.10.json
index 8c26581..d243797 100644
--- a/recipes/engine/engine.expected/linux_upload_no_lto_prod_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_upload_no_lto_prod_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_no_lto_prod_main.json b/recipes/engine/engine.expected/linux_upload_no_lto_prod_main.json
index 81bdd9c..d2b509c 100644
--- a/recipes/engine/engine.expected/linux_upload_no_lto_prod_main.json
+++ b/recipes/engine/engine.expected/linux_upload_no_lto_prod_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_no_lto_staging_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_upload_no_lto_staging_flutter-3.8-candidate.10.json
index 5c19b1d..7b56b8e 100644
--- a/recipes/engine/engine.expected/linux_upload_no_lto_staging_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_upload_no_lto_staging_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_no_lto_staging_main.json b/recipes/engine/engine.expected/linux_upload_no_lto_staging_main.json
index 838c768..3788c65 100644
--- a/recipes/engine/engine.expected/linux_upload_no_lto_staging_main.json
+++ b/recipes/engine/engine.expected/linux_upload_no_lto_staging_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_prod_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_upload_prod_flutter-3.8-candidate.10.json
index 339d962..b74b4f6 100644
--- a/recipes/engine/engine.expected/linux_upload_prod_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_upload_prod_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_prod_main.json b/recipes/engine/engine.expected/linux_upload_prod_main.json
index 0564d5f..dad9405 100644
--- a/recipes/engine/engine.expected/linux_upload_prod_main.json
+++ b/recipes/engine/engine.expected/linux_upload_prod_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_publish_cipd_flutter_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_upload_publish_cipd_flutter_flutter-3.8-candidate.10.json
index a0d7eab..cbc0bc1 100644
--- a/recipes/engine/engine.expected/linux_upload_publish_cipd_flutter_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_upload_publish_cipd_flutter_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_publish_cipd_flutter_main.json b/recipes/engine/engine.expected/linux_upload_publish_cipd_flutter_main.json
index a0d7eab..cbc0bc1 100644
--- a/recipes/engine/engine.expected/linux_upload_publish_cipd_flutter_main.json
+++ b/recipes/engine/engine.expected/linux_upload_publish_cipd_flutter_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_publish_cipd_font_subset_flutter_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_upload_publish_cipd_font_subset_flutter_flutter-3.8-candidate.10.json
index a0d7eab..cbc0bc1 100644
--- a/recipes/engine/engine.expected/linux_upload_publish_cipd_font_subset_flutter_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_upload_publish_cipd_font_subset_flutter_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_publish_cipd_font_subset_flutter_main.json b/recipes/engine/engine.expected/linux_upload_publish_cipd_font_subset_flutter_main.json
index a0d7eab..cbc0bc1 100644
--- a/recipes/engine/engine.expected/linux_upload_publish_cipd_font_subset_flutter_main.json
+++ b/recipes/engine/engine.expected/linux_upload_publish_cipd_font_subset_flutter_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_publish_cipd_font_subset_prod_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_upload_publish_cipd_font_subset_prod_flutter-3.8-candidate.10.json
index d3a82cf..ff990aa 100644
--- a/recipes/engine/engine.expected/linux_upload_publish_cipd_font_subset_prod_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_upload_publish_cipd_font_subset_prod_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_publish_cipd_font_subset_prod_main.json b/recipes/engine/engine.expected/linux_upload_publish_cipd_font_subset_prod_main.json
index f62d2d7..6bf7c73 100644
--- a/recipes/engine/engine.expected/linux_upload_publish_cipd_font_subset_prod_main.json
+++ b/recipes/engine/engine.expected/linux_upload_publish_cipd_font_subset_prod_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_publish_cipd_font_subset_staging_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_upload_publish_cipd_font_subset_staging_flutter-3.8-candidate.10.json
index b299f74..8914ccb 100644
--- a/recipes/engine/engine.expected/linux_upload_publish_cipd_font_subset_staging_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_upload_publish_cipd_font_subset_staging_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_publish_cipd_font_subset_staging_main.json b/recipes/engine/engine.expected/linux_upload_publish_cipd_font_subset_staging_main.json
index d7ecae3..745b18b 100644
--- a/recipes/engine/engine.expected/linux_upload_publish_cipd_font_subset_staging_main.json
+++ b/recipes/engine/engine.expected/linux_upload_publish_cipd_font_subset_staging_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_publish_cipd_no_lto_flutter_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_upload_publish_cipd_no_lto_flutter_flutter-3.8-candidate.10.json
index 94cd1be..c4c3a1b 100644
--- a/recipes/engine/engine.expected/linux_upload_publish_cipd_no_lto_flutter_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_upload_publish_cipd_no_lto_flutter_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_publish_cipd_no_lto_flutter_main.json b/recipes/engine/engine.expected/linux_upload_publish_cipd_no_lto_flutter_main.json
index 94cd1be..c4c3a1b 100644
--- a/recipes/engine/engine.expected/linux_upload_publish_cipd_no_lto_flutter_main.json
+++ b/recipes/engine/engine.expected/linux_upload_publish_cipd_no_lto_flutter_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_publish_cipd_no_lto_font_subset_flutter_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_upload_publish_cipd_no_lto_font_subset_flutter_flutter-3.8-candidate.10.json
index 94cd1be..c4c3a1b 100644
--- a/recipes/engine/engine.expected/linux_upload_publish_cipd_no_lto_font_subset_flutter_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_upload_publish_cipd_no_lto_font_subset_flutter_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_publish_cipd_no_lto_font_subset_flutter_main.json b/recipes/engine/engine.expected/linux_upload_publish_cipd_no_lto_font_subset_flutter_main.json
index 94cd1be..c4c3a1b 100644
--- a/recipes/engine/engine.expected/linux_upload_publish_cipd_no_lto_font_subset_flutter_main.json
+++ b/recipes/engine/engine.expected/linux_upload_publish_cipd_no_lto_font_subset_flutter_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_publish_cipd_no_lto_font_subset_prod_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_upload_publish_cipd_no_lto_font_subset_prod_flutter-3.8-candidate.10.json
index af488c9..8076e81 100644
--- a/recipes/engine/engine.expected/linux_upload_publish_cipd_no_lto_font_subset_prod_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_upload_publish_cipd_no_lto_font_subset_prod_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_publish_cipd_no_lto_font_subset_prod_main.json b/recipes/engine/engine.expected/linux_upload_publish_cipd_no_lto_font_subset_prod_main.json
index c2120a9..daff5d1 100644
--- a/recipes/engine/engine.expected/linux_upload_publish_cipd_no_lto_font_subset_prod_main.json
+++ b/recipes/engine/engine.expected/linux_upload_publish_cipd_no_lto_font_subset_prod_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_publish_cipd_no_lto_font_subset_staging_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_upload_publish_cipd_no_lto_font_subset_staging_flutter-3.8-candidate.10.json
index ac2f191..99cdfb3 100644
--- a/recipes/engine/engine.expected/linux_upload_publish_cipd_no_lto_font_subset_staging_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_upload_publish_cipd_no_lto_font_subset_staging_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_publish_cipd_no_lto_font_subset_staging_main.json b/recipes/engine/engine.expected/linux_upload_publish_cipd_no_lto_font_subset_staging_main.json
index 9735676..f91013e 100644
--- a/recipes/engine/engine.expected/linux_upload_publish_cipd_no_lto_font_subset_staging_main.json
+++ b/recipes/engine/engine.expected/linux_upload_publish_cipd_no_lto_font_subset_staging_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_publish_cipd_no_lto_prod_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_upload_publish_cipd_no_lto_prod_flutter-3.8-candidate.10.json
index af488c9..8076e81 100644
--- a/recipes/engine/engine.expected/linux_upload_publish_cipd_no_lto_prod_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_upload_publish_cipd_no_lto_prod_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_publish_cipd_no_lto_prod_main.json b/recipes/engine/engine.expected/linux_upload_publish_cipd_no_lto_prod_main.json
index c2120a9..daff5d1 100644
--- a/recipes/engine/engine.expected/linux_upload_publish_cipd_no_lto_prod_main.json
+++ b/recipes/engine/engine.expected/linux_upload_publish_cipd_no_lto_prod_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_publish_cipd_no_lto_staging_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_upload_publish_cipd_no_lto_staging_flutter-3.8-candidate.10.json
index ac2f191..99cdfb3 100644
--- a/recipes/engine/engine.expected/linux_upload_publish_cipd_no_lto_staging_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_upload_publish_cipd_no_lto_staging_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_publish_cipd_no_lto_staging_main.json b/recipes/engine/engine.expected/linux_upload_publish_cipd_no_lto_staging_main.json
index 9735676..f91013e 100644
--- a/recipes/engine/engine.expected/linux_upload_publish_cipd_no_lto_staging_main.json
+++ b/recipes/engine/engine.expected/linux_upload_publish_cipd_no_lto_staging_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_publish_cipd_prod_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_upload_publish_cipd_prod_flutter-3.8-candidate.10.json
index d3a82cf..ff990aa 100644
--- a/recipes/engine/engine.expected/linux_upload_publish_cipd_prod_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_upload_publish_cipd_prod_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_publish_cipd_prod_main.json b/recipes/engine/engine.expected/linux_upload_publish_cipd_prod_main.json
index f62d2d7..6bf7c73 100644
--- a/recipes/engine/engine.expected/linux_upload_publish_cipd_prod_main.json
+++ b/recipes/engine/engine.expected/linux_upload_publish_cipd_prod_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_publish_cipd_staging_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_upload_publish_cipd_staging_flutter-3.8-candidate.10.json
index b299f74..8914ccb 100644
--- a/recipes/engine/engine.expected/linux_upload_publish_cipd_staging_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_upload_publish_cipd_staging_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_publish_cipd_staging_main.json b/recipes/engine/engine.expected/linux_upload_publish_cipd_staging_main.json
index d7ecae3..745b18b 100644
--- a/recipes/engine/engine.expected/linux_upload_publish_cipd_staging_main.json
+++ b/recipes/engine/engine.expected/linux_upload_publish_cipd_staging_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_staging_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/linux_upload_staging_flutter-3.8-candidate.10.json
index 415cb90..463f067 100644
--- a/recipes/engine/engine.expected/linux_upload_staging_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/linux_upload_staging_flutter-3.8-candidate.10.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/linux_upload_staging_main.json b/recipes/engine/engine.expected/linux_upload_staging_main.json
index db7502c..d4675b4 100644
--- a/recipes/engine/engine.expected/linux_upload_staging_main.json
+++ b/recipes/engine/engine.expected/linux_upload_staging_main.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_flutter_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/mac_flutter_flutter-3.8-candidate.10.json
index c790af6..fd1199d 100644
--- a/recipes/engine/engine.expected/mac_flutter_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/mac_flutter_flutter-3.8-candidate.10.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_flutter_main.json b/recipes/engine/engine.expected/mac_flutter_main.json
index c790af6..fd1199d 100644
--- a/recipes/engine/engine.expected/mac_flutter_main.json
+++ b/recipes/engine/engine.expected/mac_flutter_main.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_font_subset_flutter_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/mac_font_subset_flutter_flutter-3.8-candidate.10.json
index c790af6..fd1199d 100644
--- a/recipes/engine/engine.expected/mac_font_subset_flutter_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/mac_font_subset_flutter_flutter-3.8-candidate.10.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_font_subset_flutter_main.json b/recipes/engine/engine.expected/mac_font_subset_flutter_main.json
index c790af6..fd1199d 100644
--- a/recipes/engine/engine.expected/mac_font_subset_flutter_main.json
+++ b/recipes/engine/engine.expected/mac_font_subset_flutter_main.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_font_subset_prod_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/mac_font_subset_prod_flutter-3.8-candidate.10.json
index c7dd5e8..8b7b66a 100644
--- a/recipes/engine/engine.expected/mac_font_subset_prod_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/mac_font_subset_prod_flutter-3.8-candidate.10.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_font_subset_prod_main.json b/recipes/engine/engine.expected/mac_font_subset_prod_main.json
index bae57f3..4bbe9c3 100644
--- a/recipes/engine/engine.expected/mac_font_subset_prod_main.json
+++ b/recipes/engine/engine.expected/mac_font_subset_prod_main.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_font_subset_staging_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/mac_font_subset_staging_flutter-3.8-candidate.10.json
index e64593f..cdad463 100644
--- a/recipes/engine/engine.expected/mac_font_subset_staging_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/mac_font_subset_staging_flutter-3.8-candidate.10.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_font_subset_staging_main.json b/recipes/engine/engine.expected/mac_font_subset_staging_main.json
index 352f4f3..b86e8f1 100644
--- a/recipes/engine/engine.expected/mac_font_subset_staging_main.json
+++ b/recipes/engine/engine.expected/mac_font_subset_staging_main.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_no_lto_flutter_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/mac_no_lto_flutter_flutter-3.8-candidate.10.json
index 65015ee..fc50761 100644
--- a/recipes/engine/engine.expected/mac_no_lto_flutter_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/mac_no_lto_flutter_flutter-3.8-candidate.10.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_no_lto_flutter_main.json b/recipes/engine/engine.expected/mac_no_lto_flutter_main.json
index 65015ee..fc50761 100644
--- a/recipes/engine/engine.expected/mac_no_lto_flutter_main.json
+++ b/recipes/engine/engine.expected/mac_no_lto_flutter_main.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_no_lto_font_subset_flutter_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/mac_no_lto_font_subset_flutter_flutter-3.8-candidate.10.json
index 65015ee..fc50761 100644
--- a/recipes/engine/engine.expected/mac_no_lto_font_subset_flutter_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/mac_no_lto_font_subset_flutter_flutter-3.8-candidate.10.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_no_lto_font_subset_flutter_main.json b/recipes/engine/engine.expected/mac_no_lto_font_subset_flutter_main.json
index 65015ee..fc50761 100644
--- a/recipes/engine/engine.expected/mac_no_lto_font_subset_flutter_main.json
+++ b/recipes/engine/engine.expected/mac_no_lto_font_subset_flutter_main.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_no_lto_font_subset_prod_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/mac_no_lto_font_subset_prod_flutter-3.8-candidate.10.json
index dade492..972a358 100644
--- a/recipes/engine/engine.expected/mac_no_lto_font_subset_prod_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/mac_no_lto_font_subset_prod_flutter-3.8-candidate.10.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_no_lto_font_subset_prod_main.json b/recipes/engine/engine.expected/mac_no_lto_font_subset_prod_main.json
index 7214dcd..86ec8f1 100644
--- a/recipes/engine/engine.expected/mac_no_lto_font_subset_prod_main.json
+++ b/recipes/engine/engine.expected/mac_no_lto_font_subset_prod_main.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_no_lto_font_subset_staging_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/mac_no_lto_font_subset_staging_flutter-3.8-candidate.10.json
index 53ae44f..06fb330 100644
--- a/recipes/engine/engine.expected/mac_no_lto_font_subset_staging_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/mac_no_lto_font_subset_staging_flutter-3.8-candidate.10.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_no_lto_font_subset_staging_main.json b/recipes/engine/engine.expected/mac_no_lto_font_subset_staging_main.json
index 975551f..582b792 100644
--- a/recipes/engine/engine.expected/mac_no_lto_font_subset_staging_main.json
+++ b/recipes/engine/engine.expected/mac_no_lto_font_subset_staging_main.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_no_lto_prod_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/mac_no_lto_prod_flutter-3.8-candidate.10.json
index dade492..972a358 100644
--- a/recipes/engine/engine.expected/mac_no_lto_prod_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/mac_no_lto_prod_flutter-3.8-candidate.10.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_no_lto_prod_main.json b/recipes/engine/engine.expected/mac_no_lto_prod_main.json
index 7214dcd..86ec8f1 100644
--- a/recipes/engine/engine.expected/mac_no_lto_prod_main.json
+++ b/recipes/engine/engine.expected/mac_no_lto_prod_main.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_no_lto_staging_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/mac_no_lto_staging_flutter-3.8-candidate.10.json
index 53ae44f..06fb330 100644
--- a/recipes/engine/engine.expected/mac_no_lto_staging_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/mac_no_lto_staging_flutter-3.8-candidate.10.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_no_lto_staging_main.json b/recipes/engine/engine.expected/mac_no_lto_staging_main.json
index 975551f..582b792 100644
--- a/recipes/engine/engine.expected/mac_no_lto_staging_main.json
+++ b/recipes/engine/engine.expected/mac_no_lto_staging_main.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_prod_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/mac_prod_flutter-3.8-candidate.10.json
index c7dd5e8..8b7b66a 100644
--- a/recipes/engine/engine.expected/mac_prod_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/mac_prod_flutter-3.8-candidate.10.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_prod_main.json b/recipes/engine/engine.expected/mac_prod_main.json
index bae57f3..4bbe9c3 100644
--- a/recipes/engine/engine.expected/mac_prod_main.json
+++ b/recipes/engine/engine.expected/mac_prod_main.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_publish_cipd_flutter_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/mac_publish_cipd_flutter_flutter-3.8-candidate.10.json
index c790af6..fd1199d 100644
--- a/recipes/engine/engine.expected/mac_publish_cipd_flutter_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/mac_publish_cipd_flutter_flutter-3.8-candidate.10.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_publish_cipd_flutter_main.json b/recipes/engine/engine.expected/mac_publish_cipd_flutter_main.json
index c790af6..fd1199d 100644
--- a/recipes/engine/engine.expected/mac_publish_cipd_flutter_main.json
+++ b/recipes/engine/engine.expected/mac_publish_cipd_flutter_main.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_publish_cipd_font_subset_flutter_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/mac_publish_cipd_font_subset_flutter_flutter-3.8-candidate.10.json
index c790af6..fd1199d 100644
--- a/recipes/engine/engine.expected/mac_publish_cipd_font_subset_flutter_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/mac_publish_cipd_font_subset_flutter_flutter-3.8-candidate.10.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_publish_cipd_font_subset_flutter_main.json b/recipes/engine/engine.expected/mac_publish_cipd_font_subset_flutter_main.json
index c790af6..fd1199d 100644
--- a/recipes/engine/engine.expected/mac_publish_cipd_font_subset_flutter_main.json
+++ b/recipes/engine/engine.expected/mac_publish_cipd_font_subset_flutter_main.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_publish_cipd_font_subset_prod_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/mac_publish_cipd_font_subset_prod_flutter-3.8-candidate.10.json
index c7dd5e8..8b7b66a 100644
--- a/recipes/engine/engine.expected/mac_publish_cipd_font_subset_prod_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/mac_publish_cipd_font_subset_prod_flutter-3.8-candidate.10.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_publish_cipd_font_subset_prod_main.json b/recipes/engine/engine.expected/mac_publish_cipd_font_subset_prod_main.json
index bae57f3..4bbe9c3 100644
--- a/recipes/engine/engine.expected/mac_publish_cipd_font_subset_prod_main.json
+++ b/recipes/engine/engine.expected/mac_publish_cipd_font_subset_prod_main.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_publish_cipd_font_subset_staging_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/mac_publish_cipd_font_subset_staging_flutter-3.8-candidate.10.json
index e64593f..cdad463 100644
--- a/recipes/engine/engine.expected/mac_publish_cipd_font_subset_staging_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/mac_publish_cipd_font_subset_staging_flutter-3.8-candidate.10.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_publish_cipd_font_subset_staging_main.json b/recipes/engine/engine.expected/mac_publish_cipd_font_subset_staging_main.json
index 352f4f3..b86e8f1 100644
--- a/recipes/engine/engine.expected/mac_publish_cipd_font_subset_staging_main.json
+++ b/recipes/engine/engine.expected/mac_publish_cipd_font_subset_staging_main.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_publish_cipd_no_lto_flutter_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/mac_publish_cipd_no_lto_flutter_flutter-3.8-candidate.10.json
index 65015ee..fc50761 100644
--- a/recipes/engine/engine.expected/mac_publish_cipd_no_lto_flutter_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/mac_publish_cipd_no_lto_flutter_flutter-3.8-candidate.10.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_publish_cipd_no_lto_flutter_main.json b/recipes/engine/engine.expected/mac_publish_cipd_no_lto_flutter_main.json
index 65015ee..fc50761 100644
--- a/recipes/engine/engine.expected/mac_publish_cipd_no_lto_flutter_main.json
+++ b/recipes/engine/engine.expected/mac_publish_cipd_no_lto_flutter_main.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_publish_cipd_no_lto_font_subset_flutter_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/mac_publish_cipd_no_lto_font_subset_flutter_flutter-3.8-candidate.10.json
index 65015ee..fc50761 100644
--- a/recipes/engine/engine.expected/mac_publish_cipd_no_lto_font_subset_flutter_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/mac_publish_cipd_no_lto_font_subset_flutter_flutter-3.8-candidate.10.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_publish_cipd_no_lto_font_subset_flutter_main.json b/recipes/engine/engine.expected/mac_publish_cipd_no_lto_font_subset_flutter_main.json
index 65015ee..fc50761 100644
--- a/recipes/engine/engine.expected/mac_publish_cipd_no_lto_font_subset_flutter_main.json
+++ b/recipes/engine/engine.expected/mac_publish_cipd_no_lto_font_subset_flutter_main.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_publish_cipd_no_lto_font_subset_prod_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/mac_publish_cipd_no_lto_font_subset_prod_flutter-3.8-candidate.10.json
index dade492..972a358 100644
--- a/recipes/engine/engine.expected/mac_publish_cipd_no_lto_font_subset_prod_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/mac_publish_cipd_no_lto_font_subset_prod_flutter-3.8-candidate.10.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_publish_cipd_no_lto_font_subset_prod_main.json b/recipes/engine/engine.expected/mac_publish_cipd_no_lto_font_subset_prod_main.json
index 7214dcd..86ec8f1 100644
--- a/recipes/engine/engine.expected/mac_publish_cipd_no_lto_font_subset_prod_main.json
+++ b/recipes/engine/engine.expected/mac_publish_cipd_no_lto_font_subset_prod_main.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_publish_cipd_no_lto_font_subset_staging_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/mac_publish_cipd_no_lto_font_subset_staging_flutter-3.8-candidate.10.json
index 53ae44f..06fb330 100644
--- a/recipes/engine/engine.expected/mac_publish_cipd_no_lto_font_subset_staging_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/mac_publish_cipd_no_lto_font_subset_staging_flutter-3.8-candidate.10.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_publish_cipd_no_lto_font_subset_staging_main.json b/recipes/engine/engine.expected/mac_publish_cipd_no_lto_font_subset_staging_main.json
index 975551f..582b792 100644
--- a/recipes/engine/engine.expected/mac_publish_cipd_no_lto_font_subset_staging_main.json
+++ b/recipes/engine/engine.expected/mac_publish_cipd_no_lto_font_subset_staging_main.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_publish_cipd_no_lto_prod_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/mac_publish_cipd_no_lto_prod_flutter-3.8-candidate.10.json
index dade492..972a358 100644
--- a/recipes/engine/engine.expected/mac_publish_cipd_no_lto_prod_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/mac_publish_cipd_no_lto_prod_flutter-3.8-candidate.10.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_publish_cipd_no_lto_prod_main.json b/recipes/engine/engine.expected/mac_publish_cipd_no_lto_prod_main.json
index 7214dcd..86ec8f1 100644
--- a/recipes/engine/engine.expected/mac_publish_cipd_no_lto_prod_main.json
+++ b/recipes/engine/engine.expected/mac_publish_cipd_no_lto_prod_main.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_publish_cipd_no_lto_staging_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/mac_publish_cipd_no_lto_staging_flutter-3.8-candidate.10.json
index 53ae44f..06fb330 100644
--- a/recipes/engine/engine.expected/mac_publish_cipd_no_lto_staging_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/mac_publish_cipd_no_lto_staging_flutter-3.8-candidate.10.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_publish_cipd_no_lto_staging_main.json b/recipes/engine/engine.expected/mac_publish_cipd_no_lto_staging_main.json
index 975551f..582b792 100644
--- a/recipes/engine/engine.expected/mac_publish_cipd_no_lto_staging_main.json
+++ b/recipes/engine/engine.expected/mac_publish_cipd_no_lto_staging_main.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_publish_cipd_prod_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/mac_publish_cipd_prod_flutter-3.8-candidate.10.json
index c7dd5e8..8b7b66a 100644
--- a/recipes/engine/engine.expected/mac_publish_cipd_prod_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/mac_publish_cipd_prod_flutter-3.8-candidate.10.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_publish_cipd_prod_main.json b/recipes/engine/engine.expected/mac_publish_cipd_prod_main.json
index bae57f3..4bbe9c3 100644
--- a/recipes/engine/engine.expected/mac_publish_cipd_prod_main.json
+++ b/recipes/engine/engine.expected/mac_publish_cipd_prod_main.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_publish_cipd_staging_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/mac_publish_cipd_staging_flutter-3.8-candidate.10.json
index e64593f..cdad463 100644
--- a/recipes/engine/engine.expected/mac_publish_cipd_staging_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/mac_publish_cipd_staging_flutter-3.8-candidate.10.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_publish_cipd_staging_main.json b/recipes/engine/engine.expected/mac_publish_cipd_staging_main.json
index 352f4f3..b86e8f1 100644
--- a/recipes/engine/engine.expected/mac_publish_cipd_staging_main.json
+++ b/recipes/engine/engine.expected/mac_publish_cipd_staging_main.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_staging_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/mac_staging_flutter-3.8-candidate.10.json
index e64593f..cdad463 100644
--- a/recipes/engine/engine.expected/mac_staging_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/mac_staging_flutter-3.8-candidate.10.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_staging_main.json b/recipes/engine/engine.expected/mac_staging_main.json
index 352f4f3..b86e8f1 100644
--- a/recipes/engine/engine.expected/mac_staging_main.json
+++ b/recipes/engine/engine.expected/mac_staging_main.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_upload_flutter_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/mac_upload_flutter_flutter-3.8-candidate.10.json
index 7db2b0f..91c91c2 100644
--- a/recipes/engine/engine.expected/mac_upload_flutter_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/mac_upload_flutter_flutter-3.8-candidate.10.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_upload_flutter_main.json b/recipes/engine/engine.expected/mac_upload_flutter_main.json
index 7db2b0f..91c91c2 100644
--- a/recipes/engine/engine.expected/mac_upload_flutter_main.json
+++ b/recipes/engine/engine.expected/mac_upload_flutter_main.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_upload_font_subset_flutter_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/mac_upload_font_subset_flutter_flutter-3.8-candidate.10.json
index 7db2b0f..91c91c2 100644
--- a/recipes/engine/engine.expected/mac_upload_font_subset_flutter_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/mac_upload_font_subset_flutter_flutter-3.8-candidate.10.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_upload_font_subset_flutter_main.json b/recipes/engine/engine.expected/mac_upload_font_subset_flutter_main.json
index 7db2b0f..91c91c2 100644
--- a/recipes/engine/engine.expected/mac_upload_font_subset_flutter_main.json
+++ b/recipes/engine/engine.expected/mac_upload_font_subset_flutter_main.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_upload_font_subset_prod_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/mac_upload_font_subset_prod_flutter-3.8-candidate.10.json
index d5998f7..4c6736f 100644
--- a/recipes/engine/engine.expected/mac_upload_font_subset_prod_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/mac_upload_font_subset_prod_flutter-3.8-candidate.10.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_upload_font_subset_prod_main.json b/recipes/engine/engine.expected/mac_upload_font_subset_prod_main.json
index 1b39746..0f58a28 100644
--- a/recipes/engine/engine.expected/mac_upload_font_subset_prod_main.json
+++ b/recipes/engine/engine.expected/mac_upload_font_subset_prod_main.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_upload_font_subset_staging_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/mac_upload_font_subset_staging_flutter-3.8-candidate.10.json
index d7967ea..d81a669 100644
--- a/recipes/engine/engine.expected/mac_upload_font_subset_staging_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/mac_upload_font_subset_staging_flutter-3.8-candidate.10.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_upload_font_subset_staging_main.json b/recipes/engine/engine.expected/mac_upload_font_subset_staging_main.json
index 0d21195..dd8b0f1 100644
--- a/recipes/engine/engine.expected/mac_upload_font_subset_staging_main.json
+++ b/recipes/engine/engine.expected/mac_upload_font_subset_staging_main.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_upload_no_lto_flutter_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/mac_upload_no_lto_flutter_flutter-3.8-candidate.10.json
index 617a77f..523f6ec 100644
--- a/recipes/engine/engine.expected/mac_upload_no_lto_flutter_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/mac_upload_no_lto_flutter_flutter-3.8-candidate.10.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_upload_no_lto_flutter_main.json b/recipes/engine/engine.expected/mac_upload_no_lto_flutter_main.json
index 617a77f..523f6ec 100644
--- a/recipes/engine/engine.expected/mac_upload_no_lto_flutter_main.json
+++ b/recipes/engine/engine.expected/mac_upload_no_lto_flutter_main.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_upload_no_lto_font_subset_flutter_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/mac_upload_no_lto_font_subset_flutter_flutter-3.8-candidate.10.json
index 617a77f..523f6ec 100644
--- a/recipes/engine/engine.expected/mac_upload_no_lto_font_subset_flutter_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/mac_upload_no_lto_font_subset_flutter_flutter-3.8-candidate.10.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_upload_no_lto_font_subset_flutter_main.json b/recipes/engine/engine.expected/mac_upload_no_lto_font_subset_flutter_main.json
index 617a77f..523f6ec 100644
--- a/recipes/engine/engine.expected/mac_upload_no_lto_font_subset_flutter_main.json
+++ b/recipes/engine/engine.expected/mac_upload_no_lto_font_subset_flutter_main.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_upload_no_lto_font_subset_prod_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/mac_upload_no_lto_font_subset_prod_flutter-3.8-candidate.10.json
index ef36622..8d334c0 100644
--- a/recipes/engine/engine.expected/mac_upload_no_lto_font_subset_prod_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/mac_upload_no_lto_font_subset_prod_flutter-3.8-candidate.10.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_upload_no_lto_font_subset_prod_main.json b/recipes/engine/engine.expected/mac_upload_no_lto_font_subset_prod_main.json
index 53fe60c..8b1627c 100644
--- a/recipes/engine/engine.expected/mac_upload_no_lto_font_subset_prod_main.json
+++ b/recipes/engine/engine.expected/mac_upload_no_lto_font_subset_prod_main.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_upload_no_lto_font_subset_staging_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/mac_upload_no_lto_font_subset_staging_flutter-3.8-candidate.10.json
index 450904a..22022d2 100644
--- a/recipes/engine/engine.expected/mac_upload_no_lto_font_subset_staging_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/mac_upload_no_lto_font_subset_staging_flutter-3.8-candidate.10.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_upload_no_lto_font_subset_staging_main.json b/recipes/engine/engine.expected/mac_upload_no_lto_font_subset_staging_main.json
index 900e0df..64b2d20 100644
--- a/recipes/engine/engine.expected/mac_upload_no_lto_font_subset_staging_main.json
+++ b/recipes/engine/engine.expected/mac_upload_no_lto_font_subset_staging_main.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_upload_no_lto_prod_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/mac_upload_no_lto_prod_flutter-3.8-candidate.10.json
index ef36622..8d334c0 100644
--- a/recipes/engine/engine.expected/mac_upload_no_lto_prod_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/mac_upload_no_lto_prod_flutter-3.8-candidate.10.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_upload_no_lto_prod_main.json b/recipes/engine/engine.expected/mac_upload_no_lto_prod_main.json
index 53fe60c..8b1627c 100644
--- a/recipes/engine/engine.expected/mac_upload_no_lto_prod_main.json
+++ b/recipes/engine/engine.expected/mac_upload_no_lto_prod_main.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_upload_no_lto_staging_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/mac_upload_no_lto_staging_flutter-3.8-candidate.10.json
index 450904a..22022d2 100644
--- a/recipes/engine/engine.expected/mac_upload_no_lto_staging_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/mac_upload_no_lto_staging_flutter-3.8-candidate.10.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_upload_no_lto_staging_main.json b/recipes/engine/engine.expected/mac_upload_no_lto_staging_main.json
index 900e0df..64b2d20 100644
--- a/recipes/engine/engine.expected/mac_upload_no_lto_staging_main.json
+++ b/recipes/engine/engine.expected/mac_upload_no_lto_staging_main.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_upload_prod_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/mac_upload_prod_flutter-3.8-candidate.10.json
index d5998f7..4c6736f 100644
--- a/recipes/engine/engine.expected/mac_upload_prod_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/mac_upload_prod_flutter-3.8-candidate.10.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_upload_prod_main.json b/recipes/engine/engine.expected/mac_upload_prod_main.json
index 1b39746..0f58a28 100644
--- a/recipes/engine/engine.expected/mac_upload_prod_main.json
+++ b/recipes/engine/engine.expected/mac_upload_prod_main.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_upload_publish_cipd_flutter_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/mac_upload_publish_cipd_flutter_flutter-3.8-candidate.10.json
index 7db2b0f..91c91c2 100644
--- a/recipes/engine/engine.expected/mac_upload_publish_cipd_flutter_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/mac_upload_publish_cipd_flutter_flutter-3.8-candidate.10.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_upload_publish_cipd_flutter_main.json b/recipes/engine/engine.expected/mac_upload_publish_cipd_flutter_main.json
index 7db2b0f..91c91c2 100644
--- a/recipes/engine/engine.expected/mac_upload_publish_cipd_flutter_main.json
+++ b/recipes/engine/engine.expected/mac_upload_publish_cipd_flutter_main.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_upload_publish_cipd_font_subset_flutter_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/mac_upload_publish_cipd_font_subset_flutter_flutter-3.8-candidate.10.json
index 7db2b0f..91c91c2 100644
--- a/recipes/engine/engine.expected/mac_upload_publish_cipd_font_subset_flutter_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/mac_upload_publish_cipd_font_subset_flutter_flutter-3.8-candidate.10.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_upload_publish_cipd_font_subset_flutter_main.json b/recipes/engine/engine.expected/mac_upload_publish_cipd_font_subset_flutter_main.json
index 7db2b0f..91c91c2 100644
--- a/recipes/engine/engine.expected/mac_upload_publish_cipd_font_subset_flutter_main.json
+++ b/recipes/engine/engine.expected/mac_upload_publish_cipd_font_subset_flutter_main.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_upload_publish_cipd_font_subset_prod_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/mac_upload_publish_cipd_font_subset_prod_flutter-3.8-candidate.10.json
index d5998f7..4c6736f 100644
--- a/recipes/engine/engine.expected/mac_upload_publish_cipd_font_subset_prod_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/mac_upload_publish_cipd_font_subset_prod_flutter-3.8-candidate.10.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_upload_publish_cipd_font_subset_prod_main.json b/recipes/engine/engine.expected/mac_upload_publish_cipd_font_subset_prod_main.json
index 1b39746..0f58a28 100644
--- a/recipes/engine/engine.expected/mac_upload_publish_cipd_font_subset_prod_main.json
+++ b/recipes/engine/engine.expected/mac_upload_publish_cipd_font_subset_prod_main.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_upload_publish_cipd_font_subset_staging_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/mac_upload_publish_cipd_font_subset_staging_flutter-3.8-candidate.10.json
index d7967ea..d81a669 100644
--- a/recipes/engine/engine.expected/mac_upload_publish_cipd_font_subset_staging_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/mac_upload_publish_cipd_font_subset_staging_flutter-3.8-candidate.10.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_upload_publish_cipd_font_subset_staging_main.json b/recipes/engine/engine.expected/mac_upload_publish_cipd_font_subset_staging_main.json
index 0d21195..dd8b0f1 100644
--- a/recipes/engine/engine.expected/mac_upload_publish_cipd_font_subset_staging_main.json
+++ b/recipes/engine/engine.expected/mac_upload_publish_cipd_font_subset_staging_main.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_upload_publish_cipd_no_lto_flutter_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/mac_upload_publish_cipd_no_lto_flutter_flutter-3.8-candidate.10.json
index 617a77f..523f6ec 100644
--- a/recipes/engine/engine.expected/mac_upload_publish_cipd_no_lto_flutter_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/mac_upload_publish_cipd_no_lto_flutter_flutter-3.8-candidate.10.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_upload_publish_cipd_no_lto_flutter_main.json b/recipes/engine/engine.expected/mac_upload_publish_cipd_no_lto_flutter_main.json
index 617a77f..523f6ec 100644
--- a/recipes/engine/engine.expected/mac_upload_publish_cipd_no_lto_flutter_main.json
+++ b/recipes/engine/engine.expected/mac_upload_publish_cipd_no_lto_flutter_main.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_upload_publish_cipd_no_lto_font_subset_flutter_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/mac_upload_publish_cipd_no_lto_font_subset_flutter_flutter-3.8-candidate.10.json
index 617a77f..523f6ec 100644
--- a/recipes/engine/engine.expected/mac_upload_publish_cipd_no_lto_font_subset_flutter_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/mac_upload_publish_cipd_no_lto_font_subset_flutter_flutter-3.8-candidate.10.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_upload_publish_cipd_no_lto_font_subset_flutter_main.json b/recipes/engine/engine.expected/mac_upload_publish_cipd_no_lto_font_subset_flutter_main.json
index 617a77f..523f6ec 100644
--- a/recipes/engine/engine.expected/mac_upload_publish_cipd_no_lto_font_subset_flutter_main.json
+++ b/recipes/engine/engine.expected/mac_upload_publish_cipd_no_lto_font_subset_flutter_main.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_upload_publish_cipd_no_lto_font_subset_prod_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/mac_upload_publish_cipd_no_lto_font_subset_prod_flutter-3.8-candidate.10.json
index ef36622..8d334c0 100644
--- a/recipes/engine/engine.expected/mac_upload_publish_cipd_no_lto_font_subset_prod_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/mac_upload_publish_cipd_no_lto_font_subset_prod_flutter-3.8-candidate.10.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_upload_publish_cipd_no_lto_font_subset_prod_main.json b/recipes/engine/engine.expected/mac_upload_publish_cipd_no_lto_font_subset_prod_main.json
index 53fe60c..8b1627c 100644
--- a/recipes/engine/engine.expected/mac_upload_publish_cipd_no_lto_font_subset_prod_main.json
+++ b/recipes/engine/engine.expected/mac_upload_publish_cipd_no_lto_font_subset_prod_main.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_upload_publish_cipd_no_lto_font_subset_staging_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/mac_upload_publish_cipd_no_lto_font_subset_staging_flutter-3.8-candidate.10.json
index 450904a..22022d2 100644
--- a/recipes/engine/engine.expected/mac_upload_publish_cipd_no_lto_font_subset_staging_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/mac_upload_publish_cipd_no_lto_font_subset_staging_flutter-3.8-candidate.10.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_upload_publish_cipd_no_lto_font_subset_staging_main.json b/recipes/engine/engine.expected/mac_upload_publish_cipd_no_lto_font_subset_staging_main.json
index 900e0df..64b2d20 100644
--- a/recipes/engine/engine.expected/mac_upload_publish_cipd_no_lto_font_subset_staging_main.json
+++ b/recipes/engine/engine.expected/mac_upload_publish_cipd_no_lto_font_subset_staging_main.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_upload_publish_cipd_no_lto_prod_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/mac_upload_publish_cipd_no_lto_prod_flutter-3.8-candidate.10.json
index ef36622..8d334c0 100644
--- a/recipes/engine/engine.expected/mac_upload_publish_cipd_no_lto_prod_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/mac_upload_publish_cipd_no_lto_prod_flutter-3.8-candidate.10.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_upload_publish_cipd_no_lto_prod_main.json b/recipes/engine/engine.expected/mac_upload_publish_cipd_no_lto_prod_main.json
index 53fe60c..8b1627c 100644
--- a/recipes/engine/engine.expected/mac_upload_publish_cipd_no_lto_prod_main.json
+++ b/recipes/engine/engine.expected/mac_upload_publish_cipd_no_lto_prod_main.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_upload_publish_cipd_no_lto_staging_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/mac_upload_publish_cipd_no_lto_staging_flutter-3.8-candidate.10.json
index 450904a..22022d2 100644
--- a/recipes/engine/engine.expected/mac_upload_publish_cipd_no_lto_staging_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/mac_upload_publish_cipd_no_lto_staging_flutter-3.8-candidate.10.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_upload_publish_cipd_no_lto_staging_main.json b/recipes/engine/engine.expected/mac_upload_publish_cipd_no_lto_staging_main.json
index 900e0df..64b2d20 100644
--- a/recipes/engine/engine.expected/mac_upload_publish_cipd_no_lto_staging_main.json
+++ b/recipes/engine/engine.expected/mac_upload_publish_cipd_no_lto_staging_main.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_upload_publish_cipd_prod_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/mac_upload_publish_cipd_prod_flutter-3.8-candidate.10.json
index d5998f7..4c6736f 100644
--- a/recipes/engine/engine.expected/mac_upload_publish_cipd_prod_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/mac_upload_publish_cipd_prod_flutter-3.8-candidate.10.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_upload_publish_cipd_prod_main.json b/recipes/engine/engine.expected/mac_upload_publish_cipd_prod_main.json
index 1b39746..0f58a28 100644
--- a/recipes/engine/engine.expected/mac_upload_publish_cipd_prod_main.json
+++ b/recipes/engine/engine.expected/mac_upload_publish_cipd_prod_main.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_upload_publish_cipd_staging_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/mac_upload_publish_cipd_staging_flutter-3.8-candidate.10.json
index d7967ea..d81a669 100644
--- a/recipes/engine/engine.expected/mac_upload_publish_cipd_staging_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/mac_upload_publish_cipd_staging_flutter-3.8-candidate.10.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_upload_publish_cipd_staging_main.json b/recipes/engine/engine.expected/mac_upload_publish_cipd_staging_main.json
index 0d21195..dd8b0f1 100644
--- a/recipes/engine/engine.expected/mac_upload_publish_cipd_staging_main.json
+++ b/recipes/engine/engine.expected/mac_upload_publish_cipd_staging_main.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_upload_staging_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/mac_upload_staging_flutter-3.8-candidate.10.json
index d7967ea..d81a669 100644
--- a/recipes/engine/engine.expected/mac_upload_staging_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/mac_upload_staging_flutter-3.8-candidate.10.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/mac_upload_staging_main.json b/recipes/engine/engine.expected/mac_upload_staging_main.json
index 0d21195..dd8b0f1 100644
--- a/recipes/engine/engine.expected/mac_upload_staging_main.json
+++ b/recipes/engine/engine.expected/mac_upload_staging_main.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/pull_request.json b/recipes/engine/engine.expected/pull_request.json
index f14493f..64187cc 100644
--- a/recipes/engine/engine.expected/pull_request.json
+++ b/recipes/engine/engine.expected/pull_request.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_flutter_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/win_flutter_flutter-3.8-candidate.10.json
index 6f51c95..2e4fb59 100644
--- a/recipes/engine/engine.expected/win_flutter_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/win_flutter_flutter-3.8-candidate.10.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_flutter_main.json b/recipes/engine/engine.expected/win_flutter_main.json
index 6f51c95..2e4fb59 100644
--- a/recipes/engine/engine.expected/win_flutter_main.json
+++ b/recipes/engine/engine.expected/win_flutter_main.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_font_subset_flutter_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/win_font_subset_flutter_flutter-3.8-candidate.10.json
index 6f51c95..2e4fb59 100644
--- a/recipes/engine/engine.expected/win_font_subset_flutter_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/win_font_subset_flutter_flutter-3.8-candidate.10.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_font_subset_flutter_main.json b/recipes/engine/engine.expected/win_font_subset_flutter_main.json
index 6f51c95..2e4fb59 100644
--- a/recipes/engine/engine.expected/win_font_subset_flutter_main.json
+++ b/recipes/engine/engine.expected/win_font_subset_flutter_main.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_font_subset_prod_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/win_font_subset_prod_flutter-3.8-candidate.10.json
index caf6400..00dc094 100644
--- a/recipes/engine/engine.expected/win_font_subset_prod_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/win_font_subset_prod_flutter-3.8-candidate.10.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_font_subset_prod_main.json b/recipes/engine/engine.expected/win_font_subset_prod_main.json
index 875afcb..93e6497 100644
--- a/recipes/engine/engine.expected/win_font_subset_prod_main.json
+++ b/recipes/engine/engine.expected/win_font_subset_prod_main.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_font_subset_staging_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/win_font_subset_staging_flutter-3.8-candidate.10.json
index 354bc3c..25acff1 100644
--- a/recipes/engine/engine.expected/win_font_subset_staging_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/win_font_subset_staging_flutter-3.8-candidate.10.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_font_subset_staging_main.json b/recipes/engine/engine.expected/win_font_subset_staging_main.json
index cd37c6e..431d59e 100644
--- a/recipes/engine/engine.expected/win_font_subset_staging_main.json
+++ b/recipes/engine/engine.expected/win_font_subset_staging_main.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_no_lto_flutter_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/win_no_lto_flutter_flutter-3.8-candidate.10.json
index 77cf73c..7b1f359 100644
--- a/recipes/engine/engine.expected/win_no_lto_flutter_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/win_no_lto_flutter_flutter-3.8-candidate.10.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_no_lto_flutter_main.json b/recipes/engine/engine.expected/win_no_lto_flutter_main.json
index 77cf73c..7b1f359 100644
--- a/recipes/engine/engine.expected/win_no_lto_flutter_main.json
+++ b/recipes/engine/engine.expected/win_no_lto_flutter_main.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_no_lto_font_subset_flutter_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/win_no_lto_font_subset_flutter_flutter-3.8-candidate.10.json
index 77cf73c..7b1f359 100644
--- a/recipes/engine/engine.expected/win_no_lto_font_subset_flutter_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/win_no_lto_font_subset_flutter_flutter-3.8-candidate.10.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_no_lto_font_subset_flutter_main.json b/recipes/engine/engine.expected/win_no_lto_font_subset_flutter_main.json
index 77cf73c..7b1f359 100644
--- a/recipes/engine/engine.expected/win_no_lto_font_subset_flutter_main.json
+++ b/recipes/engine/engine.expected/win_no_lto_font_subset_flutter_main.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_no_lto_font_subset_prod_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/win_no_lto_font_subset_prod_flutter-3.8-candidate.10.json
index 9c0f07f..5104e32 100644
--- a/recipes/engine/engine.expected/win_no_lto_font_subset_prod_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/win_no_lto_font_subset_prod_flutter-3.8-candidate.10.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_no_lto_font_subset_prod_main.json b/recipes/engine/engine.expected/win_no_lto_font_subset_prod_main.json
index 96344ff..96c9964 100644
--- a/recipes/engine/engine.expected/win_no_lto_font_subset_prod_main.json
+++ b/recipes/engine/engine.expected/win_no_lto_font_subset_prod_main.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_no_lto_font_subset_staging_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/win_no_lto_font_subset_staging_flutter-3.8-candidate.10.json
index f6f4f4f..ea14c11 100644
--- a/recipes/engine/engine.expected/win_no_lto_font_subset_staging_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/win_no_lto_font_subset_staging_flutter-3.8-candidate.10.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_no_lto_font_subset_staging_main.json b/recipes/engine/engine.expected/win_no_lto_font_subset_staging_main.json
index 677f430..2b7d492 100644
--- a/recipes/engine/engine.expected/win_no_lto_font_subset_staging_main.json
+++ b/recipes/engine/engine.expected/win_no_lto_font_subset_staging_main.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_no_lto_prod_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/win_no_lto_prod_flutter-3.8-candidate.10.json
index 9c0f07f..5104e32 100644
--- a/recipes/engine/engine.expected/win_no_lto_prod_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/win_no_lto_prod_flutter-3.8-candidate.10.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_no_lto_prod_main.json b/recipes/engine/engine.expected/win_no_lto_prod_main.json
index 96344ff..96c9964 100644
--- a/recipes/engine/engine.expected/win_no_lto_prod_main.json
+++ b/recipes/engine/engine.expected/win_no_lto_prod_main.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_no_lto_staging_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/win_no_lto_staging_flutter-3.8-candidate.10.json
index f6f4f4f..ea14c11 100644
--- a/recipes/engine/engine.expected/win_no_lto_staging_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/win_no_lto_staging_flutter-3.8-candidate.10.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_no_lto_staging_main.json b/recipes/engine/engine.expected/win_no_lto_staging_main.json
index 677f430..2b7d492 100644
--- a/recipes/engine/engine.expected/win_no_lto_staging_main.json
+++ b/recipes/engine/engine.expected/win_no_lto_staging_main.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_prod_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/win_prod_flutter-3.8-candidate.10.json
index caf6400..00dc094 100644
--- a/recipes/engine/engine.expected/win_prod_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/win_prod_flutter-3.8-candidate.10.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_prod_main.json b/recipes/engine/engine.expected/win_prod_main.json
index 875afcb..93e6497 100644
--- a/recipes/engine/engine.expected/win_prod_main.json
+++ b/recipes/engine/engine.expected/win_prod_main.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_publish_cipd_flutter_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/win_publish_cipd_flutter_flutter-3.8-candidate.10.json
index 6f51c95..2e4fb59 100644
--- a/recipes/engine/engine.expected/win_publish_cipd_flutter_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/win_publish_cipd_flutter_flutter-3.8-candidate.10.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_publish_cipd_flutter_main.json b/recipes/engine/engine.expected/win_publish_cipd_flutter_main.json
index 6f51c95..2e4fb59 100644
--- a/recipes/engine/engine.expected/win_publish_cipd_flutter_main.json
+++ b/recipes/engine/engine.expected/win_publish_cipd_flutter_main.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_publish_cipd_font_subset_flutter_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/win_publish_cipd_font_subset_flutter_flutter-3.8-candidate.10.json
index 6f51c95..2e4fb59 100644
--- a/recipes/engine/engine.expected/win_publish_cipd_font_subset_flutter_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/win_publish_cipd_font_subset_flutter_flutter-3.8-candidate.10.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_publish_cipd_font_subset_flutter_main.json b/recipes/engine/engine.expected/win_publish_cipd_font_subset_flutter_main.json
index 6f51c95..2e4fb59 100644
--- a/recipes/engine/engine.expected/win_publish_cipd_font_subset_flutter_main.json
+++ b/recipes/engine/engine.expected/win_publish_cipd_font_subset_flutter_main.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_publish_cipd_font_subset_prod_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/win_publish_cipd_font_subset_prod_flutter-3.8-candidate.10.json
index caf6400..00dc094 100644
--- a/recipes/engine/engine.expected/win_publish_cipd_font_subset_prod_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/win_publish_cipd_font_subset_prod_flutter-3.8-candidate.10.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_publish_cipd_font_subset_prod_main.json b/recipes/engine/engine.expected/win_publish_cipd_font_subset_prod_main.json
index 875afcb..93e6497 100644
--- a/recipes/engine/engine.expected/win_publish_cipd_font_subset_prod_main.json
+++ b/recipes/engine/engine.expected/win_publish_cipd_font_subset_prod_main.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_publish_cipd_font_subset_staging_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/win_publish_cipd_font_subset_staging_flutter-3.8-candidate.10.json
index 354bc3c..25acff1 100644
--- a/recipes/engine/engine.expected/win_publish_cipd_font_subset_staging_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/win_publish_cipd_font_subset_staging_flutter-3.8-candidate.10.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_publish_cipd_font_subset_staging_main.json b/recipes/engine/engine.expected/win_publish_cipd_font_subset_staging_main.json
index cd37c6e..431d59e 100644
--- a/recipes/engine/engine.expected/win_publish_cipd_font_subset_staging_main.json
+++ b/recipes/engine/engine.expected/win_publish_cipd_font_subset_staging_main.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_publish_cipd_no_lto_flutter_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/win_publish_cipd_no_lto_flutter_flutter-3.8-candidate.10.json
index 77cf73c..7b1f359 100644
--- a/recipes/engine/engine.expected/win_publish_cipd_no_lto_flutter_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/win_publish_cipd_no_lto_flutter_flutter-3.8-candidate.10.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_publish_cipd_no_lto_flutter_main.json b/recipes/engine/engine.expected/win_publish_cipd_no_lto_flutter_main.json
index 77cf73c..7b1f359 100644
--- a/recipes/engine/engine.expected/win_publish_cipd_no_lto_flutter_main.json
+++ b/recipes/engine/engine.expected/win_publish_cipd_no_lto_flutter_main.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_publish_cipd_no_lto_font_subset_flutter_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/win_publish_cipd_no_lto_font_subset_flutter_flutter-3.8-candidate.10.json
index 77cf73c..7b1f359 100644
--- a/recipes/engine/engine.expected/win_publish_cipd_no_lto_font_subset_flutter_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/win_publish_cipd_no_lto_font_subset_flutter_flutter-3.8-candidate.10.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_publish_cipd_no_lto_font_subset_flutter_main.json b/recipes/engine/engine.expected/win_publish_cipd_no_lto_font_subset_flutter_main.json
index 77cf73c..7b1f359 100644
--- a/recipes/engine/engine.expected/win_publish_cipd_no_lto_font_subset_flutter_main.json
+++ b/recipes/engine/engine.expected/win_publish_cipd_no_lto_font_subset_flutter_main.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_publish_cipd_no_lto_font_subset_prod_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/win_publish_cipd_no_lto_font_subset_prod_flutter-3.8-candidate.10.json
index 9c0f07f..5104e32 100644
--- a/recipes/engine/engine.expected/win_publish_cipd_no_lto_font_subset_prod_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/win_publish_cipd_no_lto_font_subset_prod_flutter-3.8-candidate.10.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_publish_cipd_no_lto_font_subset_prod_main.json b/recipes/engine/engine.expected/win_publish_cipd_no_lto_font_subset_prod_main.json
index 96344ff..96c9964 100644
--- a/recipes/engine/engine.expected/win_publish_cipd_no_lto_font_subset_prod_main.json
+++ b/recipes/engine/engine.expected/win_publish_cipd_no_lto_font_subset_prod_main.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_publish_cipd_no_lto_font_subset_staging_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/win_publish_cipd_no_lto_font_subset_staging_flutter-3.8-candidate.10.json
index f6f4f4f..ea14c11 100644
--- a/recipes/engine/engine.expected/win_publish_cipd_no_lto_font_subset_staging_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/win_publish_cipd_no_lto_font_subset_staging_flutter-3.8-candidate.10.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_publish_cipd_no_lto_font_subset_staging_main.json b/recipes/engine/engine.expected/win_publish_cipd_no_lto_font_subset_staging_main.json
index 677f430..2b7d492 100644
--- a/recipes/engine/engine.expected/win_publish_cipd_no_lto_font_subset_staging_main.json
+++ b/recipes/engine/engine.expected/win_publish_cipd_no_lto_font_subset_staging_main.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_publish_cipd_no_lto_prod_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/win_publish_cipd_no_lto_prod_flutter-3.8-candidate.10.json
index 9c0f07f..5104e32 100644
--- a/recipes/engine/engine.expected/win_publish_cipd_no_lto_prod_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/win_publish_cipd_no_lto_prod_flutter-3.8-candidate.10.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_publish_cipd_no_lto_prod_main.json b/recipes/engine/engine.expected/win_publish_cipd_no_lto_prod_main.json
index 96344ff..96c9964 100644
--- a/recipes/engine/engine.expected/win_publish_cipd_no_lto_prod_main.json
+++ b/recipes/engine/engine.expected/win_publish_cipd_no_lto_prod_main.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_publish_cipd_no_lto_staging_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/win_publish_cipd_no_lto_staging_flutter-3.8-candidate.10.json
index f6f4f4f..ea14c11 100644
--- a/recipes/engine/engine.expected/win_publish_cipd_no_lto_staging_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/win_publish_cipd_no_lto_staging_flutter-3.8-candidate.10.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_publish_cipd_no_lto_staging_main.json b/recipes/engine/engine.expected/win_publish_cipd_no_lto_staging_main.json
index 677f430..2b7d492 100644
--- a/recipes/engine/engine.expected/win_publish_cipd_no_lto_staging_main.json
+++ b/recipes/engine/engine.expected/win_publish_cipd_no_lto_staging_main.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_publish_cipd_prod_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/win_publish_cipd_prod_flutter-3.8-candidate.10.json
index caf6400..00dc094 100644
--- a/recipes/engine/engine.expected/win_publish_cipd_prod_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/win_publish_cipd_prod_flutter-3.8-candidate.10.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_publish_cipd_prod_main.json b/recipes/engine/engine.expected/win_publish_cipd_prod_main.json
index 875afcb..93e6497 100644
--- a/recipes/engine/engine.expected/win_publish_cipd_prod_main.json
+++ b/recipes/engine/engine.expected/win_publish_cipd_prod_main.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_publish_cipd_staging_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/win_publish_cipd_staging_flutter-3.8-candidate.10.json
index 354bc3c..25acff1 100644
--- a/recipes/engine/engine.expected/win_publish_cipd_staging_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/win_publish_cipd_staging_flutter-3.8-candidate.10.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_publish_cipd_staging_main.json b/recipes/engine/engine.expected/win_publish_cipd_staging_main.json
index cd37c6e..431d59e 100644
--- a/recipes/engine/engine.expected/win_publish_cipd_staging_main.json
+++ b/recipes/engine/engine.expected/win_publish_cipd_staging_main.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_staging_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/win_staging_flutter-3.8-candidate.10.json
index 354bc3c..25acff1 100644
--- a/recipes/engine/engine.expected/win_staging_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/win_staging_flutter-3.8-candidate.10.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_staging_main.json b/recipes/engine/engine.expected/win_staging_main.json
index cd37c6e..431d59e 100644
--- a/recipes/engine/engine.expected/win_staging_main.json
+++ b/recipes/engine/engine.expected/win_staging_main.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_upload_flutter_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/win_upload_flutter_flutter-3.8-candidate.10.json
index 6f51c95..2e4fb59 100644
--- a/recipes/engine/engine.expected/win_upload_flutter_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/win_upload_flutter_flutter-3.8-candidate.10.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_upload_flutter_main.json b/recipes/engine/engine.expected/win_upload_flutter_main.json
index 6f51c95..2e4fb59 100644
--- a/recipes/engine/engine.expected/win_upload_flutter_main.json
+++ b/recipes/engine/engine.expected/win_upload_flutter_main.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_upload_font_subset_flutter_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/win_upload_font_subset_flutter_flutter-3.8-candidate.10.json
index 6f51c95..2e4fb59 100644
--- a/recipes/engine/engine.expected/win_upload_font_subset_flutter_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/win_upload_font_subset_flutter_flutter-3.8-candidate.10.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_upload_font_subset_flutter_main.json b/recipes/engine/engine.expected/win_upload_font_subset_flutter_main.json
index 6f51c95..2e4fb59 100644
--- a/recipes/engine/engine.expected/win_upload_font_subset_flutter_main.json
+++ b/recipes/engine/engine.expected/win_upload_font_subset_flutter_main.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_upload_font_subset_prod_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/win_upload_font_subset_prod_flutter-3.8-candidate.10.json
index acf195b..02a9980 100644
--- a/recipes/engine/engine.expected/win_upload_font_subset_prod_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/win_upload_font_subset_prod_flutter-3.8-candidate.10.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_upload_font_subset_prod_main.json b/recipes/engine/engine.expected/win_upload_font_subset_prod_main.json
index 5e51b7f..7bf94ca 100644
--- a/recipes/engine/engine.expected/win_upload_font_subset_prod_main.json
+++ b/recipes/engine/engine.expected/win_upload_font_subset_prod_main.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_upload_font_subset_staging_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/win_upload_font_subset_staging_flutter-3.8-candidate.10.json
index 354bc3c..25acff1 100644
--- a/recipes/engine/engine.expected/win_upload_font_subset_staging_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/win_upload_font_subset_staging_flutter-3.8-candidate.10.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_upload_font_subset_staging_main.json b/recipes/engine/engine.expected/win_upload_font_subset_staging_main.json
index cd37c6e..431d59e 100644
--- a/recipes/engine/engine.expected/win_upload_font_subset_staging_main.json
+++ b/recipes/engine/engine.expected/win_upload_font_subset_staging_main.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_upload_no_lto_flutter_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/win_upload_no_lto_flutter_flutter-3.8-candidate.10.json
index 77cf73c..7b1f359 100644
--- a/recipes/engine/engine.expected/win_upload_no_lto_flutter_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/win_upload_no_lto_flutter_flutter-3.8-candidate.10.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_upload_no_lto_flutter_main.json b/recipes/engine/engine.expected/win_upload_no_lto_flutter_main.json
index 77cf73c..7b1f359 100644
--- a/recipes/engine/engine.expected/win_upload_no_lto_flutter_main.json
+++ b/recipes/engine/engine.expected/win_upload_no_lto_flutter_main.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_upload_no_lto_font_subset_flutter_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/win_upload_no_lto_font_subset_flutter_flutter-3.8-candidate.10.json
index 77cf73c..7b1f359 100644
--- a/recipes/engine/engine.expected/win_upload_no_lto_font_subset_flutter_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/win_upload_no_lto_font_subset_flutter_flutter-3.8-candidate.10.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_upload_no_lto_font_subset_flutter_main.json b/recipes/engine/engine.expected/win_upload_no_lto_font_subset_flutter_main.json
index 77cf73c..7b1f359 100644
--- a/recipes/engine/engine.expected/win_upload_no_lto_font_subset_flutter_main.json
+++ b/recipes/engine/engine.expected/win_upload_no_lto_font_subset_flutter_main.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_upload_no_lto_font_subset_prod_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/win_upload_no_lto_font_subset_prod_flutter-3.8-candidate.10.json
index e42bef4..c1f4047 100644
--- a/recipes/engine/engine.expected/win_upload_no_lto_font_subset_prod_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/win_upload_no_lto_font_subset_prod_flutter-3.8-candidate.10.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_upload_no_lto_font_subset_prod_main.json b/recipes/engine/engine.expected/win_upload_no_lto_font_subset_prod_main.json
index 6ff25f5..e6962d5 100644
--- a/recipes/engine/engine.expected/win_upload_no_lto_font_subset_prod_main.json
+++ b/recipes/engine/engine.expected/win_upload_no_lto_font_subset_prod_main.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_upload_no_lto_font_subset_staging_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/win_upload_no_lto_font_subset_staging_flutter-3.8-candidate.10.json
index f6f4f4f..ea14c11 100644
--- a/recipes/engine/engine.expected/win_upload_no_lto_font_subset_staging_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/win_upload_no_lto_font_subset_staging_flutter-3.8-candidate.10.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_upload_no_lto_font_subset_staging_main.json b/recipes/engine/engine.expected/win_upload_no_lto_font_subset_staging_main.json
index 677f430..2b7d492 100644
--- a/recipes/engine/engine.expected/win_upload_no_lto_font_subset_staging_main.json
+++ b/recipes/engine/engine.expected/win_upload_no_lto_font_subset_staging_main.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_upload_no_lto_prod_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/win_upload_no_lto_prod_flutter-3.8-candidate.10.json
index e42bef4..c1f4047 100644
--- a/recipes/engine/engine.expected/win_upload_no_lto_prod_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/win_upload_no_lto_prod_flutter-3.8-candidate.10.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_upload_no_lto_prod_main.json b/recipes/engine/engine.expected/win_upload_no_lto_prod_main.json
index 6ff25f5..e6962d5 100644
--- a/recipes/engine/engine.expected/win_upload_no_lto_prod_main.json
+++ b/recipes/engine/engine.expected/win_upload_no_lto_prod_main.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_upload_no_lto_staging_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/win_upload_no_lto_staging_flutter-3.8-candidate.10.json
index f6f4f4f..ea14c11 100644
--- a/recipes/engine/engine.expected/win_upload_no_lto_staging_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/win_upload_no_lto_staging_flutter-3.8-candidate.10.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_upload_no_lto_staging_main.json b/recipes/engine/engine.expected/win_upload_no_lto_staging_main.json
index 677f430..2b7d492 100644
--- a/recipes/engine/engine.expected/win_upload_no_lto_staging_main.json
+++ b/recipes/engine/engine.expected/win_upload_no_lto_staging_main.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_upload_prod_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/win_upload_prod_flutter-3.8-candidate.10.json
index acf195b..02a9980 100644
--- a/recipes/engine/engine.expected/win_upload_prod_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/win_upload_prod_flutter-3.8-candidate.10.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_upload_prod_main.json b/recipes/engine/engine.expected/win_upload_prod_main.json
index 5e51b7f..7bf94ca 100644
--- a/recipes/engine/engine.expected/win_upload_prod_main.json
+++ b/recipes/engine/engine.expected/win_upload_prod_main.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_upload_publish_cipd_flutter_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/win_upload_publish_cipd_flutter_flutter-3.8-candidate.10.json
index 6f51c95..2e4fb59 100644
--- a/recipes/engine/engine.expected/win_upload_publish_cipd_flutter_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/win_upload_publish_cipd_flutter_flutter-3.8-candidate.10.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_upload_publish_cipd_flutter_main.json b/recipes/engine/engine.expected/win_upload_publish_cipd_flutter_main.json
index 6f51c95..2e4fb59 100644
--- a/recipes/engine/engine.expected/win_upload_publish_cipd_flutter_main.json
+++ b/recipes/engine/engine.expected/win_upload_publish_cipd_flutter_main.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_upload_publish_cipd_font_subset_flutter_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/win_upload_publish_cipd_font_subset_flutter_flutter-3.8-candidate.10.json
index 6f51c95..2e4fb59 100644
--- a/recipes/engine/engine.expected/win_upload_publish_cipd_font_subset_flutter_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/win_upload_publish_cipd_font_subset_flutter_flutter-3.8-candidate.10.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_upload_publish_cipd_font_subset_flutter_main.json b/recipes/engine/engine.expected/win_upload_publish_cipd_font_subset_flutter_main.json
index 6f51c95..2e4fb59 100644
--- a/recipes/engine/engine.expected/win_upload_publish_cipd_font_subset_flutter_main.json
+++ b/recipes/engine/engine.expected/win_upload_publish_cipd_font_subset_flutter_main.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_upload_publish_cipd_font_subset_prod_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/win_upload_publish_cipd_font_subset_prod_flutter-3.8-candidate.10.json
index acf195b..02a9980 100644
--- a/recipes/engine/engine.expected/win_upload_publish_cipd_font_subset_prod_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/win_upload_publish_cipd_font_subset_prod_flutter-3.8-candidate.10.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_upload_publish_cipd_font_subset_prod_main.json b/recipes/engine/engine.expected/win_upload_publish_cipd_font_subset_prod_main.json
index 5e51b7f..7bf94ca 100644
--- a/recipes/engine/engine.expected/win_upload_publish_cipd_font_subset_prod_main.json
+++ b/recipes/engine/engine.expected/win_upload_publish_cipd_font_subset_prod_main.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_upload_publish_cipd_font_subset_staging_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/win_upload_publish_cipd_font_subset_staging_flutter-3.8-candidate.10.json
index 354bc3c..25acff1 100644
--- a/recipes/engine/engine.expected/win_upload_publish_cipd_font_subset_staging_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/win_upload_publish_cipd_font_subset_staging_flutter-3.8-candidate.10.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_upload_publish_cipd_font_subset_staging_main.json b/recipes/engine/engine.expected/win_upload_publish_cipd_font_subset_staging_main.json
index cd37c6e..431d59e 100644
--- a/recipes/engine/engine.expected/win_upload_publish_cipd_font_subset_staging_main.json
+++ b/recipes/engine/engine.expected/win_upload_publish_cipd_font_subset_staging_main.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_upload_publish_cipd_no_lto_flutter_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/win_upload_publish_cipd_no_lto_flutter_flutter-3.8-candidate.10.json
index 77cf73c..7b1f359 100644
--- a/recipes/engine/engine.expected/win_upload_publish_cipd_no_lto_flutter_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/win_upload_publish_cipd_no_lto_flutter_flutter-3.8-candidate.10.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_upload_publish_cipd_no_lto_flutter_main.json b/recipes/engine/engine.expected/win_upload_publish_cipd_no_lto_flutter_main.json
index 77cf73c..7b1f359 100644
--- a/recipes/engine/engine.expected/win_upload_publish_cipd_no_lto_flutter_main.json
+++ b/recipes/engine/engine.expected/win_upload_publish_cipd_no_lto_flutter_main.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_upload_publish_cipd_no_lto_font_subset_flutter_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/win_upload_publish_cipd_no_lto_font_subset_flutter_flutter-3.8-candidate.10.json
index 77cf73c..7b1f359 100644
--- a/recipes/engine/engine.expected/win_upload_publish_cipd_no_lto_font_subset_flutter_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/win_upload_publish_cipd_no_lto_font_subset_flutter_flutter-3.8-candidate.10.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_upload_publish_cipd_no_lto_font_subset_flutter_main.json b/recipes/engine/engine.expected/win_upload_publish_cipd_no_lto_font_subset_flutter_main.json
index 77cf73c..7b1f359 100644
--- a/recipes/engine/engine.expected/win_upload_publish_cipd_no_lto_font_subset_flutter_main.json
+++ b/recipes/engine/engine.expected/win_upload_publish_cipd_no_lto_font_subset_flutter_main.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_upload_publish_cipd_no_lto_font_subset_prod_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/win_upload_publish_cipd_no_lto_font_subset_prod_flutter-3.8-candidate.10.json
index e42bef4..c1f4047 100644
--- a/recipes/engine/engine.expected/win_upload_publish_cipd_no_lto_font_subset_prod_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/win_upload_publish_cipd_no_lto_font_subset_prod_flutter-3.8-candidate.10.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_upload_publish_cipd_no_lto_font_subset_prod_main.json b/recipes/engine/engine.expected/win_upload_publish_cipd_no_lto_font_subset_prod_main.json
index 6ff25f5..e6962d5 100644
--- a/recipes/engine/engine.expected/win_upload_publish_cipd_no_lto_font_subset_prod_main.json
+++ b/recipes/engine/engine.expected/win_upload_publish_cipd_no_lto_font_subset_prod_main.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_upload_publish_cipd_no_lto_font_subset_staging_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/win_upload_publish_cipd_no_lto_font_subset_staging_flutter-3.8-candidate.10.json
index f6f4f4f..ea14c11 100644
--- a/recipes/engine/engine.expected/win_upload_publish_cipd_no_lto_font_subset_staging_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/win_upload_publish_cipd_no_lto_font_subset_staging_flutter-3.8-candidate.10.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_upload_publish_cipd_no_lto_font_subset_staging_main.json b/recipes/engine/engine.expected/win_upload_publish_cipd_no_lto_font_subset_staging_main.json
index 677f430..2b7d492 100644
--- a/recipes/engine/engine.expected/win_upload_publish_cipd_no_lto_font_subset_staging_main.json
+++ b/recipes/engine/engine.expected/win_upload_publish_cipd_no_lto_font_subset_staging_main.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_upload_publish_cipd_no_lto_prod_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/win_upload_publish_cipd_no_lto_prod_flutter-3.8-candidate.10.json
index e42bef4..c1f4047 100644
--- a/recipes/engine/engine.expected/win_upload_publish_cipd_no_lto_prod_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/win_upload_publish_cipd_no_lto_prod_flutter-3.8-candidate.10.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_upload_publish_cipd_no_lto_prod_main.json b/recipes/engine/engine.expected/win_upload_publish_cipd_no_lto_prod_main.json
index 6ff25f5..e6962d5 100644
--- a/recipes/engine/engine.expected/win_upload_publish_cipd_no_lto_prod_main.json
+++ b/recipes/engine/engine.expected/win_upload_publish_cipd_no_lto_prod_main.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_upload_publish_cipd_no_lto_staging_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/win_upload_publish_cipd_no_lto_staging_flutter-3.8-candidate.10.json
index f6f4f4f..ea14c11 100644
--- a/recipes/engine/engine.expected/win_upload_publish_cipd_no_lto_staging_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/win_upload_publish_cipd_no_lto_staging_flutter-3.8-candidate.10.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_upload_publish_cipd_no_lto_staging_main.json b/recipes/engine/engine.expected/win_upload_publish_cipd_no_lto_staging_main.json
index 677f430..2b7d492 100644
--- a/recipes/engine/engine.expected/win_upload_publish_cipd_no_lto_staging_main.json
+++ b/recipes/engine/engine.expected/win_upload_publish_cipd_no_lto_staging_main.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_upload_publish_cipd_prod_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/win_upload_publish_cipd_prod_flutter-3.8-candidate.10.json
index acf195b..02a9980 100644
--- a/recipes/engine/engine.expected/win_upload_publish_cipd_prod_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/win_upload_publish_cipd_prod_flutter-3.8-candidate.10.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_upload_publish_cipd_prod_main.json b/recipes/engine/engine.expected/win_upload_publish_cipd_prod_main.json
index 5e51b7f..7bf94ca 100644
--- a/recipes/engine/engine.expected/win_upload_publish_cipd_prod_main.json
+++ b/recipes/engine/engine.expected/win_upload_publish_cipd_prod_main.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_upload_publish_cipd_staging_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/win_upload_publish_cipd_staging_flutter-3.8-candidate.10.json
index 354bc3c..25acff1 100644
--- a/recipes/engine/engine.expected/win_upload_publish_cipd_staging_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/win_upload_publish_cipd_staging_flutter-3.8-candidate.10.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_upload_publish_cipd_staging_main.json b/recipes/engine/engine.expected/win_upload_publish_cipd_staging_main.json
index cd37c6e..431d59e 100644
--- a/recipes/engine/engine.expected/win_upload_publish_cipd_staging_main.json
+++ b/recipes/engine/engine.expected/win_upload_publish_cipd_staging_main.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_upload_staging_flutter-3.8-candidate.10.json b/recipes/engine/engine.expected/win_upload_staging_flutter-3.8-candidate.10.json
index 354bc3c..25acff1 100644
--- a/recipes/engine/engine.expected/win_upload_staging_flutter-3.8-candidate.10.json
+++ b/recipes/engine/engine.expected/win_upload_staging_flutter-3.8-candidate.10.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine.expected/win_upload_staging_main.json b/recipes/engine/engine.expected/win_upload_staging_main.json
index cd37c6e..431d59e 100644
--- a/recipes/engine/engine.expected/win_upload_staging_main.json
+++ b/recipes/engine/engine.expected/win_upload_staging_main.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine_arm.expected/experimental.json b/recipes/engine/engine_arm.expected/experimental.json
index dc7a489..866c05b 100644
--- a/recipes/engine/engine_arm.expected/experimental.json
+++ b/recipes/engine/engine_arm.expected/experimental.json
@@ -77,6 +77,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine_arm.expected/experimental_upload.json b/recipes/engine/engine_arm.expected/experimental_upload.json
index dc7a489..866c05b 100644
--- a/recipes/engine/engine_arm.expected/experimental_upload.json
+++ b/recipes/engine/engine_arm.expected/experimental_upload.json
@@ -77,6 +77,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine_arm.expected/linux_prod_False.json b/recipes/engine/engine_arm.expected/linux_prod_False.json
index 5a6af01..6c16d8c 100644
--- a/recipes/engine/engine_arm.expected/linux_prod_False.json
+++ b/recipes/engine/engine_arm.expected/linux_prod_False.json
@@ -77,6 +77,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine_arm.expected/linux_prod_True.json b/recipes/engine/engine_arm.expected/linux_prod_True.json
index 5a6af01..6c16d8c 100644
--- a/recipes/engine/engine_arm.expected/linux_prod_True.json
+++ b/recipes/engine/engine_arm.expected/linux_prod_True.json
@@ -77,6 +77,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine_arm.expected/linux_staging_False.json b/recipes/engine/engine_arm.expected/linux_staging_False.json
index 7e3fec9..35800bc 100644
--- a/recipes/engine/engine_arm.expected/linux_staging_False.json
+++ b/recipes/engine/engine_arm.expected/linux_staging_False.json
@@ -77,6 +77,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine_arm.expected/linux_staging_True.json b/recipes/engine/engine_arm.expected/linux_staging_True.json
index 7e3fec9..35800bc 100644
--- a/recipes/engine/engine_arm.expected/linux_staging_True.json
+++ b/recipes/engine/engine_arm.expected/linux_staging_True.json
@@ -77,6 +77,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine_arm.expected/linux_upload_prod_False.json b/recipes/engine/engine_arm.expected/linux_upload_prod_False.json
index 337785f..2b9e2e1 100644
--- a/recipes/engine/engine_arm.expected/linux_upload_prod_False.json
+++ b/recipes/engine/engine_arm.expected/linux_upload_prod_False.json
@@ -77,6 +77,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine_arm.expected/linux_upload_prod_True.json b/recipes/engine/engine_arm.expected/linux_upload_prod_True.json
index 9a9ec5b..f5e7bb2 100644
--- a/recipes/engine/engine_arm.expected/linux_upload_prod_True.json
+++ b/recipes/engine/engine_arm.expected/linux_upload_prod_True.json
@@ -77,6 +77,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine_arm.expected/linux_upload_staging_False.json b/recipes/engine/engine_arm.expected/linux_upload_staging_False.json
index 7e3fec9..35800bc 100644
--- a/recipes/engine/engine_arm.expected/linux_upload_staging_False.json
+++ b/recipes/engine/engine_arm.expected/linux_upload_staging_False.json
@@ -77,6 +77,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine_arm.expected/linux_upload_staging_True.json b/recipes/engine/engine_arm.expected/linux_upload_staging_True.json
index 7e3fec9..35800bc 100644
--- a/recipes/engine/engine_arm.expected/linux_upload_staging_True.json
+++ b/recipes/engine/engine_arm.expected/linux_upload_staging_True.json
@@ -77,6 +77,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine_arm.expected/mac_prod_False.json b/recipes/engine/engine_arm.expected/mac_prod_False.json
index cfe48e8..3c847f1 100644
--- a/recipes/engine/engine_arm.expected/mac_prod_False.json
+++ b/recipes/engine/engine_arm.expected/mac_prod_False.json
@@ -116,6 +116,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine_arm.expected/mac_prod_True.json b/recipes/engine/engine_arm.expected/mac_prod_True.json
index cfe48e8..3c847f1 100644
--- a/recipes/engine/engine_arm.expected/mac_prod_True.json
+++ b/recipes/engine/engine_arm.expected/mac_prod_True.json
@@ -116,6 +116,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine_arm.expected/mac_staging_False.json b/recipes/engine/engine_arm.expected/mac_staging_False.json
index 0b296a3..a396f5b 100644
--- a/recipes/engine/engine_arm.expected/mac_staging_False.json
+++ b/recipes/engine/engine_arm.expected/mac_staging_False.json
@@ -116,6 +116,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine_arm.expected/mac_staging_True.json b/recipes/engine/engine_arm.expected/mac_staging_True.json
index 0b296a3..a396f5b 100644
--- a/recipes/engine/engine_arm.expected/mac_staging_True.json
+++ b/recipes/engine/engine_arm.expected/mac_staging_True.json
@@ -116,6 +116,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine_arm.expected/mac_upload_prod_False.json b/recipes/engine/engine_arm.expected/mac_upload_prod_False.json
index cfe48e8..3c847f1 100644
--- a/recipes/engine/engine_arm.expected/mac_upload_prod_False.json
+++ b/recipes/engine/engine_arm.expected/mac_upload_prod_False.json
@@ -116,6 +116,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine_arm.expected/mac_upload_prod_True.json b/recipes/engine/engine_arm.expected/mac_upload_prod_True.json
index cfe48e8..3c847f1 100644
--- a/recipes/engine/engine_arm.expected/mac_upload_prod_True.json
+++ b/recipes/engine/engine_arm.expected/mac_upload_prod_True.json
@@ -116,6 +116,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine_arm.expected/mac_upload_staging_False.json b/recipes/engine/engine_arm.expected/mac_upload_staging_False.json
index 0b296a3..a396f5b 100644
--- a/recipes/engine/engine_arm.expected/mac_upload_staging_False.json
+++ b/recipes/engine/engine_arm.expected/mac_upload_staging_False.json
@@ -116,6 +116,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine_arm.expected/mac_upload_staging_True.json b/recipes/engine/engine_arm.expected/mac_upload_staging_True.json
index 0b296a3..a396f5b 100644
--- a/recipes/engine/engine_arm.expected/mac_upload_staging_True.json
+++ b/recipes/engine/engine_arm.expected/mac_upload_staging_True.json
@@ -116,6 +116,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine_arm.expected/pull_request.json b/recipes/engine/engine_arm.expected/pull_request.json
index decc208..3fc253e 100644
--- a/recipes/engine/engine_arm.expected/pull_request.json
+++ b/recipes/engine/engine_arm.expected/pull_request.json
@@ -77,6 +77,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine_arm.expected/win_prod_False.json b/recipes/engine/engine_arm.expected/win_prod_False.json
index e47e7a7..d3db54f 100644
--- a/recipes/engine/engine_arm.expected/win_prod_False.json
+++ b/recipes/engine/engine_arm.expected/win_prod_False.json
@@ -53,6 +53,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine_arm.expected/win_prod_True.json b/recipes/engine/engine_arm.expected/win_prod_True.json
index e47e7a7..d3db54f 100644
--- a/recipes/engine/engine_arm.expected/win_prod_True.json
+++ b/recipes/engine/engine_arm.expected/win_prod_True.json
@@ -53,6 +53,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine_arm.expected/win_staging_False.json b/recipes/engine/engine_arm.expected/win_staging_False.json
index 3dc88d8..4bc1185 100644
--- a/recipes/engine/engine_arm.expected/win_staging_False.json
+++ b/recipes/engine/engine_arm.expected/win_staging_False.json
@@ -53,6 +53,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine_arm.expected/win_staging_True.json b/recipes/engine/engine_arm.expected/win_staging_True.json
index 3dc88d8..4bc1185 100644
--- a/recipes/engine/engine_arm.expected/win_staging_True.json
+++ b/recipes/engine/engine_arm.expected/win_staging_True.json
@@ -53,6 +53,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine_arm.expected/win_upload_prod_False.json b/recipes/engine/engine_arm.expected/win_upload_prod_False.json
index e47e7a7..d3db54f 100644
--- a/recipes/engine/engine_arm.expected/win_upload_prod_False.json
+++ b/recipes/engine/engine_arm.expected/win_upload_prod_False.json
@@ -53,6 +53,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine_arm.expected/win_upload_prod_True.json b/recipes/engine/engine_arm.expected/win_upload_prod_True.json
index e47e7a7..d3db54f 100644
--- a/recipes/engine/engine_arm.expected/win_upload_prod_True.json
+++ b/recipes/engine/engine_arm.expected/win_upload_prod_True.json
@@ -53,6 +53,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine_arm.expected/win_upload_staging_False.json b/recipes/engine/engine_arm.expected/win_upload_staging_False.json
index 3dc88d8..4bc1185 100644
--- a/recipes/engine/engine_arm.expected/win_upload_staging_False.json
+++ b/recipes/engine/engine_arm.expected/win_upload_staging_False.json
@@ -53,6 +53,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine_arm.expected/win_upload_staging_True.json b/recipes/engine/engine_arm.expected/win_upload_staging_True.json
index 3dc88d8..4bc1185 100644
--- a/recipes/engine/engine_arm.expected/win_upload_staging_True.json
+++ b/recipes/engine/engine_arm.expected/win_upload_staging_True.json
@@ -53,6 +53,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine_builder.expected/Schedule two builds one with goma and one without.json b/recipes/engine/engine_builder.expected/Schedule two builds one with goma and one without.json
index f4c26ee..5f814e9 100644
--- a/recipes/engine/engine_builder.expected/Schedule two builds one with goma and one without.json
+++ b/recipes/engine/engine_builder.expected/Schedule two builds one with goma and one without.json
@@ -50,6 +50,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine_license.expected/linux.json b/recipes/engine/engine_license.expected/linux.json
index 7d93c48..ba30abe 100644
--- a/recipes/engine/engine_license.expected/linux.json
+++ b/recipes/engine/engine_license.expected/linux.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine_lint.expected/host arch arm64.json b/recipes/engine/engine_lint.expected/host arch arm64.json
index 59221d9..d6bacef 100644
--- a/recipes/engine/engine_lint.expected/host arch arm64.json
+++ b/recipes/engine/engine_lint.expected/host arch arm64.json
@@ -82,6 +82,30 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine_lint.expected/host arch x86.json b/recipes/engine/engine_lint.expected/host arch x86.json
index dd99ad4..e441be7 100644
--- a/recipes/engine/engine_lint.expected/host arch x86.json
+++ b/recipes/engine/engine_lint.expected/host arch x86.json
@@ -82,6 +82,30 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine_lint.expected/ios arch arm64.json b/recipes/engine/engine_lint.expected/ios arch arm64.json
index 30a91ce..7e2bf6e 100644
--- a/recipes/engine/engine_lint.expected/ios arch arm64.json
+++ b/recipes/engine/engine_lint.expected/ios arch arm64.json
@@ -82,6 +82,30 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine_lint.expected/ios arch x86.json b/recipes/engine/engine_lint.expected/ios arch x86.json
index 88dc93f..f9d17fd 100644
--- a/recipes/engine/engine_lint.expected/ios arch x86.json
+++ b/recipes/engine/engine_lint.expected/ios arch x86.json
@@ -82,6 +82,30 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine_lint.expected/linux android all.json b/recipes/engine/engine_lint.expected/linux android all.json
index cdcdfc3..9d28017 100644
--- a/recipes/engine/engine_lint.expected/linux android all.json
+++ b/recipes/engine/engine_lint.expected/linux android all.json
@@ -115,6 +115,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine_lint.expected/linux android branch.json b/recipes/engine/engine_lint.expected/linux android branch.json
index cdcdfc3..9d28017 100644
--- a/recipes/engine/engine_lint.expected/linux android branch.json
+++ b/recipes/engine/engine_lint.expected/linux android branch.json
@@ -115,6 +115,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine_lint.expected/linux android head.json b/recipes/engine/engine_lint.expected/linux android head.json
index a675b1d..cac0303 100644
--- a/recipes/engine/engine_lint.expected/linux android head.json
+++ b/recipes/engine/engine_lint.expected/linux android head.json
@@ -115,6 +115,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine_lint.expected/linux host all.json b/recipes/engine/engine_lint.expected/linux host all.json
index cdcdfc3..9d28017 100644
--- a/recipes/engine/engine_lint.expected/linux host all.json
+++ b/recipes/engine/engine_lint.expected/linux host all.json
@@ -115,6 +115,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine_lint.expected/linux host branch.json b/recipes/engine/engine_lint.expected/linux host branch.json
index cdcdfc3..9d28017 100644
--- a/recipes/engine/engine_lint.expected/linux host branch.json
+++ b/recipes/engine/engine_lint.expected/linux host branch.json
@@ -115,6 +115,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine_lint.expected/linux host head.json b/recipes/engine/engine_lint.expected/linux host head.json
index a675b1d..cac0303 100644
--- a/recipes/engine/engine_lint.expected/linux host head.json
+++ b/recipes/engine/engine_lint.expected/linux host head.json
@@ -115,6 +115,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine_lint.expected/mac host all.json b/recipes/engine/engine_lint.expected/mac host all.json
index 1b34af3..1afdb90 100644
--- a/recipes/engine/engine_lint.expected/mac host all.json
+++ b/recipes/engine/engine_lint.expected/mac host all.json
@@ -154,6 +154,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine_lint.expected/mac host branch.json b/recipes/engine/engine_lint.expected/mac host branch.json
index 1b34af3..1afdb90 100644
--- a/recipes/engine/engine_lint.expected/mac host branch.json
+++ b/recipes/engine/engine_lint.expected/mac host branch.json
@@ -154,6 +154,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine_lint.expected/mac host head.json b/recipes/engine/engine_lint.expected/mac host head.json
index 8a94611..e4c704a 100644
--- a/recipes/engine/engine_lint.expected/mac host head.json
+++ b/recipes/engine/engine_lint.expected/mac host head.json
@@ -154,6 +154,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine_lint.expected/mac ios all.json b/recipes/engine/engine_lint.expected/mac ios all.json
index 1b34af3..1afdb90 100644
--- a/recipes/engine/engine_lint.expected/mac ios all.json
+++ b/recipes/engine/engine_lint.expected/mac ios all.json
@@ -154,6 +154,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine_lint.expected/mac ios branch.json b/recipes/engine/engine_lint.expected/mac ios branch.json
index 1b34af3..1afdb90 100644
--- a/recipes/engine/engine_lint.expected/mac ios branch.json
+++ b/recipes/engine/engine_lint.expected/mac ios branch.json
@@ -154,6 +154,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine_lint.expected/mac ios head.json b/recipes/engine/engine_lint.expected/mac ios head.json
index 8a94611..e4c704a 100644
--- a/recipes/engine/engine_lint.expected/mac ios head.json
+++ b/recipes/engine/engine_lint.expected/mac ios head.json
@@ -154,6 +154,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine_metrics.expected/basic_upload_metrics_False.json b/recipes/engine/engine_metrics.expected/basic_upload_metrics_False.json
index fdc6445..31ab90e 100644
--- a/recipes/engine/engine_metrics.expected/basic_upload_metrics_False.json
+++ b/recipes/engine/engine_metrics.expected/basic_upload_metrics_False.json
@@ -13,6 +13,30 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine_metrics.expected/basic_upload_metrics_True.json b/recipes/engine/engine_metrics.expected/basic_upload_metrics_True.json
index 478de22..a2bbc94 100644
--- a/recipes/engine/engine_metrics.expected/basic_upload_metrics_True.json
+++ b/recipes/engine/engine_metrics.expected/basic_upload_metrics_True.json
@@ -13,6 +13,30 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine_unopt.expected/linux.json b/recipes/engine/engine_unopt.expected/linux.json
index 7fcbb5b..7b31ae3 100644
--- a/recipes/engine/engine_unopt.expected/linux.json
+++ b/recipes/engine/engine_unopt.expected/linux.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine_unopt.expected/linux_lto.json b/recipes/engine/engine_unopt.expected/linux_lto.json
index 9d45487..70ca8e9 100644
--- a/recipes/engine/engine_unopt.expected/linux_lto.json
+++ b/recipes/engine/engine_unopt.expected/linux_lto.json
@@ -140,6 +140,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine_unopt.expected/mac.json b/recipes/engine/engine_unopt.expected/mac.json
index 8be4165..2e4f829 100644
--- a/recipes/engine/engine_unopt.expected/mac.json
+++ b/recipes/engine/engine_unopt.expected/mac.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine_unopt.expected/mac_lto.json b/recipes/engine/engine_unopt.expected/mac_lto.json
index 8be4165..2e4f829 100644
--- a/recipes/engine/engine_unopt.expected/mac_lto.json
+++ b/recipes/engine/engine_unopt.expected/mac_lto.json
@@ -179,6 +179,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine_unopt.expected/win.json b/recipes/engine/engine_unopt.expected/win.json
index a688bf0..640b6aa 100644
--- a/recipes/engine/engine_unopt.expected/win.json
+++ b/recipes/engine/engine_unopt.expected/win.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/engine_unopt.expected/win_lto.json b/recipes/engine/engine_unopt.expected/win_lto.json
index 810c315..11f3789 100644
--- a/recipes/engine/engine_unopt.expected/win_lto.json
+++ b/recipes/engine/engine_unopt.expected/win_lto.json
@@ -239,6 +239,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/femu_test.expected/arm64_emulator_arch.json b/recipes/engine/femu_test.expected/arm64_emulator_arch.json
index 1a88317..12eadf6 100644
--- a/recipes/engine/femu_test.expected/arm64_emulator_arch.json
+++ b/recipes/engine/femu_test.expected/arm64_emulator_arch.json
@@ -29,6 +29,30 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/femu_test.expected/dangerous_test_commands.json b/recipes/engine/femu_test.expected/dangerous_test_commands.json
index bb3b9d8..0c63756 100644
--- a/recipes/engine/femu_test.expected/dangerous_test_commands.json
+++ b/recipes/engine/femu_test.expected/dangerous_test_commands.json
@@ -29,6 +29,30 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/femu_test.expected/femu_with_package_list.json b/recipes/engine/femu_test.expected/femu_with_package_list.json
index fc9f464..9109f85 100644
--- a/recipes/engine/femu_test.expected/femu_with_package_list.json
+++ b/recipes/engine/femu_test.expected/femu_with_package_list.json
@@ -29,6 +29,30 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/femu_test.expected/invalid_emulator_arch.json b/recipes/engine/femu_test.expected/invalid_emulator_arch.json
index 5f3e69b..546c0a8 100644
--- a/recipes/engine/femu_test.expected/invalid_emulator_arch.json
+++ b/recipes/engine/femu_test.expected/invalid_emulator_arch.json
@@ -29,6 +29,30 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/femu_test.expected/multiple_non_root_fars.json b/recipes/engine/femu_test.expected/multiple_non_root_fars.json
index 11f967e..0273350 100644
--- a/recipes/engine/femu_test.expected/multiple_non_root_fars.json
+++ b/recipes/engine/femu_test.expected/multiple_non_root_fars.json
@@ -29,6 +29,30 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/femu_test.expected/no_zircon_file.json b/recipes/engine/femu_test.expected/no_zircon_file.json
index 5f3e69b..546c0a8 100644
--- a/recipes/engine/femu_test.expected/no_zircon_file.json
+++ b/recipes/engine/femu_test.expected/no_zircon_file.json
@@ -29,6 +29,30 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/femu_test.expected/run_on_test_specified_arch.json b/recipes/engine/femu_test.expected/run_on_test_specified_arch.json
index c31140d..2ee975e 100644
--- a/recipes/engine/femu_test.expected/run_on_test_specified_arch.json
+++ b/recipes/engine/femu_test.expected/run_on_test_specified_arch.json
@@ -29,6 +29,30 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/femu_test.expected/run_test_with_retry.json b/recipes/engine/femu_test.expected/run_test_with_retry.json
index 3c26aef..0738928 100644
--- a/recipes/engine/femu_test.expected/run_test_with_retry.json
+++ b/recipes/engine/femu_test.expected/run_test_with_retry.json
@@ -29,6 +29,30 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/femu_test.expected/run_with_dart_aot_behavior.json b/recipes/engine/femu_test.expected/run_with_dart_aot_behavior.json
index bdaf8c9..c387c41 100644
--- a/recipes/engine/femu_test.expected/run_with_dart_aot_behavior.json
+++ b/recipes/engine/femu_test.expected/run_with_dart_aot_behavior.json
@@ -29,6 +29,30 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/femu_test.expected/start_femu.json b/recipes/engine/femu_test.expected/start_femu.json
index bac4559..9518e67 100644
--- a/recipes/engine/femu_test.expected/start_femu.json
+++ b/recipes/engine/femu_test.expected/start_femu.json
@@ -29,6 +29,30 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/femu_test.expected/start_femu_with_cso.json b/recipes/engine/femu_test.expected/start_femu_with_cso.json
index bdd9c8a..e64b886 100644
--- a/recipes/engine/femu_test.expected/start_femu_with_cso.json
+++ b/recipes/engine/femu_test.expected/start_femu_with_cso.json
@@ -29,6 +29,30 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/femu_test.expected/start_femu_with_override_pbm.json b/recipes/engine/femu_test.expected/start_femu_with_override_pbm.json
index 881a71b..9f356f4 100644
--- a/recipes/engine/femu_test.expected/start_femu_with_override_pbm.json
+++ b/recipes/engine/femu_test.expected/start_femu_with_override_pbm.json
@@ -29,6 +29,30 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/framework_smoke.expected/basic.json b/recipes/engine/framework_smoke.expected/basic.json
index 43f2996..92e9de7 100644
--- a/recipes/engine/framework_smoke.expected/basic.json
+++ b/recipes/engine/framework_smoke.expected/basic.json
@@ -29,6 +29,30 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/framework_smoke.expected/no_goma.json b/recipes/engine/framework_smoke.expected/no_goma.json
index 43f2996..92e9de7 100644
--- a/recipes/engine/framework_smoke.expected/no_goma.json
+++ b/recipes/engine/framework_smoke.expected/no_goma.json
@@ -29,6 +29,30 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/scenarios.expected/without_failure_upload.json b/recipes/engine/scenarios.expected/without_failure_upload.json
index 643e5f2..63a0150 100644
--- a/recipes/engine/scenarios.expected/without_failure_upload.json
+++ b/recipes/engine/scenarios.expected/without_failure_upload.json
@@ -408,6 +408,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/web_engine.expected/mac-post-submit.json b/recipes/engine/web_engine.expected/mac-post-submit.json
index 349332f..dd54255 100644
--- a/recipes/engine/web_engine.expected/mac-post-submit.json
+++ b/recipes/engine/web_engine.expected/mac-post-submit.json
@@ -116,6 +116,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "proj:try"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine/web_engine.expected/windows-post-submit.json b/recipes/engine/web_engine.expected/windows-post-submit.json
index 4823237..6cabda4 100644
--- a/recipes/engine/web_engine.expected/windows-post-submit.json
+++ b/recipes/engine/web_engine.expected/windows-post-submit.json
@@ -165,6 +165,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]\\resources\\gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]\\gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-win.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine_v2/builder.expected/basic.json b/recipes/engine_v2/builder.expected/basic.json
index 770d539..3aec87e 100644
--- a/recipes/engine_v2/builder.expected/basic.json
+++ b/recipes/engine_v2/builder.expected/basic.json
@@ -53,6 +53,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine_v2/builder.expected/config_file.json b/recipes/engine_v2/builder.expected/config_file.json
index 3893fb6..ed6eb3f 100644
--- a/recipes/engine_v2/builder.expected/config_file.json
+++ b/recipes/engine_v2/builder.expected/config_file.json
@@ -53,6 +53,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine_v2/builder.expected/dart-internal-flutter.json b/recipes/engine_v2/builder.expected/dart-internal-flutter.json
index 50e5c2b..6853e28 100644
--- a/recipes/engine_v2/builder.expected/dart-internal-flutter.json
+++ b/recipes/engine_v2/builder.expected/dart-internal-flutter.json
@@ -139,6 +139,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "dart-internal:flutter"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine_v2/builder.expected/mac.json b/recipes/engine_v2/builder.expected/mac.json
index 4a06618..5bdecc7 100644
--- a/recipes/engine_v2/builder.expected/mac.json
+++ b/recipes/engine_v2/builder.expected/mac.json
@@ -53,6 +53,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine_v2/cache.expected/basic.json b/recipes/engine_v2/cache.expected/basic.json
index 2398fa5..25f40c9 100644
--- a/recipes/engine_v2/cache.expected/basic.json
+++ b/recipes/engine_v2/cache.expected/basic.json
@@ -56,6 +56,30 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
@@ -320,35 +344,6 @@
   },
   {
     "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "ensure-directory",
-      "--mode",
-      "0777",
-      "[CLEANUP]/tmp_tmp_2/caches"
-    ],
-    "infra_step": true,
-    "name": "Ensure caches"
-  },
-  {
-    "cmd": [
-      "vpython3",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/None-linux.json",
-      "[CLEANUP]/tmp_tmp_2/caches"
-    ],
-    "infra_step": true,
-    "name": "Copy [CLEANUP]/None-linux.json to tmp location"
-  },
-  {
-    "cmd": [
       "python3",
       "-u",
       "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
@@ -358,14 +353,13 @@
       "-h",
       "Cache-Control:max-age=60",
       "cp",
-      "-r",
-      "[CLEANUP]/tmp_tmp_2/*",
-      "gs://flutter_archives_v2/"
+      "[CLEANUP]/None-linux.json",
+      "gs://flutter_archives_v2/caches/None-linux.json"
     ],
     "infra_step": true,
     "name": "gsutil Upload [CLEANUP]/None-linux.json to gs://flutter_archives_v2/caches/None-linux.json",
     "~followup_annotations": [
-      "@@@STEP_LINK@gsutil.upload@https://console.cloud.google.com/storage/browser/flutter_archives_v2/@@@"
+      "@@@STEP_LINK@gsutil.upload@https://storage.cloud.google.com/flutter_archives_v2/caches/None-linux.json@@@"
     ]
   },
   {
diff --git a/recipes/engine_v2/engine_v2.expected/basic_linux.json b/recipes/engine_v2/engine_v2.expected/basic_linux.json
index 5ea1fd0..4ce7f7b 100644
--- a/recipes/engine_v2/engine_v2.expected/basic_linux.json
+++ b/recipes/engine_v2/engine_v2.expected/basic_linux.json
@@ -328,6 +328,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "proj:try"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine_v2/engine_v2.expected/basic_mac.json b/recipes/engine_v2/engine_v2.expected/basic_mac.json
index 6d32c92..e67f43c 100644
--- a/recipes/engine_v2/engine_v2.expected/basic_mac.json
+++ b/recipes/engine_v2/engine_v2.expected/basic_mac.json
@@ -323,6 +323,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "flutter:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine_v2/engine_v2.expected/codesign_release_branch.json b/recipes/engine_v2/engine_v2.expected/codesign_release_branch.json
index badc52b..5ce8cbf 100644
--- a/recipes/engine_v2/engine_v2.expected/codesign_release_branch.json
+++ b/recipes/engine_v2/engine_v2.expected/codesign_release_branch.json
@@ -707,6 +707,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-mac.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "proj:try"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine_v2/engine_v2.expected/config_from_file.json b/recipes/engine_v2/engine_v2.expected/config_from_file.json
index 97b48f0..9f32df1 100644
--- a/recipes/engine_v2/engine_v2.expected/config_from_file.json
+++ b/recipes/engine_v2/engine_v2.expected/config_from_file.json
@@ -634,6 +634,42 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "proj:try"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {
diff --git a/recipes/engine_v2/tester_engine.expected/basic.json b/recipes/engine_v2/tester_engine.expected/basic.json
index 330ac90..9f03741 100644
--- a/recipes/engine_v2/tester_engine.expected/basic.json
+++ b/recipes/engine_v2/tester_engine.expected/basic.json
@@ -29,6 +29,30 @@
   },
   {
     "cmd": [],
+    "name": "Mount caches"
+  },
+  {
+    "cmd": [
+      "python3",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cat",
+      "gs://flutter_archives_v2/caches/builder-linux.json"
+    ],
+    "infra_step": true,
+    "name": "Mount caches.gsutil cat",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_END@json.output (invalid)@@@",
+      "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
+      "@@@STEP_LOG_END@json.output (exception)@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "Checkout source code"
   },
   {