[roller] Move fetch and upload debug symbols to a module.

The function is being used in different places and we are moving it to a
module for reusability.

Bug: 41443
Bug: 36497
Bug: 36488
Change-Id: I5f97fff72fc8bdc90659d888c403d8d095285ec8
diff --git a/recipe_modules/debug_symbols/__init__.py b/recipe_modules/debug_symbols/__init__.py
new file mode 100644
index 0000000..47b5084
--- /dev/null
+++ b/recipe_modules/debug_symbols/__init__.py
@@ -0,0 +1,9 @@
+# Copyright 2018 The Fuchsia Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+DEPS = [
+    'recipe_engine/context', 'recipe_engine/path', 'recipe_engine/step',
+    'recipe_engine/file', 'recipe_engine/archive', 'build', 'jiri',
+    'upload_debug_symbols'
+]
diff --git a/recipe_modules/debug_symbols/api.py b/recipe_modules/debug_symbols/api.py
new file mode 100644
index 0000000..03ad172
--- /dev/null
+++ b/recipe_modules/debug_symbols/api.py
@@ -0,0 +1,104 @@
+# Copyright 2020 The Fuchsia Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+import os
+from recipe_engine import recipe_api
+
+
+class DebugSymbolsApi(recipe_api.RecipeApi):
+  """APIs for fetching and uploading debug symbols."""
+
+  def fetch_and_upload(self, project, checkout_root, import_in, remote,
+                       project_dir, packages, debug_symbol_attribute,
+                       debug_symbol_gcs_buckets):
+    """
+    Fetch debug symbol archives, unpack them, and upload debug symbols.
+
+    Args:
+      project (str): Jiri remote manifest project.
+      checkout_root (Path): Path to the location where the source code was
+        already checked out.
+      import_in (str): Path to the edited manifest relative to $project
+        containing debug symbol packages.
+      remote (str): Remote manifest repository.
+      project_dir (Path): Project root path of $import_in.
+      packages (seq(str)): The list of CIPD packages updated in $import_in.
+      debug_symbol_attribute (str): Jiri attribute to match debug symbol packages.
+      debug_symbol_gcs_buckets (seq(str)): GCS buckets to upload debug symbols to.
+    """
+    with self.m.context(infra_steps=True):
+      self.m.jiri.init(
+          use_lock_file=True,
+          attributes=(debug_symbol_attribute,),
+      )
+      # Fetch debug symbol packages using locally edited manifest.
+      self.m.jiri.import_manifest(
+          manifest=import_in,
+          remote=remote,
+          name=project,
+      )
+      self.m.jiri.fetch_packages(local_manifest=True)
+
+    with self.m.step.nest('build'):
+      gn_results = self.m.build.gen(
+          checkout_root=checkout_root,
+          fuchsia_build_dir=checkout_root.join('out', 'default'),
+          target='x64',
+          build_type='debug',
+          product='products/bringup.gni',
+          # //bundles:infratools is necessary to build upload_debug_symbols.
+          packages=['//bundles:infratools'],
+      )
+
+      upload_debug_symbols_target = os.path.relpath(
+          str(gn_results.tool('upload_debug_symbols')),
+          str(gn_results.fuchsia_build_dir),
+      )
+      self.m.build.ninja(
+          checkout_root=checkout_root,
+          gn_results=gn_results,
+          build_zircon=False,
+          targets=[upload_debug_symbols_target],
+      )
+
+    build_id_dirs = []
+    for package in packages:
+      # Find archives for each debug symbol package.
+      with self.m.context(cwd=project_dir):
+        package_def = self.m.jiri.read_manifest_element(
+            manifest=import_in,
+            element_type='package',
+            element_name=package,
+        )
+      # Skip non debug symbol packages.
+      if debug_symbol_attribute not in package_def.get('attributes', ''):
+        continue
+
+      package_path = checkout_root.join(package_def['path'])
+      archives = self.m.file.glob_paths(
+          name='find archives for %s' % package,
+          source=package_path,
+          pattern='**/*.tar.bz2',
+          test_data=(package_path.join('symbols.tar.bz2'),),
+      )
+
+      # Unpack archives into .build-id dirs.
+      for archive in archives:
+        # Extract API requires a unique, non-existent directory.
+        archive_basename = os.path.basename(self.m.path.abspath(archive))
+        output_dir = checkout_root.join(package, archive_basename)
+        self.m.archive.extract(
+            step_name='extract %s' % archive,
+            archive_file=archive,
+            output=output_dir,
+        )
+        build_id_dirs.append(output_dir)
+
+    for debug_symbol_gcs_bucket in debug_symbol_gcs_buckets:
+      self.m.upload_debug_symbols(
+          step_name='upload debug symbols',
+          upload_debug_symbols_path=gn_results.tool('upload_debug_symbols'),
+          bucket=debug_symbol_gcs_bucket,
+          build_id_dirs=build_id_dirs,
+      )
diff --git a/recipe_modules/debug_symbols/examples/full.expected/default.json b/recipe_modules/debug_symbols/examples/full.expected/default.json
new file mode 100644
index 0000000..645609e
--- /dev/null
+++ b/recipe_modules/debug_symbols/examples/full.expected/default.json
@@ -0,0 +1,1496 @@
+[
+  {
+    "cmd": [],
+    "name": "ensure jiri"
+  },
+  {
+    "cmd": [
+      "cipd",
+      "ensure",
+      "-root",
+      "[START_DIR]/cipd/jiri",
+      "-ensure-file",
+      "fuchsia/tools/jiri/${platform} git_revision:60436c301224231cb99be41ce937dfc223bee272",
+      "-json-output",
+      "/path/to/tmp/json"
+    ],
+    "infra_step": true,
+    "name": "ensure jiri.ensure_installed",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_LINE@json.output@{@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"result\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@      {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"instance_id\": \"resolved-instance_id-of-git_revision:604\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"package\": \"fuchsia/tools/jiri/resolved-platform\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      }@@@",
+      "@@@STEP_LOG_LINE@json.output@    ]@@@",
+      "@@@STEP_LOG_LINE@json.output@  }@@@",
+      "@@@STEP_LOG_LINE@json.output@}@@@",
+      "@@@STEP_LOG_END@json.output@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[START_DIR]/cipd/jiri/jiri",
+      "init",
+      "-vv",
+      "-time",
+      "-j=50",
+      "-analytics-opt=false",
+      "-rewrite-sso-to-https=true",
+      "-cache",
+      "[CACHE]/git",
+      "-shared",
+      "-enable-lockfile=true",
+      "-fetch-optional=debug-symbols"
+    ],
+    "infra_step": true,
+    "name": "jiri init"
+  },
+  {
+    "cmd": [
+      "[START_DIR]/cipd/jiri/jiri",
+      "import",
+      "-vv",
+      "-time",
+      "-j=50",
+      "-name",
+      "integration",
+      "integration/fuchsia/flower",
+      "sso://fuchsia/integration"
+    ],
+    "infra_step": true,
+    "name": "jiri import"
+  },
+  {
+    "cmd": [
+      "[START_DIR]/cipd/jiri/jiri",
+      "fetch-packages",
+      "-vv",
+      "-time",
+      "-j=50",
+      "-attempts=3",
+      "-local-manifest=true"
+    ],
+    "infra_step": true,
+    "name": "jiri fetch-packages"
+  },
+  {
+    "cmd": [],
+    "name": "build"
+  },
+  {
+    "cmd": [],
+    "name": "build.ensure goma",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "cipd",
+      "ensure",
+      "-root",
+      "[CACHE]/goma/client",
+      "-ensure-file",
+      "infra_internal/goma/client/${platform} release",
+      "-json-output",
+      "/path/to/tmp/json"
+    ],
+    "infra_step": true,
+    "name": "build.ensure goma.ensure_installed",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@",
+      "@@@STEP_LOG_LINE@json.output@{@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"result\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@      {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"instance_id\": \"resolved-instance_id-of-release---------\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"package\": \"infra_internal/goma/client/resolved-platform\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      }@@@",
+      "@@@STEP_LOG_LINE@json.output@    ]@@@",
+      "@@@STEP_LOG_LINE@json.output@  }@@@",
+      "@@@STEP_LOG_LINE@json.output@}@@@",
+      "@@@STEP_LOG_END@json.output@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[START_DIR]/prebuilt/third_party/gn/linux-x64/gn",
+      "gen",
+      "[START_DIR]/out/default",
+      "--check",
+      "--args=import(\"//products/bringup.gni\")  base_package_labels+=[\"//bundles:infratools\"] goma_dir=\"[CACHE]/goma/client\" is_debug=true target_cpu=\"x64\" use_goma=true"
+    ],
+    "name": "build.gn gen",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n",
+      "[START_DIR]/out/default/zircon.json",
+      "/path/to/tmp/json"
+    ],
+    "name": "build.read zircon ninja instructions",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_LINE@json.output@{@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"dir\": \"../default.zircon\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"targets\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"legacy-host_tests\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"manifest-$cpu\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  ]@@@",
+      "@@@STEP_LOG_LINE@json.output@}@@@",
+      "@@@STEP_LOG_END@json.output@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n",
+      "[START_DIR]/out/default/tool_paths.json",
+      "/path/to/tmp/json"
+    ],
+    "name": "build.read tool_paths manifest",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_LINE@json.output@[@@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/bazel\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"bazel\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/bazel/linux_x64/bazel\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/cargo\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"cargo\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/cargo/linux_x64/cargo\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/clang-doc\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"clang-doc\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/clang-doc/linux_x64/clang-doc\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/clang-format-diff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"clang-format-diff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/clang-format-diff/linux_x64/clang-format-diff\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/clang-format\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"clang-format\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/clang-format/linux_x64/clang-format\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/clang-tidy-diff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"clang-tidy-diff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/clang-tidy-diff/linux_x64/clang-tidy-diff\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/clang-tidy\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"clang-tidy\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/clang-tidy/linux_x64/clang-tidy\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/dart\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"dart\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/dart/linux_x64/dart\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/dartfmt\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"dartfmt\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/dartfmt/linux_x64/dartfmt\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/gn\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"gn\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/gn/linux_x64/gn\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/go\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"go\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/go/linux_x64/go\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/gofmt\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"gofmt\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/gofmt/linux_x64/gofmt\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/llvm-cov\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"llvm-cov\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/llvm-cov/linux_x64/llvm-cov\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/llvm-profdata\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"llvm-profdata\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/llvm-profdata/linux_x64/llvm-profdata\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/llvm-symbolizer\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"llvm-symbolizer\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/ninja\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"ninja\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/ninja/linux_x64/ninja\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/rustc\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"rustc\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/rustc/linux_x64/rustc\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/rustdoc\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"rustdoc\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/rustdoc/linux_x64/rustdoc\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/rustfmt\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"rustfmt\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/rustfmt/linux_x64/rustfmt\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/yapf\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"yapf\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/yapf/linux_x64/yapf\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/bootserver\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"bootserver\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../default.zircon/host-linux-x64/bootserver\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/fidl-format\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"fidl-format\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../default.zircon/host-linux-x64/fidl-format\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/fidl-lint\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"fidl-lint\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../default.zircon/host-linux-x64/fidl-lint\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/fvm\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"fvm\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../default.zircon/host-linux-x64/fvm\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/minfs\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"minfs\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../default.zircon/host-linux-x64/minfs\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/zbi\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"zbi\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../default.zircon/host-linux-x64/zbi\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/artifactory\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"artifactory\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"linux_x64/artifactory\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/bootserver_new\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"bootserver_new\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"linux_x64/bootserver_new\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/botanist\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"botanist\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"linux_x64/botanist\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/covargs\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"covargs\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"linux_x64/covargs\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/debroot\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"debroot\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"linux_x64/debroot\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/ninjatrace\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"ninjatrace\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"linux_x64/ninjatrace\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/seriallistener\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"seriallistener\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"linux_x64/seriallistener\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/size_checker\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"size_checker\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"linux_x64/size_checker\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/symbolize\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"symbolize\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"linux_x64/symbolize\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/testrunner\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"testrunner\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"linux_x64/testrunner\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/testsharder\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"testsharder\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"linux_x64/testsharder\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/upload_debug_symbols\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"upload_debug_symbols\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"linux_x64/upload_debug_symbols\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/bazel\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"bazel\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/bazel/linux_arm64/bazel\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/cargo\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"cargo\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/cargo/linux_arm64/cargo\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/clang-doc\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"clang-doc\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/clang-doc/linux_arm64/clang-doc\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/clang-format-diff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"clang-format-diff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/clang-format-diff/linux_arm64/clang-format-diff\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/clang-format\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"clang-format\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/clang-format/linux_arm64/clang-format\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/clang-tidy-diff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"clang-tidy-diff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/clang-tidy-diff/linux_arm64/clang-tidy-diff\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/clang-tidy\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"clang-tidy\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/clang-tidy/linux_arm64/clang-tidy\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/dart\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"dart\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/dart/linux_arm64/dart\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/dartfmt\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"dartfmt\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/dartfmt/linux_arm64/dartfmt\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/gn\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"gn\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/gn/linux_arm64/gn\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/go\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"go\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/go/linux_arm64/go\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/gofmt\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"gofmt\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/gofmt/linux_arm64/gofmt\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/llvm-cov\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"llvm-cov\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/llvm-cov/linux_arm64/llvm-cov\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/llvm-profdata\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"llvm-profdata\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/llvm-profdata/linux_arm64/llvm-profdata\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/llvm-symbolizer\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"llvm-symbolizer\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/llvm-symbolizer/linux_arm64/llvm-symbolizer\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/ninja\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"ninja\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/ninja/linux_arm64/ninja\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/rustc\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"rustc\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/rustc/linux_arm64/rustc\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/rustdoc\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"rustdoc\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/rustdoc/linux_arm64/rustdoc\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/rustfmt\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"rustfmt\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/rustfmt/linux_arm64/rustfmt\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/yapf\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"yapf\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/yapf/linux_arm64/yapf\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/bootserver\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"bootserver\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../default.zircon/host-linux-arm64/bootserver\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/fidl-format\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"fidl-format\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../default.zircon/host-linux-arm64/fidl-format\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/fidl-lint\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"fidl-lint\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../default.zircon/host-linux-arm64/fidl-lint\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/fvm\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"fvm\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../default.zircon/host-linux-arm64/fvm\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/minfs\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"minfs\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../default.zircon/host-linux-arm64/minfs\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/zbi\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"zbi\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../default.zircon/host-linux-arm64/zbi\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/artifactory\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"artifactory\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"linux_arm64/artifactory\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/bootserver_new\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"bootserver_new\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"linux_arm64/bootserver_new\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/botanist\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"botanist\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"linux_arm64/botanist\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/covargs\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"covargs\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"linux_arm64/covargs\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/debroot\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"debroot\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"linux_arm64/debroot\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/ninjatrace\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"ninjatrace\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"linux_arm64/ninjatrace\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/seriallistener\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"seriallistener\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"linux_arm64/seriallistener\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/size_checker\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"size_checker\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"linux_arm64/size_checker\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/symbolize\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"symbolize\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"linux_arm64/symbolize\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/testrunner\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"testrunner\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"linux_arm64/testrunner\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/testsharder\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"testsharder\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"linux_arm64/testsharder\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/upload_debug_symbols\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"upload_debug_symbols\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"linux_arm64/upload_debug_symbols\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/bazel\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"bazel\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/bazel/mac_x64/bazel\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/cargo\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"cargo\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/cargo/mac_x64/cargo\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/clang-doc\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"clang-doc\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/clang-doc/mac_x64/clang-doc\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/clang-format-diff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"clang-format-diff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/clang-format-diff/mac_x64/clang-format-diff\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/clang-format\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"clang-format\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/clang-format/mac_x64/clang-format\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/clang-tidy-diff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"clang-tidy-diff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/clang-tidy-diff/mac_x64/clang-tidy-diff\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/clang-tidy\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"clang-tidy\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/clang-tidy/mac_x64/clang-tidy\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/dart\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"dart\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/dart/mac_x64/dart\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/dartfmt\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"dartfmt\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/dartfmt/mac_x64/dartfmt\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/gn\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"gn\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/gn/mac_x64/gn\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/go\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"go\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/go/mac_x64/go\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/gofmt\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"gofmt\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/gofmt/mac_x64/gofmt\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/llvm-cov\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"llvm-cov\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/llvm-cov/mac_x64/llvm-cov\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/llvm-profdata\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"llvm-profdata\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/llvm-profdata/mac_x64/llvm-profdata\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/llvm-symbolizer\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"llvm-symbolizer\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/llvm-symbolizer/mac_x64/llvm-symbolizer\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/ninja\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"ninja\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/ninja/mac_x64/ninja\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/rustc\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"rustc\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/rustc/mac_x64/rustc\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/rustdoc\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"rustdoc\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/rustdoc/mac_x64/rustdoc\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/rustfmt\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"rustfmt\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/rustfmt/mac_x64/rustfmt\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/yapf\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"yapf\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/yapf/mac_x64/yapf\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/bootserver\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"bootserver\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../default.zircon/host-mac-x64/bootserver\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/fidl-format\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"fidl-format\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../default.zircon/host-mac-x64/fidl-format\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/fidl-lint\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"fidl-lint\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../default.zircon/host-mac-x64/fidl-lint\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/fvm\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"fvm\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../default.zircon/host-mac-x64/fvm\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/minfs\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"minfs\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../default.zircon/host-mac-x64/minfs\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/zbi\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"zbi\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../default.zircon/host-mac-x64/zbi\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/artifactory\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"artifactory\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"mac_x64/artifactory\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/bootserver_new\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"bootserver_new\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"mac_x64/bootserver_new\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/botanist\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"botanist\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"mac_x64/botanist\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/covargs\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"covargs\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"mac_x64/covargs\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/debroot\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"debroot\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"mac_x64/debroot\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/ninjatrace\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"ninjatrace\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"mac_x64/ninjatrace\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/seriallistener\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"seriallistener\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"mac_x64/seriallistener\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/size_checker\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"size_checker\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"mac_x64/size_checker\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/symbolize\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"symbolize\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"mac_x64/symbolize\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/testrunner\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"testrunner\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"mac_x64/testrunner\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/testsharder\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"testsharder\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"mac_x64/testsharder\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/upload_debug_symbols\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"upload_debug_symbols\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"mac_x64/upload_debug_symbols\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/bazel\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"bazel\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/bazel/mac_arm64/bazel\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/cargo\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"cargo\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/cargo/mac_arm64/cargo\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/clang-doc\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"clang-doc\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/clang-doc/mac_arm64/clang-doc\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/clang-format-diff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"clang-format-diff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/clang-format-diff/mac_arm64/clang-format-diff\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/clang-format\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"clang-format\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/clang-format/mac_arm64/clang-format\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/clang-tidy-diff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"clang-tidy-diff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/clang-tidy-diff/mac_arm64/clang-tidy-diff\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/clang-tidy\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"clang-tidy\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/clang-tidy/mac_arm64/clang-tidy\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/dart\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"dart\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/dart/mac_arm64/dart\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/dartfmt\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"dartfmt\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/dartfmt/mac_arm64/dartfmt\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/gn\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"gn\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/gn/mac_arm64/gn\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/go\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"go\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/go/mac_arm64/go\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/gofmt\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"gofmt\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/gofmt/mac_arm64/gofmt\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/llvm-cov\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"llvm-cov\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/llvm-cov/mac_arm64/llvm-cov\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/llvm-profdata\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"llvm-profdata\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/llvm-profdata/mac_arm64/llvm-profdata\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/llvm-symbolizer\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"llvm-symbolizer\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/llvm-symbolizer/mac_arm64/llvm-symbolizer\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/ninja\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"ninja\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/ninja/mac_arm64/ninja\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/rustc\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"rustc\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/rustc/mac_arm64/rustc\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/rustdoc\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"rustdoc\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/rustdoc/mac_arm64/rustdoc\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/rustfmt\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"rustfmt\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/rustfmt/mac_arm64/rustfmt\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/yapf\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"yapf\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/yapf/mac_arm64/yapf\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/bootserver\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"bootserver\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../default.zircon/host-mac-arm64/bootserver\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/fidl-format\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"fidl-format\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../default.zircon/host-mac-arm64/fidl-format\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/fidl-lint\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"fidl-lint\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../default.zircon/host-mac-arm64/fidl-lint\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/fvm\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"fvm\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../default.zircon/host-mac-arm64/fvm\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/minfs\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"minfs\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../default.zircon/host-mac-arm64/minfs\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/zbi\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"zbi\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../default.zircon/host-mac-arm64/zbi\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/artifactory\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"artifactory\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"mac_arm64/artifactory\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/bootserver_new\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"bootserver_new\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"mac_arm64/bootserver_new\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/botanist\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"botanist\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"mac_arm64/botanist\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/covargs\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"covargs\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"mac_arm64/covargs\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/debroot\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"debroot\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"mac_arm64/debroot\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/ninjatrace\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"ninjatrace\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"mac_arm64/ninjatrace\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/seriallistener\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"seriallistener\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"mac_arm64/seriallistener\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/size_checker\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"size_checker\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"mac_arm64/size_checker\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/symbolize\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"symbolize\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"mac_arm64/symbolize\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/testrunner\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"testrunner\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"mac_arm64/testrunner\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/testsharder\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"testsharder\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"mac_arm64/testsharder\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/upload_debug_symbols\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"upload_debug_symbols\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"mac_arm64/upload_debug_symbols\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }@@@",
+      "@@@STEP_LOG_LINE@json.output@]@@@",
+      "@@@STEP_LOG_END@json.output@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "build.ninja",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "build.ninja.pre_goma",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n",
+      "<LUCI_CONTEXT>",
+      "/path/to/tmp/json"
+    ],
+    "name": "build.ninja.pre_goma.read context",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@3@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "vpython",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "copy",
+      "{\"local_auth\": {\"accounts\": [{\"email\": \"some@example.com\", \"id\": \"test\"}], \"default_account_id\": \"system\"}}",
+      "[CLEANUP]/luci_context._tmp_1"
+    ],
+    "infra_step": true,
+    "name": "build.ninja.pre_goma.write context",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@3@@@",
+      "@@@STEP_LOG_LINE@luci_context._tmp_1@{\"local_auth\": {\"accounts\": [{\"email\": \"some@example.com\", \"id\": \"test\"}], \"default_account_id\": \"system\"}}@@@",
+      "@@@STEP_LOG_END@luci_context._tmp_1@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "[CACHE]/goma/client/goma_ctl.py",
+      "restart"
+    ],
+    "env": {
+      "GOMA_CACHE_DIR": "[CACHE]/goma",
+      "GOMA_DEPS_CACHE_FILE": "goma_deps_cache",
+      "GOMA_DUMP_STATS_FILE": "[CACHE]/goma/client/goma_stats.json",
+      "GOMA_PING_TIMEOUT_SEC": "100",
+      "LUCI_CONTEXT": "[CLEANUP]/luci_context._tmp_1"
+    },
+    "infra_step": true,
+    "name": "build.ninja.pre_goma.start_goma",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@3@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "RECIPE_MODULE[fuchsia::ninja]/resources/ninja_wrapper.py",
+      "--ninja_info_output",
+      "/path/to/tmp/json",
+      "--failure_output",
+      "/path/to/tmp/",
+      "--",
+      "[START_DIR]/prebuilt/third_party/ninja/linux_x64/ninja",
+      "-C",
+      "[START_DIR]/out/default",
+      "-j",
+      "80",
+      "linux_x64/upload_debug_symbols"
+    ],
+    "name": "build.ninja.fuchsia",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "build.ninja.post_goma",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "[CACHE]/goma/client/goma_ctl.py",
+      "jsonstatus",
+      "[CACHE]/goma/client/jsonstatus"
+    ],
+    "env": {
+      "GOMA_CACHE_DIR": "[CACHE]/goma",
+      "GOMA_DEPS_CACHE_FILE": "goma_deps_cache",
+      "GOMA_DUMP_STATS_FILE": "[CACHE]/goma/client/goma_stats.json",
+      "LUCI_CONTEXT": "[CLEANUP]/luci_context._tmp_1"
+    },
+    "name": "build.ninja.post_goma.goma_jsonstatus",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@3@@@",
+      "@@@STEP_LOG_LINE@json.output@{@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"notice\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@    {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"infra_status\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"num_user_error\": 0, @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"ping_status_code\": 200@@@",
+      "@@@STEP_LOG_LINE@json.output@      }@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  ]@@@",
+      "@@@STEP_LOG_LINE@json.output@}@@@",
+      "@@@STEP_LOG_END@json.output@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "[CACHE]/goma/client/goma_ctl.py",
+      "stat"
+    ],
+    "env": {
+      "GOMA_CACHE_DIR": "[CACHE]/goma",
+      "GOMA_DEPS_CACHE_FILE": "goma_deps_cache",
+      "GOMA_DUMP_STATS_FILE": "[CACHE]/goma/client/goma_stats.json",
+      "LUCI_CONTEXT": "[CLEANUP]/luci_context._tmp_1"
+    },
+    "name": "build.ninja.post_goma.goma_stats",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@3@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "[CACHE]/goma/client/goma_ctl.py",
+      "stop"
+    ],
+    "env": {
+      "GOMA_CACHE_DIR": "[CACHE]/goma",
+      "GOMA_DEPS_CACHE_FILE": "goma_deps_cache",
+      "GOMA_DUMP_STATS_FILE": "[CACHE]/goma/client/goma_stats.json",
+      "LUCI_CONTEXT": "[CLEANUP]/luci_context._tmp_1"
+    },
+    "name": "build.ninja.post_goma.stop_goma",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@3@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "vpython",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "copy",
+      "[CACHE]/goma/client/goma_stats.json",
+      "/path/to/tmp/"
+    ],
+    "infra_step": true,
+    "name": "build.ninja.post_goma.read goma_stats.json",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@3@@@",
+      "@@@STEP_LOG_LINE@goma_stats.json@{}@@@",
+      "@@@STEP_LOG_END@goma_stats.json@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "read_manifest_flutter/fuchsia-debug-symbols-arm64"
+  },
+  {
+    "cmd": [
+      "[START_DIR]/cipd/jiri/jiri",
+      "manifest",
+      "-vv",
+      "-time",
+      "-j=50",
+      "-element",
+      "flutter/fuchsia-debug-symbols-arm64",
+      "-template",
+      "\n      {\n        \"name\": \"{{.Name}}\",\n        \"version\": \"{{.Version}}\",\n        \"path\": \"{{.Path}}\",\n        \"internal\": \"{{.Internal}}\",\n        \"attributes\": \"{{.Attributes}}\"\n      }\n      ",
+      "integration/fuchsia/flower"
+    ],
+    "cwd": "[START_DIR]/integration",
+    "name": "read_manifest_flutter/fuchsia-debug-symbols-arm64.jiri manifest",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_LINE@json.output@{@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"attributes\": \"debug-symbols,debug-symbols-arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"path\": \"prebuilt/build_ids/arm64/flutter\"@@@",
+      "@@@STEP_LOG_LINE@json.output@}@@@",
+      "@@@STEP_LOG_END@json.output@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "vpython",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "glob",
+      "[START_DIR]/prebuilt/build_ids/arm64/flutter",
+      "**/*.tar.bz2"
+    ],
+    "infra_step": true,
+    "name": "find archives for flutter/fuchsia-debug-symbols-arm64",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@glob@[START_DIR]/prebuilt/build_ids/arm64/flutter/[START_DIR]/prebuilt/build_ids/arm64/flutter/symbols.tar.bz2@@@",
+      "@@@STEP_LOG_END@glob@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::archive]/resources/extract.py",
+      "--json-input",
+      "{\"archive_file\": \"[START_DIR]/prebuilt/build_ids/arm64/flutter/[START_DIR]/prebuilt/build_ids/arm64/flutter/symbols.tar.bz2\", \"include_files\": [], \"output\": \"[START_DIR]/flutter/fuchsia-debug-symbols-arm64/symbols.tar.bz2\", \"safe_mode\": true}",
+      "--json-output",
+      "/path/to/tmp/json"
+    ],
+    "name": "extract [START_DIR]/prebuilt/build_ids/arm64/flutter/[START_DIR]/prebuilt/build_ids/arm64/flutter/symbols.tar.bz2",
+    "~followup_annotations": [
+      "@@@STEP_TEXT@<br/>extracted 1337 files - 50159.75 MB@@@",
+      "@@@STEP_LOG_LINE@json.output@{@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"extracted\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"bytes\": 50159747054, @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"filecount\": 1337@@@",
+      "@@@STEP_LOG_LINE@json.output@  }@@@",
+      "@@@STEP_LOG_LINE@json.output@}@@@",
+      "@@@STEP_LOG_END@json.output@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[START_DIR]/out/default/linux_x64/upload_debug_symbols",
+      "-bucket",
+      "fuchsia-debug-symbols-shortlived",
+      "-j",
+      "1000",
+      "[START_DIR]/flutter/fuchsia-debug-symbols-arm64/symbols.tar.bz2"
+    ],
+    "infra_step": true,
+    "name": "upload debug symbols"
+  },
+  {
+    "name": "$result"
+  }
+]
\ No newline at end of file
diff --git a/recipe_modules/debug_symbols/examples/full.expected/package not in attributes.json b/recipe_modules/debug_symbols/examples/full.expected/package not in attributes.json
new file mode 100644
index 0000000..2cf37ec
--- /dev/null
+++ b/recipe_modules/debug_symbols/examples/full.expected/package not in attributes.json
@@ -0,0 +1,1455 @@
+[
+  {
+    "cmd": [],
+    "name": "ensure jiri"
+  },
+  {
+    "cmd": [
+      "cipd",
+      "ensure",
+      "-root",
+      "[START_DIR]/cipd/jiri",
+      "-ensure-file",
+      "fuchsia/tools/jiri/${platform} git_revision:60436c301224231cb99be41ce937dfc223bee272",
+      "-json-output",
+      "/path/to/tmp/json"
+    ],
+    "infra_step": true,
+    "name": "ensure jiri.ensure_installed",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_LINE@json.output@{@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"result\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@      {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"instance_id\": \"resolved-instance_id-of-git_revision:604\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"package\": \"fuchsia/tools/jiri/resolved-platform\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      }@@@",
+      "@@@STEP_LOG_LINE@json.output@    ]@@@",
+      "@@@STEP_LOG_LINE@json.output@  }@@@",
+      "@@@STEP_LOG_LINE@json.output@}@@@",
+      "@@@STEP_LOG_END@json.output@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[START_DIR]/cipd/jiri/jiri",
+      "init",
+      "-vv",
+      "-time",
+      "-j=50",
+      "-analytics-opt=false",
+      "-rewrite-sso-to-https=true",
+      "-cache",
+      "[CACHE]/git",
+      "-shared",
+      "-enable-lockfile=true",
+      "-fetch-optional=debug-symbols"
+    ],
+    "infra_step": true,
+    "name": "jiri init"
+  },
+  {
+    "cmd": [
+      "[START_DIR]/cipd/jiri/jiri",
+      "import",
+      "-vv",
+      "-time",
+      "-j=50",
+      "-name",
+      "integration",
+      "integration/fuchsia/flower",
+      "sso://fuchsia/integration"
+    ],
+    "infra_step": true,
+    "name": "jiri import"
+  },
+  {
+    "cmd": [
+      "[START_DIR]/cipd/jiri/jiri",
+      "fetch-packages",
+      "-vv",
+      "-time",
+      "-j=50",
+      "-attempts=3",
+      "-local-manifest=true"
+    ],
+    "infra_step": true,
+    "name": "jiri fetch-packages"
+  },
+  {
+    "cmd": [],
+    "name": "build"
+  },
+  {
+    "cmd": [],
+    "name": "build.ensure goma",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "cipd",
+      "ensure",
+      "-root",
+      "[CACHE]/goma/client",
+      "-ensure-file",
+      "infra_internal/goma/client/${platform} release",
+      "-json-output",
+      "/path/to/tmp/json"
+    ],
+    "infra_step": true,
+    "name": "build.ensure goma.ensure_installed",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@",
+      "@@@STEP_LOG_LINE@json.output@{@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"result\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@      {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"instance_id\": \"resolved-instance_id-of-release---------\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"package\": \"infra_internal/goma/client/resolved-platform\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      }@@@",
+      "@@@STEP_LOG_LINE@json.output@    ]@@@",
+      "@@@STEP_LOG_LINE@json.output@  }@@@",
+      "@@@STEP_LOG_LINE@json.output@}@@@",
+      "@@@STEP_LOG_END@json.output@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[START_DIR]/prebuilt/third_party/gn/linux-x64/gn",
+      "gen",
+      "[START_DIR]/out/default",
+      "--check",
+      "--args=import(\"//products/bringup.gni\")  base_package_labels+=[\"//bundles:infratools\"] goma_dir=\"[CACHE]/goma/client\" is_debug=true target_cpu=\"x64\" use_goma=true"
+    ],
+    "name": "build.gn gen",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n",
+      "[START_DIR]/out/default/zircon.json",
+      "/path/to/tmp/json"
+    ],
+    "name": "build.read zircon ninja instructions",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_LINE@json.output@{@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"dir\": \"../default.zircon\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"targets\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"legacy-host_tests\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"manifest-$cpu\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  ]@@@",
+      "@@@STEP_LOG_LINE@json.output@}@@@",
+      "@@@STEP_LOG_END@json.output@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n",
+      "[START_DIR]/out/default/tool_paths.json",
+      "/path/to/tmp/json"
+    ],
+    "name": "build.read tool_paths manifest",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_LINE@json.output@[@@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/bazel\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"bazel\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/bazel/linux_x64/bazel\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/cargo\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"cargo\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/cargo/linux_x64/cargo\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/clang-doc\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"clang-doc\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/clang-doc/linux_x64/clang-doc\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/clang-format-diff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"clang-format-diff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/clang-format-diff/linux_x64/clang-format-diff\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/clang-format\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"clang-format\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/clang-format/linux_x64/clang-format\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/clang-tidy-diff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"clang-tidy-diff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/clang-tidy-diff/linux_x64/clang-tidy-diff\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/clang-tidy\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"clang-tidy\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/clang-tidy/linux_x64/clang-tidy\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/dart\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"dart\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/dart/linux_x64/dart\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/dartfmt\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"dartfmt\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/dartfmt/linux_x64/dartfmt\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/gn\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"gn\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/gn/linux_x64/gn\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/go\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"go\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/go/linux_x64/go\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/gofmt\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"gofmt\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/gofmt/linux_x64/gofmt\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/llvm-cov\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"llvm-cov\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/llvm-cov/linux_x64/llvm-cov\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/llvm-profdata\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"llvm-profdata\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/llvm-profdata/linux_x64/llvm-profdata\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/llvm-symbolizer\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"llvm-symbolizer\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/ninja\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"ninja\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/ninja/linux_x64/ninja\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/rustc\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"rustc\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/rustc/linux_x64/rustc\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/rustdoc\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"rustdoc\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/rustdoc/linux_x64/rustdoc\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/rustfmt\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"rustfmt\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/rustfmt/linux_x64/rustfmt\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/yapf\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"yapf\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/yapf/linux_x64/yapf\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/bootserver\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"bootserver\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../default.zircon/host-linux-x64/bootserver\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/fidl-format\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"fidl-format\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../default.zircon/host-linux-x64/fidl-format\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/fidl-lint\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"fidl-lint\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../default.zircon/host-linux-x64/fidl-lint\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/fvm\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"fvm\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../default.zircon/host-linux-x64/fvm\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/minfs\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"minfs\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../default.zircon/host-linux-x64/minfs\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/zbi\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"zbi\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../default.zircon/host-linux-x64/zbi\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/artifactory\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"artifactory\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"linux_x64/artifactory\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/bootserver_new\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"bootserver_new\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"linux_x64/bootserver_new\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/botanist\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"botanist\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"linux_x64/botanist\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/covargs\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"covargs\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"linux_x64/covargs\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/debroot\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"debroot\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"linux_x64/debroot\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/ninjatrace\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"ninjatrace\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"linux_x64/ninjatrace\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/seriallistener\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"seriallistener\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"linux_x64/seriallistener\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/size_checker\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"size_checker\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"linux_x64/size_checker\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/symbolize\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"symbolize\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"linux_x64/symbolize\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/testrunner\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"testrunner\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"linux_x64/testrunner\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/testsharder\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"testsharder\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"linux_x64/testsharder\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/upload_debug_symbols\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"upload_debug_symbols\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"linux_x64/upload_debug_symbols\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/bazel\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"bazel\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/bazel/linux_arm64/bazel\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/cargo\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"cargo\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/cargo/linux_arm64/cargo\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/clang-doc\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"clang-doc\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/clang-doc/linux_arm64/clang-doc\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/clang-format-diff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"clang-format-diff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/clang-format-diff/linux_arm64/clang-format-diff\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/clang-format\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"clang-format\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/clang-format/linux_arm64/clang-format\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/clang-tidy-diff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"clang-tidy-diff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/clang-tidy-diff/linux_arm64/clang-tidy-diff\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/clang-tidy\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"clang-tidy\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/clang-tidy/linux_arm64/clang-tidy\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/dart\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"dart\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/dart/linux_arm64/dart\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/dartfmt\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"dartfmt\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/dartfmt/linux_arm64/dartfmt\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/gn\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"gn\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/gn/linux_arm64/gn\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/go\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"go\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/go/linux_arm64/go\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/gofmt\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"gofmt\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/gofmt/linux_arm64/gofmt\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/llvm-cov\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"llvm-cov\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/llvm-cov/linux_arm64/llvm-cov\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/llvm-profdata\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"llvm-profdata\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/llvm-profdata/linux_arm64/llvm-profdata\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/llvm-symbolizer\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"llvm-symbolizer\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/llvm-symbolizer/linux_arm64/llvm-symbolizer\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/ninja\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"ninja\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/ninja/linux_arm64/ninja\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/rustc\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"rustc\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/rustc/linux_arm64/rustc\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/rustdoc\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"rustdoc\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/rustdoc/linux_arm64/rustdoc\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/rustfmt\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"rustfmt\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/rustfmt/linux_arm64/rustfmt\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/yapf\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"yapf\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/yapf/linux_arm64/yapf\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/bootserver\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"bootserver\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../default.zircon/host-linux-arm64/bootserver\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/fidl-format\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"fidl-format\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../default.zircon/host-linux-arm64/fidl-format\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/fidl-lint\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"fidl-lint\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../default.zircon/host-linux-arm64/fidl-lint\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/fvm\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"fvm\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../default.zircon/host-linux-arm64/fvm\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/minfs\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"minfs\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../default.zircon/host-linux-arm64/minfs\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/zbi\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"zbi\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../default.zircon/host-linux-arm64/zbi\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/artifactory\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"artifactory\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"linux_arm64/artifactory\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/bootserver_new\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"bootserver_new\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"linux_arm64/bootserver_new\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/botanist\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"botanist\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"linux_arm64/botanist\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/covargs\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"covargs\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"linux_arm64/covargs\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/debroot\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"debroot\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"linux_arm64/debroot\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/ninjatrace\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"ninjatrace\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"linux_arm64/ninjatrace\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/seriallistener\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"seriallistener\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"linux_arm64/seriallistener\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/size_checker\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"size_checker\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"linux_arm64/size_checker\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/symbolize\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"symbolize\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"linux_arm64/symbolize\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/testrunner\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"testrunner\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"linux_arm64/testrunner\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/testsharder\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"testsharder\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"linux_arm64/testsharder\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/upload_debug_symbols\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"upload_debug_symbols\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"linux_arm64/upload_debug_symbols\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/bazel\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"bazel\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/bazel/mac_x64/bazel\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/cargo\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"cargo\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/cargo/mac_x64/cargo\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/clang-doc\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"clang-doc\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/clang-doc/mac_x64/clang-doc\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/clang-format-diff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"clang-format-diff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/clang-format-diff/mac_x64/clang-format-diff\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/clang-format\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"clang-format\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/clang-format/mac_x64/clang-format\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/clang-tidy-diff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"clang-tidy-diff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/clang-tidy-diff/mac_x64/clang-tidy-diff\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/clang-tidy\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"clang-tidy\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/clang-tidy/mac_x64/clang-tidy\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/dart\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"dart\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/dart/mac_x64/dart\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/dartfmt\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"dartfmt\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/dartfmt/mac_x64/dartfmt\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/gn\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"gn\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/gn/mac_x64/gn\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/go\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"go\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/go/mac_x64/go\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/gofmt\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"gofmt\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/gofmt/mac_x64/gofmt\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/llvm-cov\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"llvm-cov\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/llvm-cov/mac_x64/llvm-cov\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/llvm-profdata\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"llvm-profdata\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/llvm-profdata/mac_x64/llvm-profdata\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/llvm-symbolizer\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"llvm-symbolizer\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/llvm-symbolizer/mac_x64/llvm-symbolizer\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/ninja\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"ninja\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/ninja/mac_x64/ninja\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/rustc\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"rustc\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/rustc/mac_x64/rustc\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/rustdoc\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"rustdoc\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/rustdoc/mac_x64/rustdoc\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/rustfmt\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"rustfmt\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/rustfmt/mac_x64/rustfmt\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/yapf\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"yapf\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/yapf/mac_x64/yapf\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/bootserver\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"bootserver\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../default.zircon/host-mac-x64/bootserver\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/fidl-format\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"fidl-format\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../default.zircon/host-mac-x64/fidl-format\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/fidl-lint\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"fidl-lint\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../default.zircon/host-mac-x64/fidl-lint\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/fvm\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"fvm\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../default.zircon/host-mac-x64/fvm\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/minfs\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"minfs\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../default.zircon/host-mac-x64/minfs\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/zbi\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"zbi\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../default.zircon/host-mac-x64/zbi\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/artifactory\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"artifactory\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"mac_x64/artifactory\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/bootserver_new\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"bootserver_new\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"mac_x64/bootserver_new\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/botanist\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"botanist\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"mac_x64/botanist\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/covargs\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"covargs\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"mac_x64/covargs\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/debroot\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"debroot\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"mac_x64/debroot\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/ninjatrace\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"ninjatrace\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"mac_x64/ninjatrace\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/seriallistener\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"seriallistener\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"mac_x64/seriallistener\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/size_checker\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"size_checker\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"mac_x64/size_checker\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/symbolize\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"symbolize\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"mac_x64/symbolize\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/testrunner\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"testrunner\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"mac_x64/testrunner\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/testsharder\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"testsharder\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"mac_x64/testsharder\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/upload_debug_symbols\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"upload_debug_symbols\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"mac_x64/upload_debug_symbols\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/bazel\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"bazel\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/bazel/mac_arm64/bazel\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/cargo\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"cargo\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/cargo/mac_arm64/cargo\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/clang-doc\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"clang-doc\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/clang-doc/mac_arm64/clang-doc\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/clang-format-diff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"clang-format-diff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/clang-format-diff/mac_arm64/clang-format-diff\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/clang-format\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"clang-format\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/clang-format/mac_arm64/clang-format\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/clang-tidy-diff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"clang-tidy-diff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/clang-tidy-diff/mac_arm64/clang-tidy-diff\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/clang-tidy\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"clang-tidy\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/clang-tidy/mac_arm64/clang-tidy\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/dart\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"dart\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/dart/mac_arm64/dart\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/dartfmt\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"dartfmt\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/dartfmt/mac_arm64/dartfmt\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/gn\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"gn\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/gn/mac_arm64/gn\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/go\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"go\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/go/mac_arm64/go\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/gofmt\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"gofmt\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/gofmt/mac_arm64/gofmt\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/llvm-cov\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"llvm-cov\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/llvm-cov/mac_arm64/llvm-cov\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/llvm-profdata\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"llvm-profdata\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/llvm-profdata/mac_arm64/llvm-profdata\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/llvm-symbolizer\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"llvm-symbolizer\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/llvm-symbolizer/mac_arm64/llvm-symbolizer\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/ninja\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"ninja\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/ninja/mac_arm64/ninja\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/rustc\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"rustc\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/rustc/mac_arm64/rustc\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/rustdoc\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"rustdoc\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/rustdoc/mac_arm64/rustdoc\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/rustfmt\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"rustfmt\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/rustfmt/mac_arm64/rustfmt\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/yapf\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"yapf\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../../prebuilt/third_party/yapf/mac_arm64/yapf\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/bootserver\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"bootserver\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../default.zircon/host-mac-arm64/bootserver\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/fidl-format\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"fidl-format\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../default.zircon/host-mac-arm64/fidl-format\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/fidl-lint\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"fidl-lint\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../default.zircon/host-mac-arm64/fidl-lint\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/fvm\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"fvm\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../default.zircon/host-mac-arm64/fvm\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/minfs\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"minfs\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../default.zircon/host-mac-arm64/minfs\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/zbi\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"zbi\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../default.zircon/host-mac-arm64/zbi\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/artifactory\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"artifactory\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"mac_arm64/artifactory\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/bootserver_new\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"bootserver_new\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"mac_arm64/bootserver_new\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/botanist\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"botanist\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"mac_arm64/botanist\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/covargs\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"covargs\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"mac_arm64/covargs\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/debroot\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"debroot\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"mac_arm64/debroot\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/ninjatrace\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"ninjatrace\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"mac_arm64/ninjatrace\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/seriallistener\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"seriallistener\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"mac_arm64/seriallistener\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/size_checker\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"size_checker\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"mac_arm64/size_checker\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/symbolize\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"symbolize\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"mac_arm64/symbolize\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/testrunner\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"testrunner\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"mac_arm64/testrunner\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/testsharder\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"testsharder\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"mac_arm64/testsharder\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"label\": \"//tools/upload_debug_symbols\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"upload_debug_symbols\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"os\": \"mac\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"mac_arm64/upload_debug_symbols\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }@@@",
+      "@@@STEP_LOG_LINE@json.output@]@@@",
+      "@@@STEP_LOG_END@json.output@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "build.ninja",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "build.ninja.pre_goma",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n",
+      "<LUCI_CONTEXT>",
+      "/path/to/tmp/json"
+    ],
+    "name": "build.ninja.pre_goma.read context",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@3@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "vpython",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "copy",
+      "{\"local_auth\": {\"accounts\": [{\"email\": \"some@example.com\", \"id\": \"test\"}], \"default_account_id\": \"system\"}}",
+      "[CLEANUP]/luci_context._tmp_1"
+    ],
+    "infra_step": true,
+    "name": "build.ninja.pre_goma.write context",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@3@@@",
+      "@@@STEP_LOG_LINE@luci_context._tmp_1@{\"local_auth\": {\"accounts\": [{\"email\": \"some@example.com\", \"id\": \"test\"}], \"default_account_id\": \"system\"}}@@@",
+      "@@@STEP_LOG_END@luci_context._tmp_1@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "[CACHE]/goma/client/goma_ctl.py",
+      "restart"
+    ],
+    "env": {
+      "GOMA_CACHE_DIR": "[CACHE]/goma",
+      "GOMA_DEPS_CACHE_FILE": "goma_deps_cache",
+      "GOMA_DUMP_STATS_FILE": "[CACHE]/goma/client/goma_stats.json",
+      "GOMA_PING_TIMEOUT_SEC": "100",
+      "LUCI_CONTEXT": "[CLEANUP]/luci_context._tmp_1"
+    },
+    "infra_step": true,
+    "name": "build.ninja.pre_goma.start_goma",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@3@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "RECIPE_MODULE[fuchsia::ninja]/resources/ninja_wrapper.py",
+      "--ninja_info_output",
+      "/path/to/tmp/json",
+      "--failure_output",
+      "/path/to/tmp/",
+      "--",
+      "[START_DIR]/prebuilt/third_party/ninja/linux_x64/ninja",
+      "-C",
+      "[START_DIR]/out/default",
+      "-j",
+      "80",
+      "linux_x64/upload_debug_symbols"
+    ],
+    "name": "build.ninja.fuchsia",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "build.ninja.post_goma",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "[CACHE]/goma/client/goma_ctl.py",
+      "jsonstatus",
+      "[CACHE]/goma/client/jsonstatus"
+    ],
+    "env": {
+      "GOMA_CACHE_DIR": "[CACHE]/goma",
+      "GOMA_DEPS_CACHE_FILE": "goma_deps_cache",
+      "GOMA_DUMP_STATS_FILE": "[CACHE]/goma/client/goma_stats.json",
+      "LUCI_CONTEXT": "[CLEANUP]/luci_context._tmp_1"
+    },
+    "name": "build.ninja.post_goma.goma_jsonstatus",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@3@@@",
+      "@@@STEP_LOG_LINE@json.output@{@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"notice\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@    {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"infra_status\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"num_user_error\": 0, @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"ping_status_code\": 200@@@",
+      "@@@STEP_LOG_LINE@json.output@      }@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  ]@@@",
+      "@@@STEP_LOG_LINE@json.output@}@@@",
+      "@@@STEP_LOG_END@json.output@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "[CACHE]/goma/client/goma_ctl.py",
+      "stat"
+    ],
+    "env": {
+      "GOMA_CACHE_DIR": "[CACHE]/goma",
+      "GOMA_DEPS_CACHE_FILE": "goma_deps_cache",
+      "GOMA_DUMP_STATS_FILE": "[CACHE]/goma/client/goma_stats.json",
+      "LUCI_CONTEXT": "[CLEANUP]/luci_context._tmp_1"
+    },
+    "name": "build.ninja.post_goma.goma_stats",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@3@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "[CACHE]/goma/client/goma_ctl.py",
+      "stop"
+    ],
+    "env": {
+      "GOMA_CACHE_DIR": "[CACHE]/goma",
+      "GOMA_DEPS_CACHE_FILE": "goma_deps_cache",
+      "GOMA_DUMP_STATS_FILE": "[CACHE]/goma/client/goma_stats.json",
+      "LUCI_CONTEXT": "[CLEANUP]/luci_context._tmp_1"
+    },
+    "name": "build.ninja.post_goma.stop_goma",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@3@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "vpython",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "copy",
+      "[CACHE]/goma/client/goma_stats.json",
+      "/path/to/tmp/"
+    ],
+    "infra_step": true,
+    "name": "build.ninja.post_goma.read goma_stats.json",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@3@@@",
+      "@@@STEP_LOG_LINE@goma_stats.json@{}@@@",
+      "@@@STEP_LOG_END@goma_stats.json@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "read_manifest_flutter/fuchsia-debug-symbols-arm64"
+  },
+  {
+    "cmd": [
+      "[START_DIR]/cipd/jiri/jiri",
+      "manifest",
+      "-vv",
+      "-time",
+      "-j=50",
+      "-element",
+      "flutter/fuchsia-debug-symbols-arm64",
+      "-template",
+      "\n      {\n        \"name\": \"{{.Name}}\",\n        \"version\": \"{{.Version}}\",\n        \"path\": \"{{.Path}}\",\n        \"internal\": \"{{.Internal}}\",\n        \"attributes\": \"{{.Attributes}}\"\n      }\n      ",
+      "integration/fuchsia/flower"
+    ],
+    "cwd": "[START_DIR]/integration",
+    "name": "read_manifest_flutter/fuchsia-debug-symbols-arm64.jiri manifest",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_LINE@json.output@{@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"attributes\": \"fuchsia-arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"path\": \"prebuilt/build_ids/arm64/flutter\"@@@",
+      "@@@STEP_LOG_LINE@json.output@}@@@",
+      "@@@STEP_LOG_END@json.output@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[START_DIR]/out/default/linux_x64/upload_debug_symbols",
+      "-bucket",
+      "fuchsia-debug-symbols-shortlived",
+      "-j",
+      "1000"
+    ],
+    "infra_step": true,
+    "name": "upload debug symbols"
+  },
+  {
+    "name": "$result"
+  }
+]
\ No newline at end of file
diff --git a/recipe_modules/debug_symbols/examples/full.py b/recipe_modules/debug_symbols/examples/full.py
new file mode 100644
index 0000000..c5ef4fe
--- /dev/null
+++ b/recipe_modules/debug_symbols/examples/full.py
@@ -0,0 +1,43 @@
+# Copyright 2020 The Fuchsia Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+DEPS = [
+    'debug_symbols', 'recipe_engine/path', 'fuchsia/jiri', 'recipe_engine/json'
+]
+
+
+def RunSteps(api):
+  """Tests for fetching and uploading debug symbols."""
+  project_dir = api.path['start_dir'].join('integration')
+  checkout_root = api.path['start_dir']
+  api.debug_symbols.fetch_and_upload(
+      project='integration',
+      checkout_root=checkout_root,
+      import_in='integration/fuchsia/flower',
+      remote='sso://fuchsia/integration',
+      project_dir=project_dir,
+      packages=['flutter/fuchsia-debug-symbols-arm64'],
+      debug_symbol_attribute='debug-symbols',
+      debug_symbol_gcs_buckets=['fuchsia-debug-symbols-shortlived'])
+
+
+def GenTests(api):
+  yield api.test('default') + api.jiri.read_manifest_element(
+      api,
+      'fuchsia/prebuilts',
+      'package',
+      'flutter/fuchsia-debug-symbols-arm64',
+      test_output={
+          'path': 'prebuilt/build_ids/arm64/flutter',
+          'attributes': 'debug-symbols,debug-symbols-arm64',
+      })
+  yield api.test('package not in attributes') + api.jiri.read_manifest_element(
+      api,
+      'fuchsia/prebuilts',
+      'package',
+      'flutter/fuchsia-debug-symbols-arm64',
+      test_output={
+          'path': 'prebuilt/build_ids/arm64/flutter',
+          'attributes': 'fuchsia-arm64',
+      })