[zbi_test] Add support for running zbi_tests on hardware.

This assumes that device types will be specified for each test in the
zbi_tests.json like so:
`[
  {
    ...,
    "device_types": [
      "QEMU",
      "Intel NUC Kit NUC7i5DNHE"
    ],
    "name": ...,
    "success_string": ...,
    ...
  },
  ...
]`

Bug: 10196
Change-Id: I2edfab68425a406cc7f3a2a9fed3264b74c5313f
diff --git a/recipe_modules/build/examples/full.expected/zbi_tests.json b/recipe_modules/build/examples/full.expected/zbi_tests.json
index e78ef5c..76adda7 100644
--- a/recipe_modules/build/examples/full.expected/zbi_tests.json
+++ b/recipe_modules/build/examples/full.expected/zbi_tests.json
@@ -1718,6 +1718,11 @@
       "@@@STEP_LOG_LINE@json.output@[@@@",
       "@@@STEP_LOG_LINE@json.output@  {@@@",
       "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"device_types\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"QEMU\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"AEMU\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"Vim2\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    ], @@@",
       "@@@STEP_LOG_LINE@json.output@    \"name\": \"zbi-test-arm64\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"path\": \"../default.zircon/zbi-test-arm64.zbi\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"success_string\": \"purple monkey dishwasher\", @@@",
diff --git a/recipe_modules/build/test_api.py b/recipe_modules/build/test_api.py
index 8f0cfe4..f9726fc 100644
--- a/recipe_modules/build/test_api.py
+++ b/recipe_modules/build/test_api.py
@@ -227,11 +227,17 @@
     return self.m.testsharder.execute(
         step_name='create test shards', shards=shards)
 
-  def mock_zbi_test(self, target):
-    return {
+  def mock_zbi_test(self, target, with_devices=True):
+    zbi_test = {
         'cpu': target,
         'name': 'zbi-test-{}'.format(target),
         'type': 'zbi',
         'success_string': 'purple monkey dishwasher',
         'path': '../default.zircon/zbi-test-{}.zbi'.format(target),
     }
+    if with_devices:
+      zbi_test['device_types'] = [
+          'QEMU', 'AEMU',
+          'Intel NUC Kit NUC7i5DNHE' if target == 'x64' else 'Vim2'
+      ]
+    return zbi_test
diff --git a/recipes/zbi_test.expected/flake-x64-AEMU.json b/recipes/zbi_test.expected/fail-arm64.json
similarity index 73%
copy from recipes/zbi_test.expected/flake-x64-AEMU.json
copy to recipes/zbi_test.expected/fail-arm64.json
index 08ed7fe..7bf8378 100644
--- a/recipes/zbi_test.expected/flake-x64-AEMU.json
+++ b/recipes/zbi_test.expected/fail-arm64.json
@@ -242,7 +242,7 @@
       "gen",
       "[START_DIR]/fuchsia/out/default",
       "--check",
-      "--args=import(\"//products/bringup.gni\")  base_package_labels+=[\"//garnet/tests/zircon:zbi_tests\",\"//bundles:infratools\"] goma_dir=\"[CACHE]/goma/client\" is_debug=true select_variant=[\"clang\"] target_cpu=\"x64\" use_goma=true"
+      "--args=import(\"//products/bringup.gni\")  base_package_labels+=[\"//garnet/tests/zircon:zbi_tests\",\"//bundles:infratools\"] goma_dir=\"[CACHE]/goma/client\" is_debug=true select_variant=[\"clang\"] target_cpu=\"arm64\" use_goma=true"
     ],
     "cwd": "[START_DIR]/fuchsia",
     "name": "build.gn gen",
@@ -1447,11 +1447,15 @@
       "@@@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@    \"name\": \"zbi-test-x64\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../default.zircon/zbi-test-x64.zbi\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"device_types\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"QEMU\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"AEMU\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"Vim2\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    ], @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"zbi-test-arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../default.zircon/zbi-test-arm64.zbi\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"success_string\": \"purple monkey dishwasher\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"task_name\": \"zbi-test-x64 - AEMU\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"type\": \"zbi\"@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@]@@@",
@@ -1541,7 +1545,7 @@
       "80",
       "legacy-host_tests",
       "manifest-$cpu",
-      "zbi-test-x64.zbi"
+      "zbi-test-arm64.zbi"
     ],
     "name": "build.ninja.zircon",
     "~followup_annotations": [
@@ -1739,21 +1743,7 @@
   },
   {
     "cmd": [],
-    "name": "prepare test: zbi-test-x64 - AEMU"
-  },
-  {
-    "cmd": [
-      "python",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/symlink.py",
-      "--link-json",
-      "{\"[START_DIR]/fuchsia/out/default/../default.zircon/zbi-test-x64.zbi\": [\"[CLEANUP]/isolate_tmp_2/zbi-test-x64.zbi\"], \"[START_DIR]/fuchsia/out/default/linux_x64/botanist\": [\"[CLEANUP]/isolate_tmp_2/botanist\"], \"[START_DIR]/fuchsia/out/default/multiboot.bin\": [\"[CLEANUP]/isolate_tmp_2/multiboot.bin\"]}"
-    ],
-    "infra_step": true,
-    "name": "prepare test: zbi-test-x64 - AEMU.create tree of images",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
+    "name": "prepare test: zbi-test-arm64 - QEMU"
   },
   {
     "cmd": [
@@ -1763,21 +1753,25 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "[\n  {\n    \"name\": \"zircon-a\", \n    \"success_string\": \"purple monkey dishwasher\", \n    \"task_name\": \"zbi-test-x64 - AEMU\", \n    \"path\": \"zbi-test-x64.zbi\", \n    \"type\": \"zbi\", \n    \"cpu\": \"x64\"\n  }, \n  {\n    \"path\": \"multiboot.bin\", \n    \"type\": \"kernel\", \n    \"name\": \"qemu-kernel\"\n  }\n]",
+      "[\n  {\n    \"name\": \"zircon-a\", \n    \"device_types\": [\n      \"QEMU\", \n      \"AEMU\", \n      \"Vim2\"\n    ], \n    \"success_string\": \"purple monkey dishwasher\", \n    \"path\": \"zbi-test-arm64.zbi\", \n    \"type\": \"zbi\", \n    \"cpu\": \"arm64\"\n  }, \n  {\n    \"path\": \"multiboot.bin\", \n    \"type\": \"kernel\", \n    \"name\": \"qemu-kernel\"\n  }\n]",
       "[CLEANUP]/isolate_tmp_2/images.json"
     ],
     "infra_step": true,
-    "name": "prepare test: zbi-test-x64 - AEMU.write image manifest",
+    "name": "prepare test: zbi-test-arm64 - QEMU.write image manifest",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@images.json@[@@@",
       "@@@STEP_LOG_LINE@images.json@  {@@@",
       "@@@STEP_LOG_LINE@images.json@    \"name\": \"zircon-a\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"device_types\": [@@@",
+      "@@@STEP_LOG_LINE@images.json@      \"QEMU\", @@@",
+      "@@@STEP_LOG_LINE@images.json@      \"AEMU\", @@@",
+      "@@@STEP_LOG_LINE@images.json@      \"Vim2\"@@@",
+      "@@@STEP_LOG_LINE@images.json@    ], @@@",
       "@@@STEP_LOG_LINE@images.json@    \"success_string\": \"purple monkey dishwasher\", @@@",
-      "@@@STEP_LOG_LINE@images.json@    \"task_name\": \"zbi-test-x64 - AEMU\", @@@",
-      "@@@STEP_LOG_LINE@images.json@    \"path\": \"zbi-test-x64.zbi\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"path\": \"zbi-test-arm64.zbi\", @@@",
       "@@@STEP_LOG_LINE@images.json@    \"type\": \"zbi\", @@@",
-      "@@@STEP_LOG_LINE@images.json@    \"cpu\": \"x64\"@@@",
+      "@@@STEP_LOG_LINE@images.json@    \"cpu\": \"arm64\"@@@",
       "@@@STEP_LOG_LINE@images.json@  }, @@@",
       "@@@STEP_LOG_LINE@images.json@  {@@@",
       "@@@STEP_LOG_LINE@images.json@    \"path\": \"multiboot.bin\", @@@",
@@ -1789,8 +1783,50 @@
     ]
   },
   {
+    "cmd": [
+      "vpython",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "copy",
+      "[\n  {\n    \"target\": \"arm64\", \n    \"kvm\": true, \n    \"memory\": 4096, \n    \"path\": \"./qemu/bin\", \n    \"type\": \"qemu\", \n    \"cpu\": 4\n  }\n]",
+      "[CLEANUP]/isolate_tmp_2/qemu.json"
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-arm64 - QEMU.write qemu config",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_LINE@qemu.json@[@@@",
+      "@@@STEP_LOG_LINE@qemu.json@  {@@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"target\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"kvm\": true, @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"memory\": 4096, @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"path\": \"./qemu/bin\", @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"type\": \"qemu\", @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"cpu\": 4@@@",
+      "@@@STEP_LOG_LINE@qemu.json@  }@@@",
+      "@@@STEP_LOG_LINE@qemu.json@]@@@",
+      "@@@STEP_LOG_END@qemu.json@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/symlink.py",
+      "--link-json",
+      "{\"[START_DIR]/fuchsia/out/default/../default.zircon/zbi-test-arm64.zbi\": [\"[CLEANUP]/isolate_tmp_2/zbi-test-arm64.zbi\"], \"[START_DIR]/fuchsia/out/default/linux_arm64/botanist\": [\"[CLEANUP]/isolate_tmp_2/botanist\"], \"[START_DIR]/fuchsia/out/default/linux_arm64/seriallistener\": [\"[CLEANUP]/isolate_tmp_2/seriallistener\"], \"[START_DIR]/fuchsia/out/default/multiboot.bin\": [\"[CLEANUP]/isolate_tmp_2/multiboot.bin\"]}"
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-arm64 - QEMU.create tree of images",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
     "cmd": [],
-    "name": "prepare test: zbi-test-x64 - AEMU.ensure isolated",
+    "name": "prepare test: zbi-test-arm64 - QEMU.ensure isolated",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
@@ -1807,7 +1843,7 @@
       "/path/to/tmp/json"
     ],
     "infra_step": true,
-    "name": "prepare test: zbi-test-x64 - AEMU.ensure isolated.ensure_installed",
+    "name": "prepare test: zbi-test-arm64 - QEMU.ensure isolated.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -1838,7 +1874,182 @@
       "[CLEANUP]/isolate_tmp_2:."
     ],
     "infra_step": true,
-    "name": "prepare test: zbi-test-x64 - AEMU.isolate images",
+    "name": "prepare test: zbi-test-arm64 - QEMU.isolate images",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LINK@isolated UI@https://example.isolateserver.appspot.com/browse?namespace=default-gzip&hash=%5Bdummy+hash%5D@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "prepare test: zbi-test-arm64 - Vim2"
+  },
+  {
+    "cmd": [
+      "vpython",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "copy",
+      "[\n  {\n    \"name\": \"zircon-a\", \n    \"device_types\": [\n      \"QEMU\", \n      \"AEMU\", \n      \"Vim2\"\n    ], \n    \"success_string\": \"purple monkey dishwasher\", \n    \"path\": \"zbi-test-arm64.zbi\", \n    \"type\": \"zbi\", \n    \"cpu\": \"arm64\"\n  }\n]",
+      "[CLEANUP]/isolate_tmp_3/images.json"
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-arm64 - Vim2.write image manifest",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_LINE@images.json@[@@@",
+      "@@@STEP_LOG_LINE@images.json@  {@@@",
+      "@@@STEP_LOG_LINE@images.json@    \"name\": \"zircon-a\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"device_types\": [@@@",
+      "@@@STEP_LOG_LINE@images.json@      \"QEMU\", @@@",
+      "@@@STEP_LOG_LINE@images.json@      \"AEMU\", @@@",
+      "@@@STEP_LOG_LINE@images.json@      \"Vim2\"@@@",
+      "@@@STEP_LOG_LINE@images.json@    ], @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"success_string\": \"purple monkey dishwasher\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"path\": \"zbi-test-arm64.zbi\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"type\": \"zbi\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"cpu\": \"arm64\"@@@",
+      "@@@STEP_LOG_LINE@images.json@  }@@@",
+      "@@@STEP_LOG_LINE@images.json@]@@@",
+      "@@@STEP_LOG_END@images.json@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/symlink.py",
+      "--link-json",
+      "{\"[START_DIR]/fuchsia/out/default/../default.zircon/zbi-test-arm64.zbi\": [\"[CLEANUP]/isolate_tmp_3/zbi-test-arm64.zbi\"], \"[START_DIR]/fuchsia/out/default/linux_x64/botanist\": [\"[CLEANUP]/isolate_tmp_3/botanist\"], \"[START_DIR]/fuchsia/out/default/linux_x64/seriallistener\": [\"[CLEANUP]/isolate_tmp_3/seriallistener\"]}"
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-arm64 - Vim2.create tree of images",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[CACHE]/isolated_client/isolated",
+      "archive",
+      "-verbose",
+      "-isolate-server",
+      "https://example.isolateserver.appspot.com",
+      "-namespace",
+      "default-gzip",
+      "-dump-hash",
+      "/path/to/tmp/",
+      "-dirs",
+      "[CLEANUP]/isolate_tmp_3:."
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-arm64 - Vim2.isolate images",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LINK@isolated UI@https://example.isolateserver.appspot.com/browse?namespace=default-gzip&hash=%5Bdummy+hash%5D@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "prepare test: zbi-test-arm64 - AEMU"
+  },
+  {
+    "cmd": [
+      "vpython",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "copy",
+      "[\n  {\n    \"name\": \"zircon-a\", \n    \"device_types\": [\n      \"QEMU\", \n      \"AEMU\", \n      \"Vim2\"\n    ], \n    \"success_string\": \"purple monkey dishwasher\", \n    \"path\": \"zbi-test-arm64.zbi\", \n    \"type\": \"zbi\", \n    \"cpu\": \"arm64\"\n  }, \n  {\n    \"path\": \"multiboot.bin\", \n    \"type\": \"kernel\", \n    \"name\": \"qemu-kernel\"\n  }\n]",
+      "[CLEANUP]/isolate_tmp_4/images.json"
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-arm64 - AEMU.write image manifest",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_LINE@images.json@[@@@",
+      "@@@STEP_LOG_LINE@images.json@  {@@@",
+      "@@@STEP_LOG_LINE@images.json@    \"name\": \"zircon-a\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"device_types\": [@@@",
+      "@@@STEP_LOG_LINE@images.json@      \"QEMU\", @@@",
+      "@@@STEP_LOG_LINE@images.json@      \"AEMU\", @@@",
+      "@@@STEP_LOG_LINE@images.json@      \"Vim2\"@@@",
+      "@@@STEP_LOG_LINE@images.json@    ], @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"success_string\": \"purple monkey dishwasher\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"path\": \"zbi-test-arm64.zbi\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"type\": \"zbi\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"cpu\": \"arm64\"@@@",
+      "@@@STEP_LOG_LINE@images.json@  }, @@@",
+      "@@@STEP_LOG_LINE@images.json@  {@@@",
+      "@@@STEP_LOG_LINE@images.json@    \"path\": \"multiboot.bin\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"type\": \"kernel\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"name\": \"qemu-kernel\"@@@",
+      "@@@STEP_LOG_LINE@images.json@  }@@@",
+      "@@@STEP_LOG_LINE@images.json@]@@@",
+      "@@@STEP_LOG_END@images.json@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "vpython",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "copy",
+      "[\n  {\n    \"target\": \"arm64\", \n    \"kvm\": true, \n    \"memory\": 4096, \n    \"path\": \"./aemu/bin\", \n    \"type\": \"aemu\", \n    \"cpu\": 4\n  }\n]",
+      "[CLEANUP]/isolate_tmp_4/qemu.json"
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-arm64 - AEMU.write qemu config",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_LINE@qemu.json@[@@@",
+      "@@@STEP_LOG_LINE@qemu.json@  {@@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"target\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"kvm\": true, @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"memory\": 4096, @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"path\": \"./aemu/bin\", @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"type\": \"aemu\", @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"cpu\": 4@@@",
+      "@@@STEP_LOG_LINE@qemu.json@  }@@@",
+      "@@@STEP_LOG_LINE@qemu.json@]@@@",
+      "@@@STEP_LOG_END@qemu.json@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/symlink.py",
+      "--link-json",
+      "{\"[START_DIR]/fuchsia/out/default/../default.zircon/zbi-test-arm64.zbi\": [\"[CLEANUP]/isolate_tmp_4/zbi-test-arm64.zbi\"], \"[START_DIR]/fuchsia/out/default/linux_arm64/botanist\": [\"[CLEANUP]/isolate_tmp_4/botanist\"], \"[START_DIR]/fuchsia/out/default/linux_arm64/seriallistener\": [\"[CLEANUP]/isolate_tmp_4/seriallistener\"], \"[START_DIR]/fuchsia/out/default/multiboot.bin\": [\"[CLEANUP]/isolate_tmp_4/multiboot.bin\"]}"
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-arm64 - AEMU.create tree of images",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[CACHE]/isolated_client/isolated",
+      "archive",
+      "-verbose",
+      "-isolate-server",
+      "https://example.isolateserver.appspot.com",
+      "-namespace",
+      "default-gzip",
+      "-dump-hash",
+      "/path/to/tmp/",
+      "-dirs",
+      "[CLEANUP]/isolate_tmp_4:."
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-arm64 - AEMU.isolate images",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LINK@isolated UI@https://example.isolateserver.appspot.com/browse?namespace=default-gzip&hash=%5Bdummy+hash%5D@@@"
@@ -1853,7 +2064,7 @@
     "name": "launch/collect.0",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@1 launched, 1 failed@@@"
+      "@@@STEP_SUMMARY_TEXT@3 launched, 3 failed@@@"
     ]
   },
   {
@@ -1865,7 +2076,7 @@
   },
   {
     "cmd": [],
-    "name": "launch/collect.0.launch.zbi-test-x64 - AEMU (attempt 0)",
+    "name": "launch/collect.0.launch.zbi-test-arm64 - QEMU (attempt 0)",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
       "@@@STEP_LINK@Swarming task@https://example.swarmingserver.appspot.com/task?id=123@@@"
@@ -1873,7 +2084,7 @@
   },
   {
     "cmd": [],
-    "name": "launch/collect.0.launch.zbi-test-x64 - AEMU (attempt 0).ensure swarming",
+    "name": "launch/collect.0.launch.zbi-test-arm64 - QEMU (attempt 0).ensure swarming",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@"
     ]
@@ -1890,7 +2101,7 @@
       "/path/to/tmp/json"
     ],
     "infra_step": true,
-    "name": "launch/collect.0.launch.zbi-test-x64 - AEMU (attempt 0).ensure swarming.ensure_installed",
+    "name": "launch/collect.0.launch.zbi-test-arm64 - QEMU (attempt 0).ensure swarming.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@5@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -1913,27 +2124,103 @@
       "-server",
       "https://example.swarmingserver.appspot.com",
       "-json-input",
-      "{\"requests\": [{\"name\": \"zbi-test-x64 - AEMU\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:AEMU-x64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"cipd_input\": {\"packages\": [{\"package_name\": \"fuchsia/third_party/aemu/${platform}\", \"path\": \"aemu/bin\", \"version\": \"git_revision:de95df869556006ad87f402110aa835d03835060\"}]}, \"command\": [\"./botanist\", \"-level\", \"debug\", \"qemu\", \"-type\", \"aemu\", \"-qemu-dir\", \"./aemu/bin\", \"-images\", \"images.json\", \"-arch\", \"x64\", \"-use-kvm\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"kvm\", \"value\": \"1\"}, {\"key\": \"os\", \"value\": \"Debian\"}, {\"key\": \"cpu\", \"value\": \"x64\"}, {\"key\": \"pool\", \"value\": \"fuchsia.tests\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": []}}]}]}",
+      "{\"requests\": [{\"name\": \"zbi-test-arm64 - QEMU\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:QEMU-arm64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"cipd_input\": {\"packages\": [{\"package_name\": \"fuchsia/third_party/qemu/${platform}\", \"path\": \"qemu\", \"version\": \"git_revision:533bf2563d0213a7e002d9fcde75519d30ffa70f\"}]}, \"command\": [\"./botanist\", \"-level\", \"debug\", \"run\", \"-images\", \"images.json\", \"-serial-log\", \"serial.txt\", \"-config\", \"./qemu.json\", \"-netboot\", \"./seriallistener\", \"-timeout\", \"5m\", \"-stdout=False\", \"-success\", \"purple monkey dishwasher\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"kvm\", \"value\": \"1\"}, {\"key\": \"os\", \"value\": \"Debian\"}, {\"key\": \"cpu\", \"value\": \"arm64\"}, {\"key\": \"pool\", \"value\": \"fuchsia.tests\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": [\"serial.txt\"]}}]}]}",
       "-json-output",
       "/path/to/tmp/json",
       "-cancel-extra-tasks"
     ],
     "infra_step": true,
-    "name": "launch/collect.0.launch.zbi-test-x64 - AEMU (attempt 0).trigger",
+    "name": "launch/collect.0.launch.zbi-test-arm64 - QEMU (attempt 0).trigger",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"tasks\": [@@@",
       "@@@STEP_LOG_LINE@json.output@    {@@@",
       "@@@STEP_LOG_LINE@json.output@      \"request\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"name\": \"zbi-test-x64 - AEMU\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"name\": \"zbi-test-arm64 - QEMU\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }, @@@",
       "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"123\"@@@",
       "@@@STEP_LOG_LINE@json.output@    }@@@",
       "@@@STEP_LOG_LINE@json.output@  ]@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
-      "@@@STEP_LINK@task UI: zbi-test-x64 - AEMU@https://example.swarmingserver.appspot.com/task?id=123@@@"
+      "@@@STEP_LINK@task UI: zbi-test-arm64 - QEMU@https://example.swarmingserver.appspot.com/task?id=123@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "launch/collect.0.launch.zbi-test-arm64 - Vim2 (attempt 0)",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@3@@@",
+      "@@@STEP_LINK@Swarming task@https://example.swarmingserver.appspot.com/task?id=127@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[CACHE]/swarming_client/swarming",
+      "spawn-tasks",
+      "-server",
+      "https://example.swarmingserver.appspot.com",
+      "-json-input",
+      "{\"requests\": [{\"name\": \"zbi-test-arm64 - Vim2\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:Vim2-arm64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"command\": [\"./botanist\", \"-level\", \"debug\", \"run\", \"-images\", \"images.json\", \"-serial-log\", \"serial.txt\", \"-config\", \"/etc/botanist/config.json\", \"-netboot\", \"./seriallistener\", \"-timeout\", \"5m\", \"-stdout=True\", \"-success\", \"purple monkey dishwasher\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"pool\", \"value\": \"fuchsia.tests\"}, {\"key\": \"device_type\", \"value\": \"Vim2\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": [\"serial.txt\"]}}]}]}",
+      "-json-output",
+      "/path/to/tmp/json",
+      "-cancel-extra-tasks"
+    ],
+    "infra_step": true,
+    "name": "launch/collect.0.launch.zbi-test-arm64 - Vim2 (attempt 0).trigger",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@4@@@",
+      "@@@STEP_LOG_LINE@json.output@{@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"tasks\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@    {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"request\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"name\": \"zbi-test-arm64 - Vim2\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      }, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"127\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  ]@@@",
+      "@@@STEP_LOG_LINE@json.output@}@@@",
+      "@@@STEP_LOG_END@json.output@@@",
+      "@@@STEP_LINK@task UI: zbi-test-arm64 - Vim2@https://example.swarmingserver.appspot.com/task?id=127@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "launch/collect.0.launch.zbi-test-arm64 - AEMU (attempt 0)",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@3@@@",
+      "@@@STEP_LINK@Swarming task@https://example.swarmingserver.appspot.com/task?id=125@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[CACHE]/swarming_client/swarming",
+      "spawn-tasks",
+      "-server",
+      "https://example.swarmingserver.appspot.com",
+      "-json-input",
+      "{\"requests\": [{\"name\": \"zbi-test-arm64 - AEMU\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:AEMU-arm64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"cipd_input\": {\"packages\": [{\"package_name\": \"fuchsia/third_party/aemu/${platform}\", \"path\": \"aemu/bin\", \"version\": \"git_revision:de95df869556006ad87f402110aa835d03835060\"}]}, \"command\": [\"./botanist\", \"-level\", \"debug\", \"run\", \"-images\", \"images.json\", \"-serial-log\", \"serial.txt\", \"-config\", \"./qemu.json\", \"-netboot\", \"./seriallistener\", \"-timeout\", \"5m\", \"-stdout=False\", \"-success\", \"purple monkey dishwasher\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"kvm\", \"value\": \"1\"}, {\"key\": \"os\", \"value\": \"Debian\"}, {\"key\": \"cpu\", \"value\": \"arm64\"}, {\"key\": \"pool\", \"value\": \"fuchsia.tests\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": [\"serial.txt\"]}}]}]}",
+      "-json-output",
+      "/path/to/tmp/json",
+      "-cancel-extra-tasks"
+    ],
+    "infra_step": true,
+    "name": "launch/collect.0.launch.zbi-test-arm64 - AEMU (attempt 0).trigger",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@4@@@",
+      "@@@STEP_LOG_LINE@json.output@{@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"tasks\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@    {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"request\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"name\": \"zbi-test-arm64 - AEMU\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      }, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"125\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  ]@@@",
+      "@@@STEP_LOG_LINE@json.output@}@@@",
+      "@@@STEP_LOG_END@json.output@@@",
+      "@@@STEP_LINK@task UI: zbi-test-arm64 - AEMU@https://example.swarmingserver.appspot.com/task?id=125@@@"
     ]
   },
   {
@@ -1946,7 +2233,13 @@
       "/path/to/tmp/json",
       "-task-output-stdout",
       "json",
-      "123"
+      "-output-dir",
+      "[CLEANUP]/swarming_tmp_5",
+      "-timeout",
+      "5m",
+      "123",
+      "127",
+      "125"
     ],
     "infra_step": true,
     "name": "launch/collect.0.collect",
@@ -1959,8 +2252,8 @@
       "@@@STEP_LOG_LINE@json.output@    \"results\": {@@@",
       "@@@STEP_LOG_LINE@json.output@      \"bot_id\": \"vm-123\", @@@",
       "@@@STEP_LOG_LINE@json.output@      \"duration\": 62.35, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"exit_code\": 0, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"name\": \"zbi-test-x64 - AEMU\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"exit_code\": 1, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"name\": \"zbi-test-arm64 - QEMU\", @@@",
       "@@@STEP_LOG_LINE@json.output@      \"outputs_ref\": {@@@",
       "@@@STEP_LOG_LINE@json.output@        \"isolated\": \"abc123\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@",
@@ -1969,12 +2262,52 @@
       "@@@STEP_LOG_LINE@json.output@      \"state\": \"COMPLETED\", @@@",
       "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"123\"@@@",
       "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"125\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"output\": \"not success\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"outputs\": [], @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"results\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"bot_id\": \"vm-123\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"duration\": 62.35, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"exit_code\": 1, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"name\": \"zbi-test-arm64 - AEMU\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"outputs_ref\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"isolated\": \"abc123\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"namespace\": \"default-gzip\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      }, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"state\": \"COMPLETED\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"125\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"127\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"output\": \"not success\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"outputs\": [], @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"results\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"bot_id\": \"vm-123\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"duration\": 62.35, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"exit_code\": 1, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"name\": \"zbi-test-arm64 - Vim2\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"outputs_ref\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"isolated\": \"abc123\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"namespace\": \"default-gzip\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      }, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"state\": \"COMPLETED\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"127\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
-      "@@@STEP_LOG_LINE@task stdout+stderr: zbi-test-x64 - AEMU@not success@@@",
-      "@@@STEP_LOG_END@task stdout+stderr: zbi-test-x64 - AEMU@@@",
-      "@@@STEP_LINK@task isolated outputs: zbi-test-x64 - AEMU@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@"
+      "@@@STEP_LOG_LINE@task stdout+stderr: zbi-test-arm64 - AEMU@not success@@@",
+      "@@@STEP_LOG_END@task stdout+stderr: zbi-test-arm64 - AEMU@@@",
+      "@@@STEP_LOG_LINE@task stdout+stderr: zbi-test-arm64 - QEMU@not success@@@",
+      "@@@STEP_LOG_END@task stdout+stderr: zbi-test-arm64 - QEMU@@@",
+      "@@@STEP_LOG_LINE@task stdout+stderr: zbi-test-arm64 - Vim2@not success@@@",
+      "@@@STEP_LOG_END@task stdout+stderr: zbi-test-arm64 - Vim2@@@",
+      "@@@STEP_LINK@task isolated outputs: zbi-test-arm64 - AEMU@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@",
+      "@@@STEP_LINK@task isolated outputs: zbi-test-arm64 - QEMU@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@",
+      "@@@STEP_LINK@task isolated outputs: zbi-test-arm64 - Vim2@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@"
     ]
   },
   {
@@ -1986,7 +2319,7 @@
   },
   {
     "cmd": [],
-    "name": "launch/collect.0.process results.zbi-test-x64 - AEMU",
+    "name": "launch/collect.0.process results.zbi-test-arm64 - AEMU",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
       "@@@STEP_LOG_LINE@symbolized log@blah@@@",
@@ -2011,7 +2344,77 @@
       "/path/to/tmp/json"
     ],
     "infra_step": true,
-    "name": "launch/collect.0.process results.zbi-test-x64 - AEMU.symbolize logs",
+    "name": "launch/collect.0.process results.zbi-test-arm64 - AEMU.symbolize logs",
+    "stdin": "not success",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@4@@@",
+      "@@@STEP_LOG_LINE@json.output[symbolizer-output.json]@{}@@@",
+      "@@@STEP_LOG_END@json.output[symbolizer-output.json]@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "launch/collect.0.process results.zbi-test-arm64 - QEMU",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@3@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_END@symbolized log@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[START_DIR]/fuchsia/out/default/linux_x64/symbolize",
+      "-llvm-symbolizer-restart-interval",
+      "2",
+      "-level",
+      "debug",
+      "-build-id-dir",
+      "[START_DIR]/fuchsia/out/default.zircon/.build-id",
+      "-build-id-dir",
+      "[START_DIR]/fuchsia/prebuilt/third_party/clang/linux-x64/lib/debug/.build-id",
+      "-llvm-symbolizer",
+      "[START_DIR]/fuchsia/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer",
+      "-json-output",
+      "/path/to/tmp/json"
+    ],
+    "infra_step": true,
+    "name": "launch/collect.0.process results.zbi-test-arm64 - QEMU.symbolize logs",
+    "stdin": "not success",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@4@@@",
+      "@@@STEP_LOG_LINE@json.output[symbolizer-output.json]@{}@@@",
+      "@@@STEP_LOG_END@json.output[symbolizer-output.json]@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "launch/collect.0.process results.zbi-test-arm64 - Vim2",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@3@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_END@symbolized log@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[START_DIR]/fuchsia/out/default/linux_x64/symbolize",
+      "-llvm-symbolizer-restart-interval",
+      "2",
+      "-level",
+      "debug",
+      "-build-id-dir",
+      "[START_DIR]/fuchsia/out/default.zircon/.build-id",
+      "-build-id-dir",
+      "[START_DIR]/fuchsia/prebuilt/third_party/clang/linux-x64/lib/debug/.build-id",
+      "-llvm-symbolizer",
+      "[START_DIR]/fuchsia/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer",
+      "-json-output",
+      "/path/to/tmp/json"
+    ],
+    "infra_step": true,
+    "name": "launch/collect.0.process results.zbi-test-arm64 - Vim2.symbolize logs",
     "stdin": "not success",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
@@ -2031,7 +2434,9 @@
     "name": "launch/collect.0.failed tasks",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_LINK@zbi-test-x64 - AEMU (attempt 0)@https://example.swarmingserver.appspot.com/task?id=123@@@"
+      "@@@STEP_LINK@zbi-test-arm64 - AEMU (attempt 0)@https://example.swarmingserver.appspot.com/task?id=125@@@",
+      "@@@STEP_LINK@zbi-test-arm64 - QEMU (attempt 0)@https://example.swarmingserver.appspot.com/task?id=123@@@",
+      "@@@STEP_LINK@zbi-test-arm64 - Vim2 (attempt 0)@https://example.swarmingserver.appspot.com/task?id=127@@@"
     ]
   },
   {
@@ -2039,7 +2444,7 @@
     "name": "launch/collect.1",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@1 launched, 1 passed@@@"
+      "@@@STEP_SUMMARY_TEXT@3 launched, 3 failed, 3 failed after max attempts@@@"
     ]
   },
   {
@@ -2051,10 +2456,10 @@
   },
   {
     "cmd": [],
-    "name": "launch/collect.1.launch.zbi-test-x64 - AEMU (attempt 1)",
+    "name": "launch/collect.1.launch.zbi-test-arm64 - QEMU (attempt 1)",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_LINK@Swarming task@https://example.swarmingserver.appspot.com/task?id=456@@@"
+      "@@@STEP_LINK@Swarming task@https://example.swarmingserver.appspot.com/task?id=124@@@"
     ]
   },
   {
@@ -2064,27 +2469,103 @@
       "-server",
       "https://example.swarmingserver.appspot.com",
       "-json-input",
-      "{\"requests\": [{\"name\": \"zbi-test-x64 - AEMU\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:AEMU-x64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"cipd_input\": {\"packages\": [{\"package_name\": \"fuchsia/third_party/aemu/${platform}\", \"path\": \"aemu/bin\", \"version\": \"git_revision:de95df869556006ad87f402110aa835d03835060\"}]}, \"command\": [\"./botanist\", \"-level\", \"debug\", \"qemu\", \"-type\", \"aemu\", \"-qemu-dir\", \"./aemu/bin\", \"-images\", \"images.json\", \"-arch\", \"x64\", \"-use-kvm\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"kvm\", \"value\": \"1\"}, {\"key\": \"os\", \"value\": \"Debian\"}, {\"key\": \"cpu\", \"value\": \"x64\"}, {\"key\": \"pool\", \"value\": \"fuchsia.tests\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": []}}]}]}",
+      "{\"requests\": [{\"name\": \"zbi-test-arm64 - QEMU\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:QEMU-arm64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"cipd_input\": {\"packages\": [{\"package_name\": \"fuchsia/third_party/qemu/${platform}\", \"path\": \"qemu\", \"version\": \"git_revision:533bf2563d0213a7e002d9fcde75519d30ffa70f\"}]}, \"command\": [\"./botanist\", \"-level\", \"debug\", \"run\", \"-images\", \"images.json\", \"-serial-log\", \"serial.txt\", \"-config\", \"./qemu.json\", \"-netboot\", \"./seriallistener\", \"-timeout\", \"5m\", \"-stdout=False\", \"-success\", \"purple monkey dishwasher\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"kvm\", \"value\": \"1\"}, {\"key\": \"os\", \"value\": \"Debian\"}, {\"key\": \"cpu\", \"value\": \"arm64\"}, {\"key\": \"pool\", \"value\": \"fuchsia.tests\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": [\"serial.txt\"]}}]}]}",
       "-json-output",
       "/path/to/tmp/json",
       "-cancel-extra-tasks"
     ],
     "infra_step": true,
-    "name": "launch/collect.1.launch.zbi-test-x64 - AEMU (attempt 1).trigger",
+    "name": "launch/collect.1.launch.zbi-test-arm64 - QEMU (attempt 1).trigger",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"tasks\": [@@@",
       "@@@STEP_LOG_LINE@json.output@    {@@@",
       "@@@STEP_LOG_LINE@json.output@      \"request\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"name\": \"zbi-test-x64 - AEMU\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"name\": \"zbi-test-arm64 - QEMU\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"456\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"124\"@@@",
       "@@@STEP_LOG_LINE@json.output@    }@@@",
       "@@@STEP_LOG_LINE@json.output@  ]@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
-      "@@@STEP_LINK@task UI: zbi-test-x64 - AEMU@https://example.swarmingserver.appspot.com/task?id=456@@@"
+      "@@@STEP_LINK@task UI: zbi-test-arm64 - QEMU@https://example.swarmingserver.appspot.com/task?id=124@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "launch/collect.1.launch.zbi-test-arm64 - Vim2 (attempt 1)",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@3@@@",
+      "@@@STEP_LINK@Swarming task@https://example.swarmingserver.appspot.com/task?id=128@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[CACHE]/swarming_client/swarming",
+      "spawn-tasks",
+      "-server",
+      "https://example.swarmingserver.appspot.com",
+      "-json-input",
+      "{\"requests\": [{\"name\": \"zbi-test-arm64 - Vim2\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:Vim2-arm64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"command\": [\"./botanist\", \"-level\", \"debug\", \"run\", \"-images\", \"images.json\", \"-serial-log\", \"serial.txt\", \"-config\", \"/etc/botanist/config.json\", \"-netboot\", \"./seriallistener\", \"-timeout\", \"5m\", \"-stdout=True\", \"-success\", \"purple monkey dishwasher\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"pool\", \"value\": \"fuchsia.tests\"}, {\"key\": \"device_type\", \"value\": \"Vim2\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": [\"serial.txt\"]}}]}]}",
+      "-json-output",
+      "/path/to/tmp/json",
+      "-cancel-extra-tasks"
+    ],
+    "infra_step": true,
+    "name": "launch/collect.1.launch.zbi-test-arm64 - Vim2 (attempt 1).trigger",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@4@@@",
+      "@@@STEP_LOG_LINE@json.output@{@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"tasks\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@    {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"request\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"name\": \"zbi-test-arm64 - Vim2\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      }, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"128\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  ]@@@",
+      "@@@STEP_LOG_LINE@json.output@}@@@",
+      "@@@STEP_LOG_END@json.output@@@",
+      "@@@STEP_LINK@task UI: zbi-test-arm64 - Vim2@https://example.swarmingserver.appspot.com/task?id=128@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "launch/collect.1.launch.zbi-test-arm64 - AEMU (attempt 1)",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@3@@@",
+      "@@@STEP_LINK@Swarming task@https://example.swarmingserver.appspot.com/task?id=126@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[CACHE]/swarming_client/swarming",
+      "spawn-tasks",
+      "-server",
+      "https://example.swarmingserver.appspot.com",
+      "-json-input",
+      "{\"requests\": [{\"name\": \"zbi-test-arm64 - AEMU\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:AEMU-arm64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"cipd_input\": {\"packages\": [{\"package_name\": \"fuchsia/third_party/aemu/${platform}\", \"path\": \"aemu/bin\", \"version\": \"git_revision:de95df869556006ad87f402110aa835d03835060\"}]}, \"command\": [\"./botanist\", \"-level\", \"debug\", \"run\", \"-images\", \"images.json\", \"-serial-log\", \"serial.txt\", \"-config\", \"./qemu.json\", \"-netboot\", \"./seriallistener\", \"-timeout\", \"5m\", \"-stdout=False\", \"-success\", \"purple monkey dishwasher\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"kvm\", \"value\": \"1\"}, {\"key\": \"os\", \"value\": \"Debian\"}, {\"key\": \"cpu\", \"value\": \"arm64\"}, {\"key\": \"pool\", \"value\": \"fuchsia.tests\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": [\"serial.txt\"]}}]}]}",
+      "-json-output",
+      "/path/to/tmp/json",
+      "-cancel-extra-tasks"
+    ],
+    "infra_step": true,
+    "name": "launch/collect.1.launch.zbi-test-arm64 - AEMU (attempt 1).trigger",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@4@@@",
+      "@@@STEP_LOG_LINE@json.output@{@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"tasks\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@    {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"request\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"name\": \"zbi-test-arm64 - AEMU\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      }, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"126\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  ]@@@",
+      "@@@STEP_LOG_LINE@json.output@}@@@",
+      "@@@STEP_LOG_END@json.output@@@",
+      "@@@STEP_LINK@task UI: zbi-test-arm64 - AEMU@https://example.swarmingserver.appspot.com/task?id=126@@@"
     ]
   },
   {
@@ -2097,35 +2578,81 @@
       "/path/to/tmp/json",
       "-task-output-stdout",
       "json",
-      "456"
+      "-output-dir",
+      "[CLEANUP]/swarming_tmp_5",
+      "-timeout",
+      "5m",
+      "124",
+      "128",
+      "126"
     ],
     "infra_step": true,
     "name": "launch/collect.1.collect",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"456\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"output\": \"purple monkey dishwasher\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"124\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"output\": \"not success\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"outputs\": [], @@@",
       "@@@STEP_LOG_LINE@json.output@    \"results\": {@@@",
       "@@@STEP_LOG_LINE@json.output@      \"bot_id\": \"vm-123\", @@@",
       "@@@STEP_LOG_LINE@json.output@      \"duration\": 62.35, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"exit_code\": 0, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"name\": \"zbi-test-x64 - AEMU\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"exit_code\": 1, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"name\": \"zbi-test-arm64 - QEMU\", @@@",
       "@@@STEP_LOG_LINE@json.output@      \"outputs_ref\": {@@@",
       "@@@STEP_LOG_LINE@json.output@        \"isolated\": \"abc123\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"namespace\": \"default-gzip\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }, @@@",
       "@@@STEP_LOG_LINE@json.output@      \"state\": \"COMPLETED\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"456\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"124\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"126\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"output\": \"not success\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"outputs\": [], @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"results\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"bot_id\": \"vm-123\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"duration\": 62.35, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"exit_code\": 1, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"name\": \"zbi-test-arm64 - AEMU\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"outputs_ref\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"isolated\": \"abc123\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"namespace\": \"default-gzip\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      }, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"state\": \"COMPLETED\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"126\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"128\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"output\": \"not success\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"outputs\": [], @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"results\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"bot_id\": \"vm-123\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"duration\": 62.35, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"exit_code\": 1, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"name\": \"zbi-test-arm64 - Vim2\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"outputs_ref\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"isolated\": \"abc123\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"namespace\": \"default-gzip\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      }, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"state\": \"COMPLETED\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"128\"@@@",
       "@@@STEP_LOG_LINE@json.output@    }@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
-      "@@@STEP_LOG_LINE@task stdout+stderr: zbi-test-x64 - AEMU@purple monkey dishwasher@@@",
-      "@@@STEP_LOG_END@task stdout+stderr: zbi-test-x64 - AEMU@@@",
-      "@@@STEP_LINK@task isolated outputs: zbi-test-x64 - AEMU@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@"
+      "@@@STEP_LOG_LINE@task stdout+stderr: zbi-test-arm64 - AEMU@not success@@@",
+      "@@@STEP_LOG_END@task stdout+stderr: zbi-test-arm64 - AEMU@@@",
+      "@@@STEP_LOG_LINE@task stdout+stderr: zbi-test-arm64 - QEMU@not success@@@",
+      "@@@STEP_LOG_END@task stdout+stderr: zbi-test-arm64 - QEMU@@@",
+      "@@@STEP_LOG_LINE@task stdout+stderr: zbi-test-arm64 - Vim2@not success@@@",
+      "@@@STEP_LOG_END@task stdout+stderr: zbi-test-arm64 - Vim2@@@",
+      "@@@STEP_LINK@task isolated outputs: zbi-test-arm64 - AEMU@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@",
+      "@@@STEP_LINK@task isolated outputs: zbi-test-arm64 - QEMU@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@",
+      "@@@STEP_LINK@task isolated outputs: zbi-test-arm64 - Vim2@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@"
     ]
   },
   {
@@ -2137,7 +2664,7 @@
   },
   {
     "cmd": [],
-    "name": "launch/collect.1.process results.zbi-test-x64 - AEMU",
+    "name": "launch/collect.1.process results.zbi-test-arm64 - AEMU",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
       "@@@STEP_LOG_LINE@symbolized log@blah@@@",
@@ -2162,8 +2689,78 @@
       "/path/to/tmp/json"
     ],
     "infra_step": true,
-    "name": "launch/collect.1.process results.zbi-test-x64 - AEMU.symbolize logs",
-    "stdin": "purple monkey dishwasher",
+    "name": "launch/collect.1.process results.zbi-test-arm64 - AEMU.symbolize logs",
+    "stdin": "not success",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@4@@@",
+      "@@@STEP_LOG_LINE@json.output[symbolizer-output.json]@{}@@@",
+      "@@@STEP_LOG_END@json.output[symbolizer-output.json]@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "launch/collect.1.process results.zbi-test-arm64 - QEMU",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@3@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_END@symbolized log@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[START_DIR]/fuchsia/out/default/linux_x64/symbolize",
+      "-llvm-symbolizer-restart-interval",
+      "2",
+      "-level",
+      "debug",
+      "-build-id-dir",
+      "[START_DIR]/fuchsia/out/default.zircon/.build-id",
+      "-build-id-dir",
+      "[START_DIR]/fuchsia/prebuilt/third_party/clang/linux-x64/lib/debug/.build-id",
+      "-llvm-symbolizer",
+      "[START_DIR]/fuchsia/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer",
+      "-json-output",
+      "/path/to/tmp/json"
+    ],
+    "infra_step": true,
+    "name": "launch/collect.1.process results.zbi-test-arm64 - QEMU.symbolize logs",
+    "stdin": "not success",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@4@@@",
+      "@@@STEP_LOG_LINE@json.output[symbolizer-output.json]@{}@@@",
+      "@@@STEP_LOG_END@json.output[symbolizer-output.json]@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "launch/collect.1.process results.zbi-test-arm64 - Vim2",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@3@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_END@symbolized log@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[START_DIR]/fuchsia/out/default/linux_x64/symbolize",
+      "-llvm-symbolizer-restart-interval",
+      "2",
+      "-level",
+      "debug",
+      "-build-id-dir",
+      "[START_DIR]/fuchsia/out/default.zircon/.build-id",
+      "-build-id-dir",
+      "[START_DIR]/fuchsia/prebuilt/third_party/clang/linux-x64/lib/debug/.build-id",
+      "-llvm-symbolizer",
+      "[START_DIR]/fuchsia/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer",
+      "-json-output",
+      "/path/to/tmp/json"
+    ],
+    "infra_step": true,
+    "name": "launch/collect.1.process results.zbi-test-arm64 - Vim2.symbolize logs",
+    "stdin": "not success",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
       "@@@STEP_LOG_LINE@json.output[symbolizer-output.json]@{}@@@",
@@ -2179,69 +2776,49 @@
   },
   {
     "cmd": [],
-    "name": "launch/collect.1.passed tasks",
+    "name": "launch/collect.1.failed tasks",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_LINK@zbi-test-x64 - AEMU (attempt 1)@https://example.swarmingserver.appspot.com/task?id=456@@@"
+      "@@@STEP_LINK@zbi-test-arm64 - AEMU (attempt 1)@https://example.swarmingserver.appspot.com/task?id=126@@@",
+      "@@@STEP_LINK@zbi-test-arm64 - QEMU (attempt 1)@https://example.swarmingserver.appspot.com/task?id=124@@@",
+      "@@@STEP_LINK@zbi-test-arm64 - Vim2 (attempt 1)@https://example.swarmingserver.appspot.com/task?id=128@@@"
     ]
   },
   {
     "cmd": [],
     "name": "passes",
     "~followup_annotations": [
-      "@@@STEP_SUMMARY_TEXT@1 passed@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "passes.zbi-test-x64 - AEMU",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "passes.zbi-test-x64 - AEMU.attempt 0 (fail)",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_SUMMARY_TEXT@failed to find success string@@@",
-      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
-      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
-      "@@@STEP_LOG_END@symbolized log@@@",
-      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=123@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "passes.zbi-test-x64 - AEMU.attempt 1 (pass)",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
-      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
-      "@@@STEP_LOG_END@symbolized log@@@",
-      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=456@@@"
+      "@@@STEP_SUMMARY_TEXT@0 passed@@@"
     ]
   },
   {
     "cmd": [],
     "name": "flakes",
     "~followup_annotations": [
-      "@@@STEP_SUMMARY_TEXT@1 flaked@@@"
+      "@@@STEP_SUMMARY_TEXT@0 flaked@@@"
     ]
   },
   {
     "cmd": [],
-    "name": "flakes.zbi-test-x64 - AEMU",
+    "name": "failures",
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
+      "@@@STEP_SUMMARY_TEXT@3 failed@@@",
+      "@@@STEP_FAILURE@@@"
     ]
   },
   {
     "cmd": [],
-    "name": "flakes.zbi-test-x64 - AEMU.attempt 0 (fail)",
+    "name": "failures.zbi-test-arm64 - QEMU",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_FAILURE@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "failures.zbi-test-arm64 - QEMU.attempt 0 (fail)",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_SUMMARY_TEXT@failed to find success string@@@",
       "@@@STEP_LOG_LINE@symbolized log@blah@@@",
       "@@@STEP_LOG_LINE@symbolized log@blah@@@",
       "@@@STEP_LOG_END@symbolized log@@@",
@@ -2250,27 +2827,80 @@
   },
   {
     "cmd": [],
-    "name": "flakes.zbi-test-x64 - AEMU.attempt 1 (pass)",
+    "name": "failures.zbi-test-arm64 - QEMU.attempt 1 (fail)",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@symbolized log@blah@@@",
       "@@@STEP_LOG_LINE@symbolized log@blah@@@",
       "@@@STEP_LOG_END@symbolized log@@@",
-      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=456@@@"
+      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=124@@@"
     ]
   },
   {
     "cmd": [],
-    "name": "failures",
+    "name": "failures.zbi-test-arm64 - Vim2",
     "~followup_annotations": [
-      "@@@STEP_SUMMARY_TEXT@0 failed@@@"
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_FAILURE@@@"
     ]
   },
   {
     "cmd": [],
-    "name": "all tasks passed"
+    "name": "failures.zbi-test-arm64 - Vim2.attempt 0 (fail)",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_END@symbolized log@@@",
+      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=127@@@"
+    ]
   },
   {
+    "cmd": [],
+    "name": "failures.zbi-test-arm64 - Vim2.attempt 1 (fail)",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_END@symbolized log@@@",
+      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=128@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "failures.zbi-test-arm64 - AEMU",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_FAILURE@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "failures.zbi-test-arm64 - AEMU.attempt 0 (fail)",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_END@symbolized log@@@",
+      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=125@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "failures.zbi-test-arm64 - AEMU.attempt 1 (fail)",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_END@symbolized log@@@",
+      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=126@@@"
+    ]
+  },
+  {
+    "failure": {
+      "failure": {},
+      "humanReason": "task(s) failed: zbi-test-arm64 - QEMU, zbi-test-arm64 - Vim2, zbi-test-arm64 - AEMU"
+    },
     "name": "$result"
   }
 ]
\ No newline at end of file
diff --git a/recipes/zbi_test.expected/fail-x64-AEMU.json b/recipes/zbi_test.expected/fail-x64-AEMU.json
deleted file mode 100644
index 8748726..0000000
--- a/recipes/zbi_test.expected/fail-x64-AEMU.json
+++ /dev/null
@@ -1,2249 +0,0 @@
-[
-  {
-    "cmd": [],
-    "name": "checkout"
-  },
-  {
-    "cmd": [],
-    "name": "checkout.ensure jiri",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "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": "checkout.ensure jiri.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-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",
-      "[START_DIR]/fuchsia"
-    ],
-    "infra_step": true,
-    "name": "checkout.jiri init",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[START_DIR]/cipd/jiri/jiri",
-      "import",
-      "-vv",
-      "-time",
-      "-j=50",
-      "-name",
-      "integration",
-      "-revision",
-      "HEAD",
-      "manifest",
-      "https://fuchsia.googlesource.com/fuchsia"
-    ],
-    "cwd": "[START_DIR]/fuchsia",
-    "infra_step": true,
-    "name": "checkout.jiri import",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[START_DIR]/cipd/jiri/jiri",
-      "override",
-      "-vv",
-      "-time",
-      "-j=50",
-      "-revision",
-      "2d72510e447ab60a9728aeea2362d8be2cbd7789",
-      "fuchsia",
-      "https://fuchsia.googlesource.com/fuchsia"
-    ],
-    "cwd": "[START_DIR]/fuchsia",
-    "infra_step": true,
-    "name": "checkout.jiri override",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[START_DIR]/cipd/jiri/jiri",
-      "update",
-      "-vv",
-      "-time",
-      "-j=50",
-      "-autoupdate=false",
-      "-attempts=3",
-      "-run-hooks=false"
-    ],
-    "cwd": "[START_DIR]/fuchsia",
-    "infra_step": true,
-    "name": "checkout.jiri update",
-    "timeout": 1800,
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[START_DIR]/cipd/jiri/jiri",
-      "run-hooks",
-      "-vv",
-      "-time",
-      "-j=50",
-      "-attempts=3"
-    ],
-    "cwd": "[START_DIR]/fuchsia",
-    "infra_step": true,
-    "name": "checkout.jiri run-hooks",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[START_DIR]/cipd/jiri/jiri",
-      "source-manifest",
-      "-vv",
-      "-time",
-      "-j=50",
-      "/path/to/tmp/json"
-    ],
-    "cwd": "[START_DIR]/fuchsia",
-    "infra_step": true,
-    "name": "checkout.jiri source-manifest",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_LINE@json.output[source manifest]@{@@@",
-      "@@@STEP_LOG_LINE@json.output[source manifest]@  \"directories\": {@@@",
-      "@@@STEP_LOG_LINE@json.output[source manifest]@    \"manifest\": {@@@",
-      "@@@STEP_LOG_LINE@json.output[source manifest]@      \"git_checkout\": {@@@",
-      "@@@STEP_LOG_LINE@json.output[source manifest]@        \"repo_url\": \"https://fuchsia.googlesource.com/manifest\", @@@",
-      "@@@STEP_LOG_LINE@json.output[source manifest]@        \"revision\": \"4c2b0da3c06341db5cebe4d02c78c93c3b2bd78b\"@@@",
-      "@@@STEP_LOG_LINE@json.output[source manifest]@      }@@@",
-      "@@@STEP_LOG_LINE@json.output[source manifest]@    }@@@",
-      "@@@STEP_LOG_LINE@json.output[source manifest]@  }@@@",
-      "@@@STEP_LOG_LINE@json.output[source manifest]@}@@@",
-      "@@@STEP_LOG_END@json.output[source manifest]@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[START_DIR]/cipd/jiri/jiri",
-      "snapshot",
-      "-vv",
-      "-time",
-      "-j=50",
-      "[CLEANUP]/jiri.snapshot"
-    ],
-    "cwd": "[START_DIR]/fuchsia",
-    "infra_step": true,
-    "name": "checkout.jiri snapshot",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/jiri.snapshot",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[START_DIR]/fuchsia",
-    "infra_step": true,
-    "name": "checkout.read snapshot",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_END@jiri.snapshot@@@",
-      "@@@STEP_LOG_LINE@snapshot_contents@@@@",
-      "@@@STEP_LOG_END@snapshot_contents@@@"
-    ]
-  },
-  {
-    "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]/fuchsia/prebuilt/third_party/gn/linux-x64/gn",
-      "gen",
-      "[START_DIR]/fuchsia/out/default",
-      "--check",
-      "--args=import(\"//products/bringup.gni\")  base_package_labels+=[\"//garnet/tests/zircon:zbi_tests\",\"//bundles:infratools\"] goma_dir=\"[CACHE]/goma/client\" is_debug=true select_variant=[\"clang\"] target_cpu=\"x64\" use_goma=true"
-    ],
-    "cwd": "[START_DIR]/fuchsia",
-    "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]/fuchsia/out/default/zircon.json",
-      "/path/to/tmp/json"
-    ],
-    "cwd": "[START_DIR]/fuchsia",
-    "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]/fuchsia/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": [
-      "python",
-      "-u",
-      "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n",
-      "[START_DIR]/fuchsia/out/default/images.json",
-      "/path/to/tmp/json"
-    ],
-    "name": "build.read image manifest",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_LINE@json.output@[@@@",
-      "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"bootserver_pave\": [@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"--boot\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"--zircona\"@@@",
-      "@@@STEP_LOG_LINE@json.output@    ], @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"name\": \"zircon-a\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"fuchsia.zbi\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"type\": \"zbi\"@@@",
-      "@@@STEP_LOG_LINE@json.output@  }, @@@",
-      "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"name\": \"storage-full\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"fvm.blk\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"type\": \"blk\"@@@",
-      "@@@STEP_LOG_LINE@json.output@  }, @@@",
-      "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"bootserver_pave\": [@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"--fvm\"@@@",
-      "@@@STEP_LOG_LINE@json.output@    ], @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"name\": \"storage-sparse\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"fvm.sparse.blk\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"type\": \"blk\"@@@",
-      "@@@STEP_LOG_LINE@json.output@  }, @@@",
-      "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"bootserver_pave\": [@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"--efi\"@@@",
-      "@@@STEP_LOG_LINE@json.output@    ], @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"name\": \"efi\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"fuchsia.esp.blk\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"type\": \"blk\"@@@",
-      "@@@STEP_LOG_LINE@json.output@  }, @@@",
-      "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"bootserver_netboot\": [@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"--boot\"@@@",
-      "@@@STEP_LOG_LINE@json.output@    ], @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"name\": \"netboot\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"netboot.zbi\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"type\": \"zbi\"@@@",
-      "@@@STEP_LOG_LINE@json.output@  }, @@@",
-      "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"name\": \"archive\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"build-archive.tgz\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"type\": \"tgz\"@@@",
-      "@@@STEP_LOG_LINE@json.output@  }, @@@",
-      "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"name\": \"archive\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"build-archive.zip\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"type\": \"zip\"@@@",
-      "@@@STEP_LOG_LINE@json.output@  }, @@@",
-      "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"name\": \"qemu-kernel\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"multiboot.bin\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"type\": \"kernel\"@@@",
-      "@@@STEP_LOG_LINE@json.output@  }, @@@",
-      "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"name\": \"symbol-archive\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"symbol-archive.tgz\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"type\": \"tgz\"@@@",
-      "@@@STEP_LOG_LINE@json.output@  }, @@@",
-      "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"bootserver_pave\": [@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"--zircon-r\"@@@",
-      "@@@STEP_LOG_LINE@json.output@    ], @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"name\": \"zircon-r\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"zircon-r.zbi\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"type\": \"zbi\"@@@",
-      "@@@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]/fuchsia/out/default/zbi_tests.json",
-      "/path/to/tmp/json"
-    ],
-    "name": "build.read zbi test 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@    \"name\": \"zbi-test-x64\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../default.zircon/zbi-test-x64.zbi\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"success_string\": \"purple monkey dishwasher\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"task_name\": \"zbi-test-x64 - AEMU\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"type\": \"zbi\"@@@",
-      "@@@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]/fuchsia/prebuilt/third_party/ninja/linux_x64/ninja",
-      "-C",
-      "[START_DIR]/fuchsia/out/default.zircon",
-      "-j",
-      "80",
-      "legacy-host_tests",
-      "manifest-$cpu",
-      "zbi-test-x64.zbi"
-    ],
-    "name": "build.ninja.zircon",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@"
-    ]
-  },
-  {
-    "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]/fuchsia/prebuilt/third_party/ninja/linux_x64/ninja",
-      "-C",
-      "[START_DIR]/fuchsia/out/default",
-      "-j",
-      "80",
-      "bundles:infratools",
-      "multiboot.bin"
-    ],
-    "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": [
-      "vpython",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "{\"build_info\": {\"build_id\": 8945511751514863184, \"time_stamp\": \"2012-05-14 12:53:21.500000\", \"builder\": \"builder\", \"time_stamp_int\": 1337000003000}}",
-      "[CACHE]/goma/client/goma_stats.json"
-    ],
-    "infra_step": true,
-    "name": "build.ninja.post_goma.write goma_stats.json",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_LOG_LINE@goma_stats.json@{\"build_info\": {\"build_id\": 8945511751514863184, \"time_stamp\": \"2012-05-14 12:53:21.500000\", \"builder\": \"builder\", \"time_stamp_int\": 1337000003000}}@@@",
-      "@@@STEP_LOG_END@goma_stats.json@@@",
-      "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"build_info\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"build_id\": 8945511751514863184, @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"time_stamp\": \"2012-05-14 12:53:21.500000\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"builder\": \"builder\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"time_stamp_int\": 1337000003000@@@",
-      "@@@STEP_LOG_LINE@json.output@    }@@@",
-      "@@@STEP_LOG_LINE@json.output@}@@@",
-      "@@@STEP_LOG_END@json.output@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "build.ninja.post_goma.ensure bqupload",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@3@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "cipd",
-      "ensure",
-      "-root",
-      "[START_DIR]/cipd/bqupload",
-      "-ensure-file",
-      "infra/tools/bqupload/${platform} git_revision:d85fe78f303c3e969f815121e17c8b08868039ef",
-      "-json-output",
-      "/path/to/tmp/json"
-    ],
-    "infra_step": true,
-    "name": "build.ninja.post_goma.ensure bqupload.ensure_installed",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@4@@@",
-      "@@@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:d85\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"package\": \"infra/tools/bqupload/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/bqupload/bqupload",
-      "fuchsia-infra.artifacts.builds_beta_goma",
-      "[CACHE]/goma/client/goma_stats.json"
-    ],
-    "name": "build.ninja.post_goma.upload goma_stats_to BQ: fuchsia-infra/artifacts/builds_beta_goma",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@3@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "prepare test: zbi-test-x64 - AEMU"
-  },
-  {
-    "cmd": [
-      "python",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/symlink.py",
-      "--link-json",
-      "{\"[START_DIR]/fuchsia/out/default/../default.zircon/zbi-test-x64.zbi\": [\"[CLEANUP]/isolate_tmp_2/zbi-test-x64.zbi\"], \"[START_DIR]/fuchsia/out/default/linux_x64/botanist\": [\"[CLEANUP]/isolate_tmp_2/botanist\"], \"[START_DIR]/fuchsia/out/default/multiboot.bin\": [\"[CLEANUP]/isolate_tmp_2/multiboot.bin\"]}"
-    ],
-    "infra_step": true,
-    "name": "prepare test: zbi-test-x64 - AEMU.create tree of images",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[\n  {\n    \"name\": \"zircon-a\", \n    \"success_string\": \"purple monkey dishwasher\", \n    \"task_name\": \"zbi-test-x64 - AEMU\", \n    \"path\": \"zbi-test-x64.zbi\", \n    \"type\": \"zbi\", \n    \"cpu\": \"x64\"\n  }, \n  {\n    \"path\": \"multiboot.bin\", \n    \"type\": \"kernel\", \n    \"name\": \"qemu-kernel\"\n  }\n]",
-      "[CLEANUP]/isolate_tmp_2/images.json"
-    ],
-    "infra_step": true,
-    "name": "prepare test: zbi-test-x64 - AEMU.write image manifest",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_LINE@images.json@[@@@",
-      "@@@STEP_LOG_LINE@images.json@  {@@@",
-      "@@@STEP_LOG_LINE@images.json@    \"name\": \"zircon-a\", @@@",
-      "@@@STEP_LOG_LINE@images.json@    \"success_string\": \"purple monkey dishwasher\", @@@",
-      "@@@STEP_LOG_LINE@images.json@    \"task_name\": \"zbi-test-x64 - AEMU\", @@@",
-      "@@@STEP_LOG_LINE@images.json@    \"path\": \"zbi-test-x64.zbi\", @@@",
-      "@@@STEP_LOG_LINE@images.json@    \"type\": \"zbi\", @@@",
-      "@@@STEP_LOG_LINE@images.json@    \"cpu\": \"x64\"@@@",
-      "@@@STEP_LOG_LINE@images.json@  }, @@@",
-      "@@@STEP_LOG_LINE@images.json@  {@@@",
-      "@@@STEP_LOG_LINE@images.json@    \"path\": \"multiboot.bin\", @@@",
-      "@@@STEP_LOG_LINE@images.json@    \"type\": \"kernel\", @@@",
-      "@@@STEP_LOG_LINE@images.json@    \"name\": \"qemu-kernel\"@@@",
-      "@@@STEP_LOG_LINE@images.json@  }@@@",
-      "@@@STEP_LOG_LINE@images.json@]@@@",
-      "@@@STEP_LOG_END@images.json@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "prepare test: zbi-test-x64 - AEMU.ensure isolated",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "cipd",
-      "ensure",
-      "-root",
-      "[CACHE]/isolated_client",
-      "-ensure-file",
-      "infra/tools/luci/isolated/${platform} git_revision:305e79001db1846906c7136d90a863bee5bd3bfc",
-      "-json-output",
-      "/path/to/tmp/json"
-    ],
-    "infra_step": true,
-    "name": "prepare test: zbi-test-x64 - AEMU.ensure isolated.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-git_revision:305\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"package\": \"infra/tools/luci/isolated/resolved-platform\"@@@",
-      "@@@STEP_LOG_LINE@json.output@      }@@@",
-      "@@@STEP_LOG_LINE@json.output@    ]@@@",
-      "@@@STEP_LOG_LINE@json.output@  }@@@",
-      "@@@STEP_LOG_LINE@json.output@}@@@",
-      "@@@STEP_LOG_END@json.output@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[CACHE]/isolated_client/isolated",
-      "archive",
-      "-verbose",
-      "-isolate-server",
-      "https://example.isolateserver.appspot.com",
-      "-namespace",
-      "default-gzip",
-      "-dump-hash",
-      "/path/to/tmp/",
-      "-dirs",
-      "[CLEANUP]/isolate_tmp_2:."
-    ],
-    "infra_step": true,
-    "name": "prepare test: zbi-test-x64 - AEMU.isolate images",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LINK@isolated UI@https://example.isolateserver.appspot.com/browse?namespace=default-gzip&hash=%5Bdummy+hash%5D@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect"
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.0",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@1 launched, 1 failed@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.0.launch",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.0.launch.zbi-test-x64 - AEMU (attempt 0)",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_LINK@Swarming task@https://example.swarmingserver.appspot.com/task?id=123@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.0.launch.zbi-test-x64 - AEMU (attempt 0).ensure swarming",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@4@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "cipd",
-      "ensure",
-      "-root",
-      "[CACHE]/swarming_client",
-      "-ensure-file",
-      "infra/tools/luci/swarming/${platform} git_revision:67b11ada44a625008a2db5cb49ad453494b16ba1",
-      "-json-output",
-      "/path/to/tmp/json"
-    ],
-    "infra_step": true,
-    "name": "launch/collect.0.launch.zbi-test-x64 - AEMU (attempt 0).ensure swarming.ensure_installed",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@5@@@",
-      "@@@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:67b\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"package\": \"infra/tools/luci/swarming/resolved-platform\"@@@",
-      "@@@STEP_LOG_LINE@json.output@      }@@@",
-      "@@@STEP_LOG_LINE@json.output@    ]@@@",
-      "@@@STEP_LOG_LINE@json.output@  }@@@",
-      "@@@STEP_LOG_LINE@json.output@}@@@",
-      "@@@STEP_LOG_END@json.output@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[CACHE]/swarming_client/swarming",
-      "spawn-tasks",
-      "-server",
-      "https://example.swarmingserver.appspot.com",
-      "-json-input",
-      "{\"requests\": [{\"name\": \"zbi-test-x64 - AEMU\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:AEMU-x64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"cipd_input\": {\"packages\": [{\"package_name\": \"fuchsia/third_party/aemu/${platform}\", \"path\": \"aemu/bin\", \"version\": \"git_revision:de95df869556006ad87f402110aa835d03835060\"}]}, \"command\": [\"./botanist\", \"-level\", \"debug\", \"qemu\", \"-type\", \"aemu\", \"-qemu-dir\", \"./aemu/bin\", \"-images\", \"images.json\", \"-arch\", \"x64\", \"-use-kvm\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"kvm\", \"value\": \"1\"}, {\"key\": \"os\", \"value\": \"Debian\"}, {\"key\": \"cpu\", \"value\": \"x64\"}, {\"key\": \"pool\", \"value\": \"fuchsia.tests\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": []}}]}]}",
-      "-json-output",
-      "/path/to/tmp/json",
-      "-cancel-extra-tasks"
-    ],
-    "infra_step": true,
-    "name": "launch/collect.0.launch.zbi-test-x64 - AEMU (attempt 0).trigger",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@4@@@",
-      "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"tasks\": [@@@",
-      "@@@STEP_LOG_LINE@json.output@    {@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"request\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"name\": \"zbi-test-x64 - AEMU\"@@@",
-      "@@@STEP_LOG_LINE@json.output@      }, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"123\"@@@",
-      "@@@STEP_LOG_LINE@json.output@    }@@@",
-      "@@@STEP_LOG_LINE@json.output@  ]@@@",
-      "@@@STEP_LOG_LINE@json.output@}@@@",
-      "@@@STEP_LOG_END@json.output@@@",
-      "@@@STEP_LINK@task UI: zbi-test-x64 - AEMU@https://example.swarmingserver.appspot.com/task?id=123@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[CACHE]/swarming_client/swarming",
-      "collect",
-      "-server",
-      "https://example.swarmingserver.appspot.com",
-      "-task-summary-json",
-      "/path/to/tmp/json",
-      "-task-output-stdout",
-      "json",
-      "123"
-    ],
-    "infra_step": true,
-    "name": "launch/collect.0.collect",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"123\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"output\": \"not success\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"outputs\": [], @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"results\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"bot_id\": \"vm-123\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"duration\": 62.35, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"exit_code\": 0, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"name\": \"zbi-test-x64 - AEMU\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"outputs_ref\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"isolated\": \"abc123\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"namespace\": \"default-gzip\"@@@",
-      "@@@STEP_LOG_LINE@json.output@      }, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"state\": \"COMPLETED\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"123\"@@@",
-      "@@@STEP_LOG_LINE@json.output@    }@@@",
-      "@@@STEP_LOG_LINE@json.output@  }@@@",
-      "@@@STEP_LOG_LINE@json.output@}@@@",
-      "@@@STEP_LOG_END@json.output@@@",
-      "@@@STEP_LOG_LINE@task stdout+stderr: zbi-test-x64 - AEMU@not success@@@",
-      "@@@STEP_LOG_END@task stdout+stderr: zbi-test-x64 - AEMU@@@",
-      "@@@STEP_LINK@task isolated outputs: zbi-test-x64 - AEMU@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.0.process results",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.0.process results.zbi-test-x64 - AEMU",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
-      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
-      "@@@STEP_LOG_END@symbolized log@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[START_DIR]/fuchsia/out/default/linux_x64/symbolize",
-      "-llvm-symbolizer-restart-interval",
-      "2",
-      "-level",
-      "debug",
-      "-build-id-dir",
-      "[START_DIR]/fuchsia/out/default.zircon/.build-id",
-      "-build-id-dir",
-      "[START_DIR]/fuchsia/prebuilt/third_party/clang/linux-x64/lib/debug/.build-id",
-      "-llvm-symbolizer",
-      "[START_DIR]/fuchsia/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer",
-      "-json-output",
-      "/path/to/tmp/json"
-    ],
-    "infra_step": true,
-    "name": "launch/collect.0.process results.zbi-test-x64 - AEMU.symbolize logs",
-    "stdin": "not success",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@4@@@",
-      "@@@STEP_LOG_LINE@json.output[symbolizer-output.json]@{}@@@",
-      "@@@STEP_LOG_END@json.output[symbolizer-output.json]@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.0.process results.always pass",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@3@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.0.failed tasks",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_LINK@zbi-test-x64 - AEMU (attempt 0)@https://example.swarmingserver.appspot.com/task?id=123@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.1",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@1 launched, 1 failed, 1 failed after max attempts@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.1.launch",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.1.launch.zbi-test-x64 - AEMU (attempt 1)",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_LINK@Swarming task@https://example.swarmingserver.appspot.com/task?id=456@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[CACHE]/swarming_client/swarming",
-      "spawn-tasks",
-      "-server",
-      "https://example.swarmingserver.appspot.com",
-      "-json-input",
-      "{\"requests\": [{\"name\": \"zbi-test-x64 - AEMU\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:AEMU-x64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"cipd_input\": {\"packages\": [{\"package_name\": \"fuchsia/third_party/aemu/${platform}\", \"path\": \"aemu/bin\", \"version\": \"git_revision:de95df869556006ad87f402110aa835d03835060\"}]}, \"command\": [\"./botanist\", \"-level\", \"debug\", \"qemu\", \"-type\", \"aemu\", \"-qemu-dir\", \"./aemu/bin\", \"-images\", \"images.json\", \"-arch\", \"x64\", \"-use-kvm\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"kvm\", \"value\": \"1\"}, {\"key\": \"os\", \"value\": \"Debian\"}, {\"key\": \"cpu\", \"value\": \"x64\"}, {\"key\": \"pool\", \"value\": \"fuchsia.tests\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": []}}]}]}",
-      "-json-output",
-      "/path/to/tmp/json",
-      "-cancel-extra-tasks"
-    ],
-    "infra_step": true,
-    "name": "launch/collect.1.launch.zbi-test-x64 - AEMU (attempt 1).trigger",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@4@@@",
-      "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"tasks\": [@@@",
-      "@@@STEP_LOG_LINE@json.output@    {@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"request\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"name\": \"zbi-test-x64 - AEMU\"@@@",
-      "@@@STEP_LOG_LINE@json.output@      }, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"456\"@@@",
-      "@@@STEP_LOG_LINE@json.output@    }@@@",
-      "@@@STEP_LOG_LINE@json.output@  ]@@@",
-      "@@@STEP_LOG_LINE@json.output@}@@@",
-      "@@@STEP_LOG_END@json.output@@@",
-      "@@@STEP_LINK@task UI: zbi-test-x64 - AEMU@https://example.swarmingserver.appspot.com/task?id=456@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[CACHE]/swarming_client/swarming",
-      "collect",
-      "-server",
-      "https://example.swarmingserver.appspot.com",
-      "-task-summary-json",
-      "/path/to/tmp/json",
-      "-task-output-stdout",
-      "json",
-      "456"
-    ],
-    "infra_step": true,
-    "name": "launch/collect.1.collect",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"456\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"output\": \"not success\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"outputs\": [], @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"results\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"bot_id\": \"vm-123\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"duration\": 62.35, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"exit_code\": 0, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"name\": \"zbi-test-x64 - AEMU\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"outputs_ref\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"isolated\": \"abc123\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"namespace\": \"default-gzip\"@@@",
-      "@@@STEP_LOG_LINE@json.output@      }, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"state\": \"COMPLETED\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"456\"@@@",
-      "@@@STEP_LOG_LINE@json.output@    }@@@",
-      "@@@STEP_LOG_LINE@json.output@  }@@@",
-      "@@@STEP_LOG_LINE@json.output@}@@@",
-      "@@@STEP_LOG_END@json.output@@@",
-      "@@@STEP_LOG_LINE@task stdout+stderr: zbi-test-x64 - AEMU@not success@@@",
-      "@@@STEP_LOG_END@task stdout+stderr: zbi-test-x64 - AEMU@@@",
-      "@@@STEP_LINK@task isolated outputs: zbi-test-x64 - AEMU@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.1.process results",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.1.process results.zbi-test-x64 - AEMU",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
-      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
-      "@@@STEP_LOG_END@symbolized log@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[START_DIR]/fuchsia/out/default/linux_x64/symbolize",
-      "-llvm-symbolizer-restart-interval",
-      "2",
-      "-level",
-      "debug",
-      "-build-id-dir",
-      "[START_DIR]/fuchsia/out/default.zircon/.build-id",
-      "-build-id-dir",
-      "[START_DIR]/fuchsia/prebuilt/third_party/clang/linux-x64/lib/debug/.build-id",
-      "-llvm-symbolizer",
-      "[START_DIR]/fuchsia/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer",
-      "-json-output",
-      "/path/to/tmp/json"
-    ],
-    "infra_step": true,
-    "name": "launch/collect.1.process results.zbi-test-x64 - AEMU.symbolize logs",
-    "stdin": "not success",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@4@@@",
-      "@@@STEP_LOG_LINE@json.output[symbolizer-output.json]@{}@@@",
-      "@@@STEP_LOG_END@json.output[symbolizer-output.json]@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.1.process results.always pass",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@3@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.1.failed tasks",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_LINK@zbi-test-x64 - AEMU (attempt 1)@https://example.swarmingserver.appspot.com/task?id=456@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "passes",
-    "~followup_annotations": [
-      "@@@STEP_SUMMARY_TEXT@0 passed@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "flakes",
-    "~followup_annotations": [
-      "@@@STEP_SUMMARY_TEXT@0 flaked@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "failures",
-    "~followup_annotations": [
-      "@@@STEP_SUMMARY_TEXT@1 failed@@@",
-      "@@@STEP_FAILURE@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "failures.zbi-test-x64 - AEMU",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_FAILURE@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "failures.zbi-test-x64 - AEMU.attempt 0 (fail)",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_SUMMARY_TEXT@failed to find success string@@@",
-      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
-      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
-      "@@@STEP_LOG_END@symbolized log@@@",
-      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=123@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "failures.zbi-test-x64 - AEMU.attempt 1 (fail)",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_SUMMARY_TEXT@failed to find success string@@@",
-      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
-      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
-      "@@@STEP_LOG_END@symbolized log@@@",
-      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=456@@@"
-    ]
-  },
-  {
-    "failure": {
-      "failure": {},
-      "humanReason": "task(s) failed: zbi-test-x64 - AEMU"
-    },
-    "name": "$result"
-  }
-]
\ No newline at end of file
diff --git a/recipes/zbi_test.expected/fail-x64-QEMU.json b/recipes/zbi_test.expected/fail-x64.json
similarity index 75%
rename from recipes/zbi_test.expected/fail-x64-QEMU.json
rename to recipes/zbi_test.expected/fail-x64.json
index 2b3c2bb..110d925 100644
--- a/recipes/zbi_test.expected/fail-x64-QEMU.json
+++ b/recipes/zbi_test.expected/fail-x64.json
@@ -1448,10 +1448,14 @@
       "@@@STEP_LOG_LINE@json.output@[@@@",
       "@@@STEP_LOG_LINE@json.output@  {@@@",
       "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"device_types\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"QEMU\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"AEMU\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"Intel NUC Kit NUC7i5DNHE\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    ], @@@",
       "@@@STEP_LOG_LINE@json.output@    \"name\": \"zbi-test-x64\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"path\": \"../default.zircon/zbi-test-x64.zbi\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"success_string\": \"purple monkey dishwasher\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"task_name\": \"zbi-test-x64 - QEMU\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"type\": \"zbi\"@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@]@@@",
@@ -1743,27 +1747,13 @@
   },
   {
     "cmd": [
-      "python",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/symlink.py",
-      "--link-json",
-      "{\"[START_DIR]/fuchsia/out/default/../default.zircon/zbi-test-x64.zbi\": [\"[CLEANUP]/isolate_tmp_2/zbi-test-x64.zbi\"], \"[START_DIR]/fuchsia/out/default/linux_x64/botanist\": [\"[CLEANUP]/isolate_tmp_2/botanist\"], \"[START_DIR]/fuchsia/out/default/multiboot.bin\": [\"[CLEANUP]/isolate_tmp_2/multiboot.bin\"]}"
-    ],
-    "infra_step": true,
-    "name": "prepare test: zbi-test-x64 - QEMU.create tree of images",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
       "vpython",
       "-u",
       "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "[\n  {\n    \"name\": \"zircon-a\", \n    \"success_string\": \"purple monkey dishwasher\", \n    \"task_name\": \"zbi-test-x64 - QEMU\", \n    \"path\": \"zbi-test-x64.zbi\", \n    \"type\": \"zbi\", \n    \"cpu\": \"x64\"\n  }, \n  {\n    \"path\": \"multiboot.bin\", \n    \"type\": \"kernel\", \n    \"name\": \"qemu-kernel\"\n  }\n]",
+      "[\n  {\n    \"name\": \"zircon-a\", \n    \"device_types\": [\n      \"QEMU\", \n      \"AEMU\", \n      \"Intel NUC Kit NUC7i5DNHE\"\n    ], \n    \"success_string\": \"purple monkey dishwasher\", \n    \"path\": \"zbi-test-x64.zbi\", \n    \"type\": \"zbi\", \n    \"cpu\": \"x64\"\n  }, \n  {\n    \"path\": \"multiboot.bin\", \n    \"type\": \"kernel\", \n    \"name\": \"qemu-kernel\"\n  }\n]",
       "[CLEANUP]/isolate_tmp_2/images.json"
     ],
     "infra_step": true,
@@ -1773,8 +1763,12 @@
       "@@@STEP_LOG_LINE@images.json@[@@@",
       "@@@STEP_LOG_LINE@images.json@  {@@@",
       "@@@STEP_LOG_LINE@images.json@    \"name\": \"zircon-a\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"device_types\": [@@@",
+      "@@@STEP_LOG_LINE@images.json@      \"QEMU\", @@@",
+      "@@@STEP_LOG_LINE@images.json@      \"AEMU\", @@@",
+      "@@@STEP_LOG_LINE@images.json@      \"Intel NUC Kit NUC7i5DNHE\"@@@",
+      "@@@STEP_LOG_LINE@images.json@    ], @@@",
       "@@@STEP_LOG_LINE@images.json@    \"success_string\": \"purple monkey dishwasher\", @@@",
-      "@@@STEP_LOG_LINE@images.json@    \"task_name\": \"zbi-test-x64 - QEMU\", @@@",
       "@@@STEP_LOG_LINE@images.json@    \"path\": \"zbi-test-x64.zbi\", @@@",
       "@@@STEP_LOG_LINE@images.json@    \"type\": \"zbi\", @@@",
       "@@@STEP_LOG_LINE@images.json@    \"cpu\": \"x64\"@@@",
@@ -1789,6 +1783,48 @@
     ]
   },
   {
+    "cmd": [
+      "vpython",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "copy",
+      "[\n  {\n    \"target\": \"x64\", \n    \"kvm\": true, \n    \"memory\": 4096, \n    \"path\": \"./qemu/bin\", \n    \"type\": \"qemu\", \n    \"cpu\": 4\n  }\n]",
+      "[CLEANUP]/isolate_tmp_2/qemu.json"
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-x64 - QEMU.write qemu config",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_LINE@qemu.json@[@@@",
+      "@@@STEP_LOG_LINE@qemu.json@  {@@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"target\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"kvm\": true, @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"memory\": 4096, @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"path\": \"./qemu/bin\", @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"type\": \"qemu\", @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"cpu\": 4@@@",
+      "@@@STEP_LOG_LINE@qemu.json@  }@@@",
+      "@@@STEP_LOG_LINE@qemu.json@]@@@",
+      "@@@STEP_LOG_END@qemu.json@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/symlink.py",
+      "--link-json",
+      "{\"[START_DIR]/fuchsia/out/default/../default.zircon/zbi-test-x64.zbi\": [\"[CLEANUP]/isolate_tmp_2/zbi-test-x64.zbi\"], \"[START_DIR]/fuchsia/out/default/linux_x64/botanist\": [\"[CLEANUP]/isolate_tmp_2/botanist\"], \"[START_DIR]/fuchsia/out/default/linux_x64/seriallistener\": [\"[CLEANUP]/isolate_tmp_2/seriallistener\"], \"[START_DIR]/fuchsia/out/default/multiboot.bin\": [\"[CLEANUP]/isolate_tmp_2/multiboot.bin\"]}"
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-x64 - QEMU.create tree of images",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
     "cmd": [],
     "name": "prepare test: zbi-test-x64 - QEMU.ensure isolated",
     "~followup_annotations": [
@@ -1846,6 +1882,181 @@
   },
   {
     "cmd": [],
+    "name": "prepare test: zbi-test-x64 - Intel NUC Kit NUC7i5DNHE"
+  },
+  {
+    "cmd": [
+      "vpython",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "copy",
+      "[\n  {\n    \"name\": \"zircon-a\", \n    \"device_types\": [\n      \"QEMU\", \n      \"AEMU\", \n      \"Intel NUC Kit NUC7i5DNHE\"\n    ], \n    \"success_string\": \"purple monkey dishwasher\", \n    \"path\": \"zbi-test-x64.zbi\", \n    \"type\": \"zbi\", \n    \"cpu\": \"x64\"\n  }\n]",
+      "[CLEANUP]/isolate_tmp_3/images.json"
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-x64 - Intel NUC Kit NUC7i5DNHE.write image manifest",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_LINE@images.json@[@@@",
+      "@@@STEP_LOG_LINE@images.json@  {@@@",
+      "@@@STEP_LOG_LINE@images.json@    \"name\": \"zircon-a\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"device_types\": [@@@",
+      "@@@STEP_LOG_LINE@images.json@      \"QEMU\", @@@",
+      "@@@STEP_LOG_LINE@images.json@      \"AEMU\", @@@",
+      "@@@STEP_LOG_LINE@images.json@      \"Intel NUC Kit NUC7i5DNHE\"@@@",
+      "@@@STEP_LOG_LINE@images.json@    ], @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"success_string\": \"purple monkey dishwasher\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"path\": \"zbi-test-x64.zbi\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"type\": \"zbi\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"cpu\": \"x64\"@@@",
+      "@@@STEP_LOG_LINE@images.json@  }@@@",
+      "@@@STEP_LOG_LINE@images.json@]@@@",
+      "@@@STEP_LOG_END@images.json@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/symlink.py",
+      "--link-json",
+      "{\"[START_DIR]/fuchsia/out/default/../default.zircon/zbi-test-x64.zbi\": [\"[CLEANUP]/isolate_tmp_3/zbi-test-x64.zbi\"], \"[START_DIR]/fuchsia/out/default/linux_x64/botanist\": [\"[CLEANUP]/isolate_tmp_3/botanist\"], \"[START_DIR]/fuchsia/out/default/linux_x64/seriallistener\": [\"[CLEANUP]/isolate_tmp_3/seriallistener\"]}"
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-x64 - Intel NUC Kit NUC7i5DNHE.create tree of images",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[CACHE]/isolated_client/isolated",
+      "archive",
+      "-verbose",
+      "-isolate-server",
+      "https://example.isolateserver.appspot.com",
+      "-namespace",
+      "default-gzip",
+      "-dump-hash",
+      "/path/to/tmp/",
+      "-dirs",
+      "[CLEANUP]/isolate_tmp_3:."
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-x64 - Intel NUC Kit NUC7i5DNHE.isolate images",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LINK@isolated UI@https://example.isolateserver.appspot.com/browse?namespace=default-gzip&hash=%5Bdummy+hash%5D@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "prepare test: zbi-test-x64 - AEMU"
+  },
+  {
+    "cmd": [
+      "vpython",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "copy",
+      "[\n  {\n    \"name\": \"zircon-a\", \n    \"device_types\": [\n      \"QEMU\", \n      \"AEMU\", \n      \"Intel NUC Kit NUC7i5DNHE\"\n    ], \n    \"success_string\": \"purple monkey dishwasher\", \n    \"path\": \"zbi-test-x64.zbi\", \n    \"type\": \"zbi\", \n    \"cpu\": \"x64\"\n  }, \n  {\n    \"path\": \"multiboot.bin\", \n    \"type\": \"kernel\", \n    \"name\": \"qemu-kernel\"\n  }\n]",
+      "[CLEANUP]/isolate_tmp_4/images.json"
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-x64 - AEMU.write image manifest",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_LINE@images.json@[@@@",
+      "@@@STEP_LOG_LINE@images.json@  {@@@",
+      "@@@STEP_LOG_LINE@images.json@    \"name\": \"zircon-a\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"device_types\": [@@@",
+      "@@@STEP_LOG_LINE@images.json@      \"QEMU\", @@@",
+      "@@@STEP_LOG_LINE@images.json@      \"AEMU\", @@@",
+      "@@@STEP_LOG_LINE@images.json@      \"Intel NUC Kit NUC7i5DNHE\"@@@",
+      "@@@STEP_LOG_LINE@images.json@    ], @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"success_string\": \"purple monkey dishwasher\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"path\": \"zbi-test-x64.zbi\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"type\": \"zbi\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"cpu\": \"x64\"@@@",
+      "@@@STEP_LOG_LINE@images.json@  }, @@@",
+      "@@@STEP_LOG_LINE@images.json@  {@@@",
+      "@@@STEP_LOG_LINE@images.json@    \"path\": \"multiboot.bin\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"type\": \"kernel\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"name\": \"qemu-kernel\"@@@",
+      "@@@STEP_LOG_LINE@images.json@  }@@@",
+      "@@@STEP_LOG_LINE@images.json@]@@@",
+      "@@@STEP_LOG_END@images.json@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "vpython",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "copy",
+      "[\n  {\n    \"target\": \"x64\", \n    \"kvm\": true, \n    \"memory\": 4096, \n    \"path\": \"./aemu/bin\", \n    \"type\": \"aemu\", \n    \"cpu\": 4\n  }\n]",
+      "[CLEANUP]/isolate_tmp_4/qemu.json"
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-x64 - AEMU.write qemu config",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_LINE@qemu.json@[@@@",
+      "@@@STEP_LOG_LINE@qemu.json@  {@@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"target\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"kvm\": true, @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"memory\": 4096, @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"path\": \"./aemu/bin\", @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"type\": \"aemu\", @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"cpu\": 4@@@",
+      "@@@STEP_LOG_LINE@qemu.json@  }@@@",
+      "@@@STEP_LOG_LINE@qemu.json@]@@@",
+      "@@@STEP_LOG_END@qemu.json@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/symlink.py",
+      "--link-json",
+      "{\"[START_DIR]/fuchsia/out/default/../default.zircon/zbi-test-x64.zbi\": [\"[CLEANUP]/isolate_tmp_4/zbi-test-x64.zbi\"], \"[START_DIR]/fuchsia/out/default/linux_x64/botanist\": [\"[CLEANUP]/isolate_tmp_4/botanist\"], \"[START_DIR]/fuchsia/out/default/linux_x64/seriallistener\": [\"[CLEANUP]/isolate_tmp_4/seriallistener\"], \"[START_DIR]/fuchsia/out/default/multiboot.bin\": [\"[CLEANUP]/isolate_tmp_4/multiboot.bin\"]}"
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-x64 - AEMU.create tree of images",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[CACHE]/isolated_client/isolated",
+      "archive",
+      "-verbose",
+      "-isolate-server",
+      "https://example.isolateserver.appspot.com",
+      "-namespace",
+      "default-gzip",
+      "-dump-hash",
+      "/path/to/tmp/",
+      "-dirs",
+      "[CLEANUP]/isolate_tmp_4:."
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-x64 - AEMU.isolate images",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LINK@isolated UI@https://example.isolateserver.appspot.com/browse?namespace=default-gzip&hash=%5Bdummy+hash%5D@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "launch/collect"
   },
   {
@@ -1853,7 +2064,7 @@
     "name": "launch/collect.0",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@1 launched, 1 failed@@@"
+      "@@@STEP_SUMMARY_TEXT@3 launched, 3 failed@@@"
     ]
   },
   {
@@ -1913,7 +2124,7 @@
       "-server",
       "https://example.swarmingserver.appspot.com",
       "-json-input",
-      "{\"requests\": [{\"name\": \"zbi-test-x64 - QEMU\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:QEMU-x64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"cipd_input\": {\"packages\": [{\"package_name\": \"fuchsia/third_party/qemu/${platform}\", \"path\": \"qemu\", \"version\": \"git_revision:533bf2563d0213a7e002d9fcde75519d30ffa70f\"}]}, \"command\": [\"./botanist\", \"-level\", \"debug\", \"qemu\", \"-type\", \"qemu\", \"-qemu-dir\", \"./qemu/bin\", \"-images\", \"images.json\", \"-arch\", \"x64\", \"-use-kvm\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"kvm\", \"value\": \"1\"}, {\"key\": \"os\", \"value\": \"Debian\"}, {\"key\": \"cpu\", \"value\": \"x64\"}, {\"key\": \"pool\", \"value\": \"fuchsia.tests\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": []}}]}]}",
+      "{\"requests\": [{\"name\": \"zbi-test-x64 - QEMU\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:QEMU-x64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"cipd_input\": {\"packages\": [{\"package_name\": \"fuchsia/third_party/qemu/${platform}\", \"path\": \"qemu\", \"version\": \"git_revision:533bf2563d0213a7e002d9fcde75519d30ffa70f\"}]}, \"command\": [\"./botanist\", \"-level\", \"debug\", \"run\", \"-images\", \"images.json\", \"-serial-log\", \"serial.txt\", \"-config\", \"./qemu.json\", \"-netboot\", \"./seriallistener\", \"-timeout\", \"5m\", \"-stdout=False\", \"-success\", \"purple monkey dishwasher\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"kvm\", \"value\": \"1\"}, {\"key\": \"os\", \"value\": \"Debian\"}, {\"key\": \"cpu\", \"value\": \"x64\"}, {\"key\": \"pool\", \"value\": \"fuchsia.tests\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": [\"serial.txt\"]}}]}]}",
       "-json-output",
       "/path/to/tmp/json",
       "-cancel-extra-tasks"
@@ -1937,6 +2148,82 @@
     ]
   },
   {
+    "cmd": [],
+    "name": "launch/collect.0.launch.zbi-test-x64 - Intel NUC Kit NUC7i5DNHE (attempt 0)",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@3@@@",
+      "@@@STEP_LINK@Swarming task@https://example.swarmingserver.appspot.com/task?id=127@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[CACHE]/swarming_client/swarming",
+      "spawn-tasks",
+      "-server",
+      "https://example.swarmingserver.appspot.com",
+      "-json-input",
+      "{\"requests\": [{\"name\": \"zbi-test-x64 - Intel NUC Kit NUC7i5DNHE\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:Intel NUC Kit NUC7i5DNHE-x64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"command\": [\"./botanist\", \"-level\", \"debug\", \"run\", \"-images\", \"images.json\", \"-serial-log\", \"serial.txt\", \"-config\", \"/etc/botanist/config.json\", \"-netboot\", \"./seriallistener\", \"-timeout\", \"5m\", \"-stdout=True\", \"-success\", \"purple monkey dishwasher\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"pool\", \"value\": \"fuchsia.tests\"}, {\"key\": \"device_type\", \"value\": \"Intel NUC Kit NUC7i5DNHE\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": [\"serial.txt\"]}}]}]}",
+      "-json-output",
+      "/path/to/tmp/json",
+      "-cancel-extra-tasks"
+    ],
+    "infra_step": true,
+    "name": "launch/collect.0.launch.zbi-test-x64 - Intel NUC Kit NUC7i5DNHE (attempt 0).trigger",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@4@@@",
+      "@@@STEP_LOG_LINE@json.output@{@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"tasks\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@    {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"request\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"name\": \"zbi-test-x64 - Intel NUC Kit NUC7i5DNHE\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      }, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"127\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  ]@@@",
+      "@@@STEP_LOG_LINE@json.output@}@@@",
+      "@@@STEP_LOG_END@json.output@@@",
+      "@@@STEP_LINK@task UI: zbi-test-x64 - Intel NUC Kit NUC7i5DNHE@https://example.swarmingserver.appspot.com/task?id=127@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "launch/collect.0.launch.zbi-test-x64 - AEMU (attempt 0)",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@3@@@",
+      "@@@STEP_LINK@Swarming task@https://example.swarmingserver.appspot.com/task?id=125@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[CACHE]/swarming_client/swarming",
+      "spawn-tasks",
+      "-server",
+      "https://example.swarmingserver.appspot.com",
+      "-json-input",
+      "{\"requests\": [{\"name\": \"zbi-test-x64 - AEMU\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:AEMU-x64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"cipd_input\": {\"packages\": [{\"package_name\": \"fuchsia/third_party/aemu/${platform}\", \"path\": \"aemu/bin\", \"version\": \"git_revision:de95df869556006ad87f402110aa835d03835060\"}]}, \"command\": [\"./botanist\", \"-level\", \"debug\", \"run\", \"-images\", \"images.json\", \"-serial-log\", \"serial.txt\", \"-config\", \"./qemu.json\", \"-netboot\", \"./seriallistener\", \"-timeout\", \"5m\", \"-stdout=False\", \"-success\", \"purple monkey dishwasher\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"kvm\", \"value\": \"1\"}, {\"key\": \"os\", \"value\": \"Debian\"}, {\"key\": \"cpu\", \"value\": \"x64\"}, {\"key\": \"pool\", \"value\": \"fuchsia.tests\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": [\"serial.txt\"]}}]}]}",
+      "-json-output",
+      "/path/to/tmp/json",
+      "-cancel-extra-tasks"
+    ],
+    "infra_step": true,
+    "name": "launch/collect.0.launch.zbi-test-x64 - AEMU (attempt 0).trigger",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@4@@@",
+      "@@@STEP_LOG_LINE@json.output@{@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"tasks\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@    {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"request\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"name\": \"zbi-test-x64 - AEMU\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      }, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"125\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  ]@@@",
+      "@@@STEP_LOG_LINE@json.output@}@@@",
+      "@@@STEP_LOG_END@json.output@@@",
+      "@@@STEP_LINK@task UI: zbi-test-x64 - AEMU@https://example.swarmingserver.appspot.com/task?id=125@@@"
+    ]
+  },
+  {
     "cmd": [
       "[CACHE]/swarming_client/swarming",
       "collect",
@@ -1946,7 +2233,13 @@
       "/path/to/tmp/json",
       "-task-output-stdout",
       "json",
-      "123"
+      "-output-dir",
+      "[CLEANUP]/swarming_tmp_5",
+      "-timeout",
+      "5m",
+      "123",
+      "127",
+      "125"
     ],
     "infra_step": true,
     "name": "launch/collect.0.collect",
@@ -1959,7 +2252,7 @@
       "@@@STEP_LOG_LINE@json.output@    \"results\": {@@@",
       "@@@STEP_LOG_LINE@json.output@      \"bot_id\": \"vm-123\", @@@",
       "@@@STEP_LOG_LINE@json.output@      \"duration\": 62.35, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"exit_code\": 0, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"exit_code\": 1, @@@",
       "@@@STEP_LOG_LINE@json.output@      \"name\": \"zbi-test-x64 - QEMU\", @@@",
       "@@@STEP_LOG_LINE@json.output@      \"outputs_ref\": {@@@",
       "@@@STEP_LOG_LINE@json.output@        \"isolated\": \"abc123\", @@@",
@@ -1969,11 +2262,51 @@
       "@@@STEP_LOG_LINE@json.output@      \"state\": \"COMPLETED\", @@@",
       "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"123\"@@@",
       "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"125\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"output\": \"not success\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"outputs\": [], @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"results\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"bot_id\": \"vm-123\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"duration\": 62.35, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"exit_code\": 1, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"name\": \"zbi-test-x64 - AEMU\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"outputs_ref\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"isolated\": \"abc123\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"namespace\": \"default-gzip\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      }, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"state\": \"COMPLETED\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"125\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"127\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"output\": \"not success\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"outputs\": [], @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"results\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"bot_id\": \"vm-123\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"duration\": 62.35, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"exit_code\": 1, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"name\": \"zbi-test-x64 - Intel NUC Kit NUC7i5DNHE\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"outputs_ref\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"isolated\": \"abc123\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"namespace\": \"default-gzip\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      }, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"state\": \"COMPLETED\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"127\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
+      "@@@STEP_LOG_LINE@task stdout+stderr: zbi-test-x64 - AEMU@not success@@@",
+      "@@@STEP_LOG_END@task stdout+stderr: zbi-test-x64 - AEMU@@@",
+      "@@@STEP_LOG_LINE@task stdout+stderr: zbi-test-x64 - Intel NUC Kit NUC7i5DNHE@not success@@@",
+      "@@@STEP_LOG_END@task stdout+stderr: zbi-test-x64 - Intel NUC Kit NUC7i5DNHE@@@",
       "@@@STEP_LOG_LINE@task stdout+stderr: zbi-test-x64 - QEMU@not success@@@",
       "@@@STEP_LOG_END@task stdout+stderr: zbi-test-x64 - QEMU@@@",
+      "@@@STEP_LINK@task isolated outputs: zbi-test-x64 - AEMU@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@",
+      "@@@STEP_LINK@task isolated outputs: zbi-test-x64 - Intel NUC Kit NUC7i5DNHE@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@",
       "@@@STEP_LINK@task isolated outputs: zbi-test-x64 - QEMU@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@"
     ]
   },
@@ -1986,6 +2319,76 @@
   },
   {
     "cmd": [],
+    "name": "launch/collect.0.process results.zbi-test-x64 - AEMU",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@3@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_END@symbolized log@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[START_DIR]/fuchsia/out/default/linux_x64/symbolize",
+      "-llvm-symbolizer-restart-interval",
+      "2",
+      "-level",
+      "debug",
+      "-build-id-dir",
+      "[START_DIR]/fuchsia/out/default.zircon/.build-id",
+      "-build-id-dir",
+      "[START_DIR]/fuchsia/prebuilt/third_party/clang/linux-x64/lib/debug/.build-id",
+      "-llvm-symbolizer",
+      "[START_DIR]/fuchsia/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer",
+      "-json-output",
+      "/path/to/tmp/json"
+    ],
+    "infra_step": true,
+    "name": "launch/collect.0.process results.zbi-test-x64 - AEMU.symbolize logs",
+    "stdin": "not success",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@4@@@",
+      "@@@STEP_LOG_LINE@json.output[symbolizer-output.json]@{}@@@",
+      "@@@STEP_LOG_END@json.output[symbolizer-output.json]@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "launch/collect.0.process results.zbi-test-x64 - Intel NUC Kit NUC7i5DNHE",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@3@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_END@symbolized log@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[START_DIR]/fuchsia/out/default/linux_x64/symbolize",
+      "-llvm-symbolizer-restart-interval",
+      "2",
+      "-level",
+      "debug",
+      "-build-id-dir",
+      "[START_DIR]/fuchsia/out/default.zircon/.build-id",
+      "-build-id-dir",
+      "[START_DIR]/fuchsia/prebuilt/third_party/clang/linux-x64/lib/debug/.build-id",
+      "-llvm-symbolizer",
+      "[START_DIR]/fuchsia/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer",
+      "-json-output",
+      "/path/to/tmp/json"
+    ],
+    "infra_step": true,
+    "name": "launch/collect.0.process results.zbi-test-x64 - Intel NUC Kit NUC7i5DNHE.symbolize logs",
+    "stdin": "not success",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@4@@@",
+      "@@@STEP_LOG_LINE@json.output[symbolizer-output.json]@{}@@@",
+      "@@@STEP_LOG_END@json.output[symbolizer-output.json]@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "launch/collect.0.process results.zbi-test-x64 - QEMU",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
@@ -2031,6 +2434,8 @@
     "name": "launch/collect.0.failed tasks",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
+      "@@@STEP_LINK@zbi-test-x64 - AEMU (attempt 0)@https://example.swarmingserver.appspot.com/task?id=125@@@",
+      "@@@STEP_LINK@zbi-test-x64 - Intel NUC Kit NUC7i5DNHE (attempt 0)@https://example.swarmingserver.appspot.com/task?id=127@@@",
       "@@@STEP_LINK@zbi-test-x64 - QEMU (attempt 0)@https://example.swarmingserver.appspot.com/task?id=123@@@"
     ]
   },
@@ -2039,7 +2444,7 @@
     "name": "launch/collect.1",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@1 launched, 1 failed, 1 failed after max attempts@@@"
+      "@@@STEP_SUMMARY_TEXT@3 launched, 3 failed, 3 failed after max attempts@@@"
     ]
   },
   {
@@ -2054,7 +2459,7 @@
     "name": "launch/collect.1.launch.zbi-test-x64 - QEMU (attempt 1)",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_LINK@Swarming task@https://example.swarmingserver.appspot.com/task?id=456@@@"
+      "@@@STEP_LINK@Swarming task@https://example.swarmingserver.appspot.com/task?id=124@@@"
     ]
   },
   {
@@ -2064,7 +2469,7 @@
       "-server",
       "https://example.swarmingserver.appspot.com",
       "-json-input",
-      "{\"requests\": [{\"name\": \"zbi-test-x64 - QEMU\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:QEMU-x64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"cipd_input\": {\"packages\": [{\"package_name\": \"fuchsia/third_party/qemu/${platform}\", \"path\": \"qemu\", \"version\": \"git_revision:533bf2563d0213a7e002d9fcde75519d30ffa70f\"}]}, \"command\": [\"./botanist\", \"-level\", \"debug\", \"qemu\", \"-type\", \"qemu\", \"-qemu-dir\", \"./qemu/bin\", \"-images\", \"images.json\", \"-arch\", \"x64\", \"-use-kvm\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"kvm\", \"value\": \"1\"}, {\"key\": \"os\", \"value\": \"Debian\"}, {\"key\": \"cpu\", \"value\": \"x64\"}, {\"key\": \"pool\", \"value\": \"fuchsia.tests\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": []}}]}]}",
+      "{\"requests\": [{\"name\": \"zbi-test-x64 - QEMU\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:QEMU-x64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"cipd_input\": {\"packages\": [{\"package_name\": \"fuchsia/third_party/qemu/${platform}\", \"path\": \"qemu\", \"version\": \"git_revision:533bf2563d0213a7e002d9fcde75519d30ffa70f\"}]}, \"command\": [\"./botanist\", \"-level\", \"debug\", \"run\", \"-images\", \"images.json\", \"-serial-log\", \"serial.txt\", \"-config\", \"./qemu.json\", \"-netboot\", \"./seriallistener\", \"-timeout\", \"5m\", \"-stdout=False\", \"-success\", \"purple monkey dishwasher\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"kvm\", \"value\": \"1\"}, {\"key\": \"os\", \"value\": \"Debian\"}, {\"key\": \"cpu\", \"value\": \"x64\"}, {\"key\": \"pool\", \"value\": \"fuchsia.tests\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": [\"serial.txt\"]}}]}]}",
       "-json-output",
       "/path/to/tmp/json",
       "-cancel-extra-tasks"
@@ -2079,12 +2484,88 @@
       "@@@STEP_LOG_LINE@json.output@      \"request\": {@@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"zbi-test-x64 - QEMU\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"456\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"124\"@@@",
       "@@@STEP_LOG_LINE@json.output@    }@@@",
       "@@@STEP_LOG_LINE@json.output@  ]@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
-      "@@@STEP_LINK@task UI: zbi-test-x64 - QEMU@https://example.swarmingserver.appspot.com/task?id=456@@@"
+      "@@@STEP_LINK@task UI: zbi-test-x64 - QEMU@https://example.swarmingserver.appspot.com/task?id=124@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "launch/collect.1.launch.zbi-test-x64 - Intel NUC Kit NUC7i5DNHE (attempt 1)",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@3@@@",
+      "@@@STEP_LINK@Swarming task@https://example.swarmingserver.appspot.com/task?id=128@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[CACHE]/swarming_client/swarming",
+      "spawn-tasks",
+      "-server",
+      "https://example.swarmingserver.appspot.com",
+      "-json-input",
+      "{\"requests\": [{\"name\": \"zbi-test-x64 - Intel NUC Kit NUC7i5DNHE\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:Intel NUC Kit NUC7i5DNHE-x64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"command\": [\"./botanist\", \"-level\", \"debug\", \"run\", \"-images\", \"images.json\", \"-serial-log\", \"serial.txt\", \"-config\", \"/etc/botanist/config.json\", \"-netboot\", \"./seriallistener\", \"-timeout\", \"5m\", \"-stdout=True\", \"-success\", \"purple monkey dishwasher\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"pool\", \"value\": \"fuchsia.tests\"}, {\"key\": \"device_type\", \"value\": \"Intel NUC Kit NUC7i5DNHE\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": [\"serial.txt\"]}}]}]}",
+      "-json-output",
+      "/path/to/tmp/json",
+      "-cancel-extra-tasks"
+    ],
+    "infra_step": true,
+    "name": "launch/collect.1.launch.zbi-test-x64 - Intel NUC Kit NUC7i5DNHE (attempt 1).trigger",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@4@@@",
+      "@@@STEP_LOG_LINE@json.output@{@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"tasks\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@    {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"request\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"name\": \"zbi-test-x64 - Intel NUC Kit NUC7i5DNHE\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      }, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"128\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  ]@@@",
+      "@@@STEP_LOG_LINE@json.output@}@@@",
+      "@@@STEP_LOG_END@json.output@@@",
+      "@@@STEP_LINK@task UI: zbi-test-x64 - Intel NUC Kit NUC7i5DNHE@https://example.swarmingserver.appspot.com/task?id=128@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "launch/collect.1.launch.zbi-test-x64 - AEMU (attempt 1)",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@3@@@",
+      "@@@STEP_LINK@Swarming task@https://example.swarmingserver.appspot.com/task?id=126@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[CACHE]/swarming_client/swarming",
+      "spawn-tasks",
+      "-server",
+      "https://example.swarmingserver.appspot.com",
+      "-json-input",
+      "{\"requests\": [{\"name\": \"zbi-test-x64 - AEMU\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:AEMU-x64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"cipd_input\": {\"packages\": [{\"package_name\": \"fuchsia/third_party/aemu/${platform}\", \"path\": \"aemu/bin\", \"version\": \"git_revision:de95df869556006ad87f402110aa835d03835060\"}]}, \"command\": [\"./botanist\", \"-level\", \"debug\", \"run\", \"-images\", \"images.json\", \"-serial-log\", \"serial.txt\", \"-config\", \"./qemu.json\", \"-netboot\", \"./seriallistener\", \"-timeout\", \"5m\", \"-stdout=False\", \"-success\", \"purple monkey dishwasher\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"kvm\", \"value\": \"1\"}, {\"key\": \"os\", \"value\": \"Debian\"}, {\"key\": \"cpu\", \"value\": \"x64\"}, {\"key\": \"pool\", \"value\": \"fuchsia.tests\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": [\"serial.txt\"]}}]}]}",
+      "-json-output",
+      "/path/to/tmp/json",
+      "-cancel-extra-tasks"
+    ],
+    "infra_step": true,
+    "name": "launch/collect.1.launch.zbi-test-x64 - AEMU (attempt 1).trigger",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@4@@@",
+      "@@@STEP_LOG_LINE@json.output@{@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"tasks\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@    {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"request\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"name\": \"zbi-test-x64 - AEMU\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      }, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"126\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  ]@@@",
+      "@@@STEP_LOG_LINE@json.output@}@@@",
+      "@@@STEP_LOG_END@json.output@@@",
+      "@@@STEP_LINK@task UI: zbi-test-x64 - AEMU@https://example.swarmingserver.appspot.com/task?id=126@@@"
     ]
   },
   {
@@ -2097,20 +2578,26 @@
       "/path/to/tmp/json",
       "-task-output-stdout",
       "json",
-      "456"
+      "-output-dir",
+      "[CLEANUP]/swarming_tmp_5",
+      "-timeout",
+      "5m",
+      "124",
+      "128",
+      "126"
     ],
     "infra_step": true,
     "name": "launch/collect.1.collect",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"456\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"124\": {@@@",
       "@@@STEP_LOG_LINE@json.output@    \"output\": \"not success\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"outputs\": [], @@@",
       "@@@STEP_LOG_LINE@json.output@    \"results\": {@@@",
       "@@@STEP_LOG_LINE@json.output@      \"bot_id\": \"vm-123\", @@@",
       "@@@STEP_LOG_LINE@json.output@      \"duration\": 62.35, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"exit_code\": 0, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"exit_code\": 1, @@@",
       "@@@STEP_LOG_LINE@json.output@      \"name\": \"zbi-test-x64 - QEMU\", @@@",
       "@@@STEP_LOG_LINE@json.output@      \"outputs_ref\": {@@@",
       "@@@STEP_LOG_LINE@json.output@        \"isolated\": \"abc123\", @@@",
@@ -2118,13 +2605,53 @@
       "@@@STEP_LOG_LINE@json.output@        \"namespace\": \"default-gzip\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }, @@@",
       "@@@STEP_LOG_LINE@json.output@      \"state\": \"COMPLETED\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"456\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"124\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"126\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"output\": \"not success\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"outputs\": [], @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"results\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"bot_id\": \"vm-123\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"duration\": 62.35, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"exit_code\": 1, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"name\": \"zbi-test-x64 - AEMU\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"outputs_ref\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"isolated\": \"abc123\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"namespace\": \"default-gzip\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      }, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"state\": \"COMPLETED\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"126\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"128\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"output\": \"not success\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"outputs\": [], @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"results\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"bot_id\": \"vm-123\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"duration\": 62.35, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"exit_code\": 1, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"name\": \"zbi-test-x64 - Intel NUC Kit NUC7i5DNHE\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"outputs_ref\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"isolated\": \"abc123\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"namespace\": \"default-gzip\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      }, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"state\": \"COMPLETED\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"128\"@@@",
       "@@@STEP_LOG_LINE@json.output@    }@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
+      "@@@STEP_LOG_LINE@task stdout+stderr: zbi-test-x64 - AEMU@not success@@@",
+      "@@@STEP_LOG_END@task stdout+stderr: zbi-test-x64 - AEMU@@@",
+      "@@@STEP_LOG_LINE@task stdout+stderr: zbi-test-x64 - Intel NUC Kit NUC7i5DNHE@not success@@@",
+      "@@@STEP_LOG_END@task stdout+stderr: zbi-test-x64 - Intel NUC Kit NUC7i5DNHE@@@",
       "@@@STEP_LOG_LINE@task stdout+stderr: zbi-test-x64 - QEMU@not success@@@",
       "@@@STEP_LOG_END@task stdout+stderr: zbi-test-x64 - QEMU@@@",
+      "@@@STEP_LINK@task isolated outputs: zbi-test-x64 - AEMU@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@",
+      "@@@STEP_LINK@task isolated outputs: zbi-test-x64 - Intel NUC Kit NUC7i5DNHE@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@",
       "@@@STEP_LINK@task isolated outputs: zbi-test-x64 - QEMU@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@"
     ]
   },
@@ -2137,6 +2664,76 @@
   },
   {
     "cmd": [],
+    "name": "launch/collect.1.process results.zbi-test-x64 - AEMU",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@3@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_END@symbolized log@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[START_DIR]/fuchsia/out/default/linux_x64/symbolize",
+      "-llvm-symbolizer-restart-interval",
+      "2",
+      "-level",
+      "debug",
+      "-build-id-dir",
+      "[START_DIR]/fuchsia/out/default.zircon/.build-id",
+      "-build-id-dir",
+      "[START_DIR]/fuchsia/prebuilt/third_party/clang/linux-x64/lib/debug/.build-id",
+      "-llvm-symbolizer",
+      "[START_DIR]/fuchsia/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer",
+      "-json-output",
+      "/path/to/tmp/json"
+    ],
+    "infra_step": true,
+    "name": "launch/collect.1.process results.zbi-test-x64 - AEMU.symbolize logs",
+    "stdin": "not success",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@4@@@",
+      "@@@STEP_LOG_LINE@json.output[symbolizer-output.json]@{}@@@",
+      "@@@STEP_LOG_END@json.output[symbolizer-output.json]@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "launch/collect.1.process results.zbi-test-x64 - Intel NUC Kit NUC7i5DNHE",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@3@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_END@symbolized log@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[START_DIR]/fuchsia/out/default/linux_x64/symbolize",
+      "-llvm-symbolizer-restart-interval",
+      "2",
+      "-level",
+      "debug",
+      "-build-id-dir",
+      "[START_DIR]/fuchsia/out/default.zircon/.build-id",
+      "-build-id-dir",
+      "[START_DIR]/fuchsia/prebuilt/third_party/clang/linux-x64/lib/debug/.build-id",
+      "-llvm-symbolizer",
+      "[START_DIR]/fuchsia/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer",
+      "-json-output",
+      "/path/to/tmp/json"
+    ],
+    "infra_step": true,
+    "name": "launch/collect.1.process results.zbi-test-x64 - Intel NUC Kit NUC7i5DNHE.symbolize logs",
+    "stdin": "not success",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@4@@@",
+      "@@@STEP_LOG_LINE@json.output[symbolizer-output.json]@{}@@@",
+      "@@@STEP_LOG_END@json.output[symbolizer-output.json]@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "launch/collect.1.process results.zbi-test-x64 - QEMU",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
@@ -2182,7 +2779,9 @@
     "name": "launch/collect.1.failed tasks",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_LINK@zbi-test-x64 - QEMU (attempt 1)@https://example.swarmingserver.appspot.com/task?id=456@@@"
+      "@@@STEP_LINK@zbi-test-x64 - AEMU (attempt 1)@https://example.swarmingserver.appspot.com/task?id=126@@@",
+      "@@@STEP_LINK@zbi-test-x64 - Intel NUC Kit NUC7i5DNHE (attempt 1)@https://example.swarmingserver.appspot.com/task?id=128@@@",
+      "@@@STEP_LINK@zbi-test-x64 - QEMU (attempt 1)@https://example.swarmingserver.appspot.com/task?id=124@@@"
     ]
   },
   {
@@ -2203,7 +2802,7 @@
     "cmd": [],
     "name": "failures",
     "~followup_annotations": [
-      "@@@STEP_SUMMARY_TEXT@1 failed@@@",
+      "@@@STEP_SUMMARY_TEXT@3 failed@@@",
       "@@@STEP_FAILURE@@@"
     ]
   },
@@ -2220,7 +2819,6 @@
     "name": "failures.zbi-test-x64 - QEMU.attempt 0 (fail)",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_SUMMARY_TEXT@failed to find success string@@@",
       "@@@STEP_LOG_LINE@symbolized log@blah@@@",
       "@@@STEP_LOG_LINE@symbolized log@blah@@@",
       "@@@STEP_LOG_END@symbolized log@@@",
@@ -2232,17 +2830,76 @@
     "name": "failures.zbi-test-x64 - QEMU.attempt 1 (fail)",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_SUMMARY_TEXT@failed to find success string@@@",
       "@@@STEP_LOG_LINE@symbolized log@blah@@@",
       "@@@STEP_LOG_LINE@symbolized log@blah@@@",
       "@@@STEP_LOG_END@symbolized log@@@",
-      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=456@@@"
+      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=124@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "failures.zbi-test-x64 - Intel NUC Kit NUC7i5DNHE",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_FAILURE@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "failures.zbi-test-x64 - Intel NUC Kit NUC7i5DNHE.attempt 0 (fail)",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_END@symbolized log@@@",
+      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=127@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "failures.zbi-test-x64 - Intel NUC Kit NUC7i5DNHE.attempt 1 (fail)",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_END@symbolized log@@@",
+      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=128@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "failures.zbi-test-x64 - AEMU",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_FAILURE@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "failures.zbi-test-x64 - AEMU.attempt 0 (fail)",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_END@symbolized log@@@",
+      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=125@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "failures.zbi-test-x64 - AEMU.attempt 1 (fail)",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_END@symbolized log@@@",
+      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=126@@@"
     ]
   },
   {
     "failure": {
       "failure": {},
-      "humanReason": "task(s) failed: zbi-test-x64 - QEMU"
+      "humanReason": "task(s) failed: zbi-test-x64 - QEMU, zbi-test-x64 - Intel NUC Kit NUC7i5DNHE, zbi-test-x64 - AEMU"
     },
     "name": "$result"
   }
diff --git a/recipes/zbi_test.expected/flake-x64-AEMU.json b/recipes/zbi_test.expected/flake-arm64.json
similarity index 72%
copy from recipes/zbi_test.expected/flake-x64-AEMU.json
copy to recipes/zbi_test.expected/flake-arm64.json
index 08ed7fe..d291641 100644
--- a/recipes/zbi_test.expected/flake-x64-AEMU.json
+++ b/recipes/zbi_test.expected/flake-arm64.json
@@ -242,7 +242,7 @@
       "gen",
       "[START_DIR]/fuchsia/out/default",
       "--check",
-      "--args=import(\"//products/bringup.gni\")  base_package_labels+=[\"//garnet/tests/zircon:zbi_tests\",\"//bundles:infratools\"] goma_dir=\"[CACHE]/goma/client\" is_debug=true select_variant=[\"clang\"] target_cpu=\"x64\" use_goma=true"
+      "--args=import(\"//products/bringup.gni\")  base_package_labels+=[\"//garnet/tests/zircon:zbi_tests\",\"//bundles:infratools\"] goma_dir=\"[CACHE]/goma/client\" is_debug=true select_variant=[\"clang\"] target_cpu=\"arm64\" use_goma=true"
     ],
     "cwd": "[START_DIR]/fuchsia",
     "name": "build.gn gen",
@@ -1447,11 +1447,15 @@
       "@@@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@    \"name\": \"zbi-test-x64\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../default.zircon/zbi-test-x64.zbi\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"device_types\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"QEMU\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"AEMU\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"Vim2\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    ], @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"zbi-test-arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../default.zircon/zbi-test-arm64.zbi\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"success_string\": \"purple monkey dishwasher\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"task_name\": \"zbi-test-x64 - AEMU\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"type\": \"zbi\"@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@]@@@",
@@ -1541,7 +1545,7 @@
       "80",
       "legacy-host_tests",
       "manifest-$cpu",
-      "zbi-test-x64.zbi"
+      "zbi-test-arm64.zbi"
     ],
     "name": "build.ninja.zircon",
     "~followup_annotations": [
@@ -1739,21 +1743,7 @@
   },
   {
     "cmd": [],
-    "name": "prepare test: zbi-test-x64 - AEMU"
-  },
-  {
-    "cmd": [
-      "python",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/symlink.py",
-      "--link-json",
-      "{\"[START_DIR]/fuchsia/out/default/../default.zircon/zbi-test-x64.zbi\": [\"[CLEANUP]/isolate_tmp_2/zbi-test-x64.zbi\"], \"[START_DIR]/fuchsia/out/default/linux_x64/botanist\": [\"[CLEANUP]/isolate_tmp_2/botanist\"], \"[START_DIR]/fuchsia/out/default/multiboot.bin\": [\"[CLEANUP]/isolate_tmp_2/multiboot.bin\"]}"
-    ],
-    "infra_step": true,
-    "name": "prepare test: zbi-test-x64 - AEMU.create tree of images",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
+    "name": "prepare test: zbi-test-arm64 - QEMU"
   },
   {
     "cmd": [
@@ -1763,21 +1753,25 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "[\n  {\n    \"name\": \"zircon-a\", \n    \"success_string\": \"purple monkey dishwasher\", \n    \"task_name\": \"zbi-test-x64 - AEMU\", \n    \"path\": \"zbi-test-x64.zbi\", \n    \"type\": \"zbi\", \n    \"cpu\": \"x64\"\n  }, \n  {\n    \"path\": \"multiboot.bin\", \n    \"type\": \"kernel\", \n    \"name\": \"qemu-kernel\"\n  }\n]",
+      "[\n  {\n    \"name\": \"zircon-a\", \n    \"device_types\": [\n      \"QEMU\", \n      \"AEMU\", \n      \"Vim2\"\n    ], \n    \"success_string\": \"purple monkey dishwasher\", \n    \"path\": \"zbi-test-arm64.zbi\", \n    \"type\": \"zbi\", \n    \"cpu\": \"arm64\"\n  }, \n  {\n    \"path\": \"multiboot.bin\", \n    \"type\": \"kernel\", \n    \"name\": \"qemu-kernel\"\n  }\n]",
       "[CLEANUP]/isolate_tmp_2/images.json"
     ],
     "infra_step": true,
-    "name": "prepare test: zbi-test-x64 - AEMU.write image manifest",
+    "name": "prepare test: zbi-test-arm64 - QEMU.write image manifest",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@images.json@[@@@",
       "@@@STEP_LOG_LINE@images.json@  {@@@",
       "@@@STEP_LOG_LINE@images.json@    \"name\": \"zircon-a\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"device_types\": [@@@",
+      "@@@STEP_LOG_LINE@images.json@      \"QEMU\", @@@",
+      "@@@STEP_LOG_LINE@images.json@      \"AEMU\", @@@",
+      "@@@STEP_LOG_LINE@images.json@      \"Vim2\"@@@",
+      "@@@STEP_LOG_LINE@images.json@    ], @@@",
       "@@@STEP_LOG_LINE@images.json@    \"success_string\": \"purple monkey dishwasher\", @@@",
-      "@@@STEP_LOG_LINE@images.json@    \"task_name\": \"zbi-test-x64 - AEMU\", @@@",
-      "@@@STEP_LOG_LINE@images.json@    \"path\": \"zbi-test-x64.zbi\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"path\": \"zbi-test-arm64.zbi\", @@@",
       "@@@STEP_LOG_LINE@images.json@    \"type\": \"zbi\", @@@",
-      "@@@STEP_LOG_LINE@images.json@    \"cpu\": \"x64\"@@@",
+      "@@@STEP_LOG_LINE@images.json@    \"cpu\": \"arm64\"@@@",
       "@@@STEP_LOG_LINE@images.json@  }, @@@",
       "@@@STEP_LOG_LINE@images.json@  {@@@",
       "@@@STEP_LOG_LINE@images.json@    \"path\": \"multiboot.bin\", @@@",
@@ -1789,8 +1783,50 @@
     ]
   },
   {
+    "cmd": [
+      "vpython",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "copy",
+      "[\n  {\n    \"target\": \"arm64\", \n    \"kvm\": true, \n    \"memory\": 4096, \n    \"path\": \"./qemu/bin\", \n    \"type\": \"qemu\", \n    \"cpu\": 4\n  }\n]",
+      "[CLEANUP]/isolate_tmp_2/qemu.json"
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-arm64 - QEMU.write qemu config",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_LINE@qemu.json@[@@@",
+      "@@@STEP_LOG_LINE@qemu.json@  {@@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"target\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"kvm\": true, @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"memory\": 4096, @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"path\": \"./qemu/bin\", @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"type\": \"qemu\", @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"cpu\": 4@@@",
+      "@@@STEP_LOG_LINE@qemu.json@  }@@@",
+      "@@@STEP_LOG_LINE@qemu.json@]@@@",
+      "@@@STEP_LOG_END@qemu.json@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/symlink.py",
+      "--link-json",
+      "{\"[START_DIR]/fuchsia/out/default/../default.zircon/zbi-test-arm64.zbi\": [\"[CLEANUP]/isolate_tmp_2/zbi-test-arm64.zbi\"], \"[START_DIR]/fuchsia/out/default/linux_arm64/botanist\": [\"[CLEANUP]/isolate_tmp_2/botanist\"], \"[START_DIR]/fuchsia/out/default/linux_arm64/seriallistener\": [\"[CLEANUP]/isolate_tmp_2/seriallistener\"], \"[START_DIR]/fuchsia/out/default/multiboot.bin\": [\"[CLEANUP]/isolate_tmp_2/multiboot.bin\"]}"
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-arm64 - QEMU.create tree of images",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
     "cmd": [],
-    "name": "prepare test: zbi-test-x64 - AEMU.ensure isolated",
+    "name": "prepare test: zbi-test-arm64 - QEMU.ensure isolated",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
@@ -1807,7 +1843,7 @@
       "/path/to/tmp/json"
     ],
     "infra_step": true,
-    "name": "prepare test: zbi-test-x64 - AEMU.ensure isolated.ensure_installed",
+    "name": "prepare test: zbi-test-arm64 - QEMU.ensure isolated.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -1838,7 +1874,182 @@
       "[CLEANUP]/isolate_tmp_2:."
     ],
     "infra_step": true,
-    "name": "prepare test: zbi-test-x64 - AEMU.isolate images",
+    "name": "prepare test: zbi-test-arm64 - QEMU.isolate images",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LINK@isolated UI@https://example.isolateserver.appspot.com/browse?namespace=default-gzip&hash=%5Bdummy+hash%5D@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "prepare test: zbi-test-arm64 - Vim2"
+  },
+  {
+    "cmd": [
+      "vpython",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "copy",
+      "[\n  {\n    \"name\": \"zircon-a\", \n    \"device_types\": [\n      \"QEMU\", \n      \"AEMU\", \n      \"Vim2\"\n    ], \n    \"success_string\": \"purple monkey dishwasher\", \n    \"path\": \"zbi-test-arm64.zbi\", \n    \"type\": \"zbi\", \n    \"cpu\": \"arm64\"\n  }\n]",
+      "[CLEANUP]/isolate_tmp_3/images.json"
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-arm64 - Vim2.write image manifest",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_LINE@images.json@[@@@",
+      "@@@STEP_LOG_LINE@images.json@  {@@@",
+      "@@@STEP_LOG_LINE@images.json@    \"name\": \"zircon-a\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"device_types\": [@@@",
+      "@@@STEP_LOG_LINE@images.json@      \"QEMU\", @@@",
+      "@@@STEP_LOG_LINE@images.json@      \"AEMU\", @@@",
+      "@@@STEP_LOG_LINE@images.json@      \"Vim2\"@@@",
+      "@@@STEP_LOG_LINE@images.json@    ], @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"success_string\": \"purple monkey dishwasher\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"path\": \"zbi-test-arm64.zbi\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"type\": \"zbi\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"cpu\": \"arm64\"@@@",
+      "@@@STEP_LOG_LINE@images.json@  }@@@",
+      "@@@STEP_LOG_LINE@images.json@]@@@",
+      "@@@STEP_LOG_END@images.json@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/symlink.py",
+      "--link-json",
+      "{\"[START_DIR]/fuchsia/out/default/../default.zircon/zbi-test-arm64.zbi\": [\"[CLEANUP]/isolate_tmp_3/zbi-test-arm64.zbi\"], \"[START_DIR]/fuchsia/out/default/linux_x64/botanist\": [\"[CLEANUP]/isolate_tmp_3/botanist\"], \"[START_DIR]/fuchsia/out/default/linux_x64/seriallistener\": [\"[CLEANUP]/isolate_tmp_3/seriallistener\"]}"
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-arm64 - Vim2.create tree of images",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[CACHE]/isolated_client/isolated",
+      "archive",
+      "-verbose",
+      "-isolate-server",
+      "https://example.isolateserver.appspot.com",
+      "-namespace",
+      "default-gzip",
+      "-dump-hash",
+      "/path/to/tmp/",
+      "-dirs",
+      "[CLEANUP]/isolate_tmp_3:."
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-arm64 - Vim2.isolate images",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LINK@isolated UI@https://example.isolateserver.appspot.com/browse?namespace=default-gzip&hash=%5Bdummy+hash%5D@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "prepare test: zbi-test-arm64 - AEMU"
+  },
+  {
+    "cmd": [
+      "vpython",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "copy",
+      "[\n  {\n    \"name\": \"zircon-a\", \n    \"device_types\": [\n      \"QEMU\", \n      \"AEMU\", \n      \"Vim2\"\n    ], \n    \"success_string\": \"purple monkey dishwasher\", \n    \"path\": \"zbi-test-arm64.zbi\", \n    \"type\": \"zbi\", \n    \"cpu\": \"arm64\"\n  }, \n  {\n    \"path\": \"multiboot.bin\", \n    \"type\": \"kernel\", \n    \"name\": \"qemu-kernel\"\n  }\n]",
+      "[CLEANUP]/isolate_tmp_4/images.json"
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-arm64 - AEMU.write image manifest",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_LINE@images.json@[@@@",
+      "@@@STEP_LOG_LINE@images.json@  {@@@",
+      "@@@STEP_LOG_LINE@images.json@    \"name\": \"zircon-a\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"device_types\": [@@@",
+      "@@@STEP_LOG_LINE@images.json@      \"QEMU\", @@@",
+      "@@@STEP_LOG_LINE@images.json@      \"AEMU\", @@@",
+      "@@@STEP_LOG_LINE@images.json@      \"Vim2\"@@@",
+      "@@@STEP_LOG_LINE@images.json@    ], @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"success_string\": \"purple monkey dishwasher\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"path\": \"zbi-test-arm64.zbi\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"type\": \"zbi\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"cpu\": \"arm64\"@@@",
+      "@@@STEP_LOG_LINE@images.json@  }, @@@",
+      "@@@STEP_LOG_LINE@images.json@  {@@@",
+      "@@@STEP_LOG_LINE@images.json@    \"path\": \"multiboot.bin\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"type\": \"kernel\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"name\": \"qemu-kernel\"@@@",
+      "@@@STEP_LOG_LINE@images.json@  }@@@",
+      "@@@STEP_LOG_LINE@images.json@]@@@",
+      "@@@STEP_LOG_END@images.json@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "vpython",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "copy",
+      "[\n  {\n    \"target\": \"arm64\", \n    \"kvm\": true, \n    \"memory\": 4096, \n    \"path\": \"./aemu/bin\", \n    \"type\": \"aemu\", \n    \"cpu\": 4\n  }\n]",
+      "[CLEANUP]/isolate_tmp_4/qemu.json"
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-arm64 - AEMU.write qemu config",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_LINE@qemu.json@[@@@",
+      "@@@STEP_LOG_LINE@qemu.json@  {@@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"target\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"kvm\": true, @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"memory\": 4096, @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"path\": \"./aemu/bin\", @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"type\": \"aemu\", @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"cpu\": 4@@@",
+      "@@@STEP_LOG_LINE@qemu.json@  }@@@",
+      "@@@STEP_LOG_LINE@qemu.json@]@@@",
+      "@@@STEP_LOG_END@qemu.json@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/symlink.py",
+      "--link-json",
+      "{\"[START_DIR]/fuchsia/out/default/../default.zircon/zbi-test-arm64.zbi\": [\"[CLEANUP]/isolate_tmp_4/zbi-test-arm64.zbi\"], \"[START_DIR]/fuchsia/out/default/linux_arm64/botanist\": [\"[CLEANUP]/isolate_tmp_4/botanist\"], \"[START_DIR]/fuchsia/out/default/linux_arm64/seriallistener\": [\"[CLEANUP]/isolate_tmp_4/seriallistener\"], \"[START_DIR]/fuchsia/out/default/multiboot.bin\": [\"[CLEANUP]/isolate_tmp_4/multiboot.bin\"]}"
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-arm64 - AEMU.create tree of images",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[CACHE]/isolated_client/isolated",
+      "archive",
+      "-verbose",
+      "-isolate-server",
+      "https://example.isolateserver.appspot.com",
+      "-namespace",
+      "default-gzip",
+      "-dump-hash",
+      "/path/to/tmp/",
+      "-dirs",
+      "[CLEANUP]/isolate_tmp_4:."
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-arm64 - AEMU.isolate images",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LINK@isolated UI@https://example.isolateserver.appspot.com/browse?namespace=default-gzip&hash=%5Bdummy+hash%5D@@@"
@@ -1853,7 +2064,7 @@
     "name": "launch/collect.0",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@1 launched, 1 failed@@@"
+      "@@@STEP_SUMMARY_TEXT@3 launched, 3 failed@@@"
     ]
   },
   {
@@ -1865,7 +2076,7 @@
   },
   {
     "cmd": [],
-    "name": "launch/collect.0.launch.zbi-test-x64 - AEMU (attempt 0)",
+    "name": "launch/collect.0.launch.zbi-test-arm64 - QEMU (attempt 0)",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
       "@@@STEP_LINK@Swarming task@https://example.swarmingserver.appspot.com/task?id=123@@@"
@@ -1873,7 +2084,7 @@
   },
   {
     "cmd": [],
-    "name": "launch/collect.0.launch.zbi-test-x64 - AEMU (attempt 0).ensure swarming",
+    "name": "launch/collect.0.launch.zbi-test-arm64 - QEMU (attempt 0).ensure swarming",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@"
     ]
@@ -1890,7 +2101,7 @@
       "/path/to/tmp/json"
     ],
     "infra_step": true,
-    "name": "launch/collect.0.launch.zbi-test-x64 - AEMU (attempt 0).ensure swarming.ensure_installed",
+    "name": "launch/collect.0.launch.zbi-test-arm64 - QEMU (attempt 0).ensure swarming.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@5@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -1913,27 +2124,103 @@
       "-server",
       "https://example.swarmingserver.appspot.com",
       "-json-input",
-      "{\"requests\": [{\"name\": \"zbi-test-x64 - AEMU\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:AEMU-x64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"cipd_input\": {\"packages\": [{\"package_name\": \"fuchsia/third_party/aemu/${platform}\", \"path\": \"aemu/bin\", \"version\": \"git_revision:de95df869556006ad87f402110aa835d03835060\"}]}, \"command\": [\"./botanist\", \"-level\", \"debug\", \"qemu\", \"-type\", \"aemu\", \"-qemu-dir\", \"./aemu/bin\", \"-images\", \"images.json\", \"-arch\", \"x64\", \"-use-kvm\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"kvm\", \"value\": \"1\"}, {\"key\": \"os\", \"value\": \"Debian\"}, {\"key\": \"cpu\", \"value\": \"x64\"}, {\"key\": \"pool\", \"value\": \"fuchsia.tests\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": []}}]}]}",
+      "{\"requests\": [{\"name\": \"zbi-test-arm64 - QEMU\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:QEMU-arm64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"cipd_input\": {\"packages\": [{\"package_name\": \"fuchsia/third_party/qemu/${platform}\", \"path\": \"qemu\", \"version\": \"git_revision:533bf2563d0213a7e002d9fcde75519d30ffa70f\"}]}, \"command\": [\"./botanist\", \"-level\", \"debug\", \"run\", \"-images\", \"images.json\", \"-serial-log\", \"serial.txt\", \"-config\", \"./qemu.json\", \"-netboot\", \"./seriallistener\", \"-timeout\", \"5m\", \"-stdout=False\", \"-success\", \"purple monkey dishwasher\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"kvm\", \"value\": \"1\"}, {\"key\": \"os\", \"value\": \"Debian\"}, {\"key\": \"cpu\", \"value\": \"arm64\"}, {\"key\": \"pool\", \"value\": \"fuchsia.tests\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": [\"serial.txt\"]}}]}]}",
       "-json-output",
       "/path/to/tmp/json",
       "-cancel-extra-tasks"
     ],
     "infra_step": true,
-    "name": "launch/collect.0.launch.zbi-test-x64 - AEMU (attempt 0).trigger",
+    "name": "launch/collect.0.launch.zbi-test-arm64 - QEMU (attempt 0).trigger",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"tasks\": [@@@",
       "@@@STEP_LOG_LINE@json.output@    {@@@",
       "@@@STEP_LOG_LINE@json.output@      \"request\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"name\": \"zbi-test-x64 - AEMU\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"name\": \"zbi-test-arm64 - QEMU\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }, @@@",
       "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"123\"@@@",
       "@@@STEP_LOG_LINE@json.output@    }@@@",
       "@@@STEP_LOG_LINE@json.output@  ]@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
-      "@@@STEP_LINK@task UI: zbi-test-x64 - AEMU@https://example.swarmingserver.appspot.com/task?id=123@@@"
+      "@@@STEP_LINK@task UI: zbi-test-arm64 - QEMU@https://example.swarmingserver.appspot.com/task?id=123@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "launch/collect.0.launch.zbi-test-arm64 - Vim2 (attempt 0)",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@3@@@",
+      "@@@STEP_LINK@Swarming task@https://example.swarmingserver.appspot.com/task?id=127@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[CACHE]/swarming_client/swarming",
+      "spawn-tasks",
+      "-server",
+      "https://example.swarmingserver.appspot.com",
+      "-json-input",
+      "{\"requests\": [{\"name\": \"zbi-test-arm64 - Vim2\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:Vim2-arm64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"command\": [\"./botanist\", \"-level\", \"debug\", \"run\", \"-images\", \"images.json\", \"-serial-log\", \"serial.txt\", \"-config\", \"/etc/botanist/config.json\", \"-netboot\", \"./seriallistener\", \"-timeout\", \"5m\", \"-stdout=True\", \"-success\", \"purple monkey dishwasher\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"pool\", \"value\": \"fuchsia.tests\"}, {\"key\": \"device_type\", \"value\": \"Vim2\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": [\"serial.txt\"]}}]}]}",
+      "-json-output",
+      "/path/to/tmp/json",
+      "-cancel-extra-tasks"
+    ],
+    "infra_step": true,
+    "name": "launch/collect.0.launch.zbi-test-arm64 - Vim2 (attempt 0).trigger",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@4@@@",
+      "@@@STEP_LOG_LINE@json.output@{@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"tasks\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@    {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"request\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"name\": \"zbi-test-arm64 - Vim2\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      }, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"127\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  ]@@@",
+      "@@@STEP_LOG_LINE@json.output@}@@@",
+      "@@@STEP_LOG_END@json.output@@@",
+      "@@@STEP_LINK@task UI: zbi-test-arm64 - Vim2@https://example.swarmingserver.appspot.com/task?id=127@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "launch/collect.0.launch.zbi-test-arm64 - AEMU (attempt 0)",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@3@@@",
+      "@@@STEP_LINK@Swarming task@https://example.swarmingserver.appspot.com/task?id=125@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[CACHE]/swarming_client/swarming",
+      "spawn-tasks",
+      "-server",
+      "https://example.swarmingserver.appspot.com",
+      "-json-input",
+      "{\"requests\": [{\"name\": \"zbi-test-arm64 - AEMU\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:AEMU-arm64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"cipd_input\": {\"packages\": [{\"package_name\": \"fuchsia/third_party/aemu/${platform}\", \"path\": \"aemu/bin\", \"version\": \"git_revision:de95df869556006ad87f402110aa835d03835060\"}]}, \"command\": [\"./botanist\", \"-level\", \"debug\", \"run\", \"-images\", \"images.json\", \"-serial-log\", \"serial.txt\", \"-config\", \"./qemu.json\", \"-netboot\", \"./seriallistener\", \"-timeout\", \"5m\", \"-stdout=False\", \"-success\", \"purple monkey dishwasher\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"kvm\", \"value\": \"1\"}, {\"key\": \"os\", \"value\": \"Debian\"}, {\"key\": \"cpu\", \"value\": \"arm64\"}, {\"key\": \"pool\", \"value\": \"fuchsia.tests\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": [\"serial.txt\"]}}]}]}",
+      "-json-output",
+      "/path/to/tmp/json",
+      "-cancel-extra-tasks"
+    ],
+    "infra_step": true,
+    "name": "launch/collect.0.launch.zbi-test-arm64 - AEMU (attempt 0).trigger",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@4@@@",
+      "@@@STEP_LOG_LINE@json.output@{@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"tasks\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@    {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"request\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"name\": \"zbi-test-arm64 - AEMU\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      }, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"125\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  ]@@@",
+      "@@@STEP_LOG_LINE@json.output@}@@@",
+      "@@@STEP_LOG_END@json.output@@@",
+      "@@@STEP_LINK@task UI: zbi-test-arm64 - AEMU@https://example.swarmingserver.appspot.com/task?id=125@@@"
     ]
   },
   {
@@ -1946,7 +2233,13 @@
       "/path/to/tmp/json",
       "-task-output-stdout",
       "json",
-      "123"
+      "-output-dir",
+      "[CLEANUP]/swarming_tmp_5",
+      "-timeout",
+      "5m",
+      "123",
+      "127",
+      "125"
     ],
     "infra_step": true,
     "name": "launch/collect.0.collect",
@@ -1959,8 +2252,8 @@
       "@@@STEP_LOG_LINE@json.output@    \"results\": {@@@",
       "@@@STEP_LOG_LINE@json.output@      \"bot_id\": \"vm-123\", @@@",
       "@@@STEP_LOG_LINE@json.output@      \"duration\": 62.35, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"exit_code\": 0, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"name\": \"zbi-test-x64 - AEMU\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"exit_code\": 1, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"name\": \"zbi-test-arm64 - QEMU\", @@@",
       "@@@STEP_LOG_LINE@json.output@      \"outputs_ref\": {@@@",
       "@@@STEP_LOG_LINE@json.output@        \"isolated\": \"abc123\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@",
@@ -1969,12 +2262,52 @@
       "@@@STEP_LOG_LINE@json.output@      \"state\": \"COMPLETED\", @@@",
       "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"123\"@@@",
       "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"125\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"output\": \"not success\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"outputs\": [], @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"results\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"bot_id\": \"vm-123\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"duration\": 62.35, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"exit_code\": 1, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"name\": \"zbi-test-arm64 - AEMU\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"outputs_ref\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"isolated\": \"abc123\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"namespace\": \"default-gzip\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      }, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"state\": \"COMPLETED\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"125\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"127\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"output\": \"not success\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"outputs\": [], @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"results\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"bot_id\": \"vm-123\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"duration\": 62.35, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"exit_code\": 1, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"name\": \"zbi-test-arm64 - Vim2\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"outputs_ref\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"isolated\": \"abc123\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"namespace\": \"default-gzip\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      }, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"state\": \"COMPLETED\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"127\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
-      "@@@STEP_LOG_LINE@task stdout+stderr: zbi-test-x64 - AEMU@not success@@@",
-      "@@@STEP_LOG_END@task stdout+stderr: zbi-test-x64 - AEMU@@@",
-      "@@@STEP_LINK@task isolated outputs: zbi-test-x64 - AEMU@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@"
+      "@@@STEP_LOG_LINE@task stdout+stderr: zbi-test-arm64 - AEMU@not success@@@",
+      "@@@STEP_LOG_END@task stdout+stderr: zbi-test-arm64 - AEMU@@@",
+      "@@@STEP_LOG_LINE@task stdout+stderr: zbi-test-arm64 - QEMU@not success@@@",
+      "@@@STEP_LOG_END@task stdout+stderr: zbi-test-arm64 - QEMU@@@",
+      "@@@STEP_LOG_LINE@task stdout+stderr: zbi-test-arm64 - Vim2@not success@@@",
+      "@@@STEP_LOG_END@task stdout+stderr: zbi-test-arm64 - Vim2@@@",
+      "@@@STEP_LINK@task isolated outputs: zbi-test-arm64 - AEMU@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@",
+      "@@@STEP_LINK@task isolated outputs: zbi-test-arm64 - QEMU@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@",
+      "@@@STEP_LINK@task isolated outputs: zbi-test-arm64 - Vim2@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@"
     ]
   },
   {
@@ -1986,7 +2319,7 @@
   },
   {
     "cmd": [],
-    "name": "launch/collect.0.process results.zbi-test-x64 - AEMU",
+    "name": "launch/collect.0.process results.zbi-test-arm64 - AEMU",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
       "@@@STEP_LOG_LINE@symbolized log@blah@@@",
@@ -2011,7 +2344,77 @@
       "/path/to/tmp/json"
     ],
     "infra_step": true,
-    "name": "launch/collect.0.process results.zbi-test-x64 - AEMU.symbolize logs",
+    "name": "launch/collect.0.process results.zbi-test-arm64 - AEMU.symbolize logs",
+    "stdin": "not success",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@4@@@",
+      "@@@STEP_LOG_LINE@json.output[symbolizer-output.json]@{}@@@",
+      "@@@STEP_LOG_END@json.output[symbolizer-output.json]@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "launch/collect.0.process results.zbi-test-arm64 - QEMU",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@3@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_END@symbolized log@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[START_DIR]/fuchsia/out/default/linux_x64/symbolize",
+      "-llvm-symbolizer-restart-interval",
+      "2",
+      "-level",
+      "debug",
+      "-build-id-dir",
+      "[START_DIR]/fuchsia/out/default.zircon/.build-id",
+      "-build-id-dir",
+      "[START_DIR]/fuchsia/prebuilt/third_party/clang/linux-x64/lib/debug/.build-id",
+      "-llvm-symbolizer",
+      "[START_DIR]/fuchsia/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer",
+      "-json-output",
+      "/path/to/tmp/json"
+    ],
+    "infra_step": true,
+    "name": "launch/collect.0.process results.zbi-test-arm64 - QEMU.symbolize logs",
+    "stdin": "not success",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@4@@@",
+      "@@@STEP_LOG_LINE@json.output[symbolizer-output.json]@{}@@@",
+      "@@@STEP_LOG_END@json.output[symbolizer-output.json]@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "launch/collect.0.process results.zbi-test-arm64 - Vim2",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@3@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_END@symbolized log@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[START_DIR]/fuchsia/out/default/linux_x64/symbolize",
+      "-llvm-symbolizer-restart-interval",
+      "2",
+      "-level",
+      "debug",
+      "-build-id-dir",
+      "[START_DIR]/fuchsia/out/default.zircon/.build-id",
+      "-build-id-dir",
+      "[START_DIR]/fuchsia/prebuilt/third_party/clang/linux-x64/lib/debug/.build-id",
+      "-llvm-symbolizer",
+      "[START_DIR]/fuchsia/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer",
+      "-json-output",
+      "/path/to/tmp/json"
+    ],
+    "infra_step": true,
+    "name": "launch/collect.0.process results.zbi-test-arm64 - Vim2.symbolize logs",
     "stdin": "not success",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
@@ -2031,7 +2434,9 @@
     "name": "launch/collect.0.failed tasks",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_LINK@zbi-test-x64 - AEMU (attempt 0)@https://example.swarmingserver.appspot.com/task?id=123@@@"
+      "@@@STEP_LINK@zbi-test-arm64 - AEMU (attempt 0)@https://example.swarmingserver.appspot.com/task?id=125@@@",
+      "@@@STEP_LINK@zbi-test-arm64 - QEMU (attempt 0)@https://example.swarmingserver.appspot.com/task?id=123@@@",
+      "@@@STEP_LINK@zbi-test-arm64 - Vim2 (attempt 0)@https://example.swarmingserver.appspot.com/task?id=127@@@"
     ]
   },
   {
@@ -2039,7 +2444,7 @@
     "name": "launch/collect.1",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@1 launched, 1 passed@@@"
+      "@@@STEP_SUMMARY_TEXT@3 launched, 3 passed@@@"
     ]
   },
   {
@@ -2051,10 +2456,10 @@
   },
   {
     "cmd": [],
-    "name": "launch/collect.1.launch.zbi-test-x64 - AEMU (attempt 1)",
+    "name": "launch/collect.1.launch.zbi-test-arm64 - QEMU (attempt 1)",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_LINK@Swarming task@https://example.swarmingserver.appspot.com/task?id=456@@@"
+      "@@@STEP_LINK@Swarming task@https://example.swarmingserver.appspot.com/task?id=124@@@"
     ]
   },
   {
@@ -2064,27 +2469,103 @@
       "-server",
       "https://example.swarmingserver.appspot.com",
       "-json-input",
-      "{\"requests\": [{\"name\": \"zbi-test-x64 - AEMU\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:AEMU-x64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"cipd_input\": {\"packages\": [{\"package_name\": \"fuchsia/third_party/aemu/${platform}\", \"path\": \"aemu/bin\", \"version\": \"git_revision:de95df869556006ad87f402110aa835d03835060\"}]}, \"command\": [\"./botanist\", \"-level\", \"debug\", \"qemu\", \"-type\", \"aemu\", \"-qemu-dir\", \"./aemu/bin\", \"-images\", \"images.json\", \"-arch\", \"x64\", \"-use-kvm\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"kvm\", \"value\": \"1\"}, {\"key\": \"os\", \"value\": \"Debian\"}, {\"key\": \"cpu\", \"value\": \"x64\"}, {\"key\": \"pool\", \"value\": \"fuchsia.tests\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": []}}]}]}",
+      "{\"requests\": [{\"name\": \"zbi-test-arm64 - QEMU\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:QEMU-arm64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"cipd_input\": {\"packages\": [{\"package_name\": \"fuchsia/third_party/qemu/${platform}\", \"path\": \"qemu\", \"version\": \"git_revision:533bf2563d0213a7e002d9fcde75519d30ffa70f\"}]}, \"command\": [\"./botanist\", \"-level\", \"debug\", \"run\", \"-images\", \"images.json\", \"-serial-log\", \"serial.txt\", \"-config\", \"./qemu.json\", \"-netboot\", \"./seriallistener\", \"-timeout\", \"5m\", \"-stdout=False\", \"-success\", \"purple monkey dishwasher\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"kvm\", \"value\": \"1\"}, {\"key\": \"os\", \"value\": \"Debian\"}, {\"key\": \"cpu\", \"value\": \"arm64\"}, {\"key\": \"pool\", \"value\": \"fuchsia.tests\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": [\"serial.txt\"]}}]}]}",
       "-json-output",
       "/path/to/tmp/json",
       "-cancel-extra-tasks"
     ],
     "infra_step": true,
-    "name": "launch/collect.1.launch.zbi-test-x64 - AEMU (attempt 1).trigger",
+    "name": "launch/collect.1.launch.zbi-test-arm64 - QEMU (attempt 1).trigger",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"tasks\": [@@@",
       "@@@STEP_LOG_LINE@json.output@    {@@@",
       "@@@STEP_LOG_LINE@json.output@      \"request\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"name\": \"zbi-test-x64 - AEMU\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"name\": \"zbi-test-arm64 - QEMU\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"456\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"124\"@@@",
       "@@@STEP_LOG_LINE@json.output@    }@@@",
       "@@@STEP_LOG_LINE@json.output@  ]@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
-      "@@@STEP_LINK@task UI: zbi-test-x64 - AEMU@https://example.swarmingserver.appspot.com/task?id=456@@@"
+      "@@@STEP_LINK@task UI: zbi-test-arm64 - QEMU@https://example.swarmingserver.appspot.com/task?id=124@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "launch/collect.1.launch.zbi-test-arm64 - Vim2 (attempt 1)",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@3@@@",
+      "@@@STEP_LINK@Swarming task@https://example.swarmingserver.appspot.com/task?id=128@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[CACHE]/swarming_client/swarming",
+      "spawn-tasks",
+      "-server",
+      "https://example.swarmingserver.appspot.com",
+      "-json-input",
+      "{\"requests\": [{\"name\": \"zbi-test-arm64 - Vim2\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:Vim2-arm64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"command\": [\"./botanist\", \"-level\", \"debug\", \"run\", \"-images\", \"images.json\", \"-serial-log\", \"serial.txt\", \"-config\", \"/etc/botanist/config.json\", \"-netboot\", \"./seriallistener\", \"-timeout\", \"5m\", \"-stdout=True\", \"-success\", \"purple monkey dishwasher\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"pool\", \"value\": \"fuchsia.tests\"}, {\"key\": \"device_type\", \"value\": \"Vim2\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": [\"serial.txt\"]}}]}]}",
+      "-json-output",
+      "/path/to/tmp/json",
+      "-cancel-extra-tasks"
+    ],
+    "infra_step": true,
+    "name": "launch/collect.1.launch.zbi-test-arm64 - Vim2 (attempt 1).trigger",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@4@@@",
+      "@@@STEP_LOG_LINE@json.output@{@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"tasks\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@    {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"request\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"name\": \"zbi-test-arm64 - Vim2\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      }, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"128\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  ]@@@",
+      "@@@STEP_LOG_LINE@json.output@}@@@",
+      "@@@STEP_LOG_END@json.output@@@",
+      "@@@STEP_LINK@task UI: zbi-test-arm64 - Vim2@https://example.swarmingserver.appspot.com/task?id=128@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "launch/collect.1.launch.zbi-test-arm64 - AEMU (attempt 1)",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@3@@@",
+      "@@@STEP_LINK@Swarming task@https://example.swarmingserver.appspot.com/task?id=126@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[CACHE]/swarming_client/swarming",
+      "spawn-tasks",
+      "-server",
+      "https://example.swarmingserver.appspot.com",
+      "-json-input",
+      "{\"requests\": [{\"name\": \"zbi-test-arm64 - AEMU\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:AEMU-arm64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"cipd_input\": {\"packages\": [{\"package_name\": \"fuchsia/third_party/aemu/${platform}\", \"path\": \"aemu/bin\", \"version\": \"git_revision:de95df869556006ad87f402110aa835d03835060\"}]}, \"command\": [\"./botanist\", \"-level\", \"debug\", \"run\", \"-images\", \"images.json\", \"-serial-log\", \"serial.txt\", \"-config\", \"./qemu.json\", \"-netboot\", \"./seriallistener\", \"-timeout\", \"5m\", \"-stdout=False\", \"-success\", \"purple monkey dishwasher\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"kvm\", \"value\": \"1\"}, {\"key\": \"os\", \"value\": \"Debian\"}, {\"key\": \"cpu\", \"value\": \"arm64\"}, {\"key\": \"pool\", \"value\": \"fuchsia.tests\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": [\"serial.txt\"]}}]}]}",
+      "-json-output",
+      "/path/to/tmp/json",
+      "-cancel-extra-tasks"
+    ],
+    "infra_step": true,
+    "name": "launch/collect.1.launch.zbi-test-arm64 - AEMU (attempt 1).trigger",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@4@@@",
+      "@@@STEP_LOG_LINE@json.output@{@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"tasks\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@    {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"request\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"name\": \"zbi-test-arm64 - AEMU\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      }, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"126\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  ]@@@",
+      "@@@STEP_LOG_LINE@json.output@}@@@",
+      "@@@STEP_LOG_END@json.output@@@",
+      "@@@STEP_LINK@task UI: zbi-test-arm64 - AEMU@https://example.swarmingserver.appspot.com/task?id=126@@@"
     ]
   },
   {
@@ -2097,35 +2578,81 @@
       "/path/to/tmp/json",
       "-task-output-stdout",
       "json",
-      "456"
+      "-output-dir",
+      "[CLEANUP]/swarming_tmp_5",
+      "-timeout",
+      "5m",
+      "124",
+      "128",
+      "126"
     ],
     "infra_step": true,
     "name": "launch/collect.1.collect",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"456\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"124\": {@@@",
       "@@@STEP_LOG_LINE@json.output@    \"output\": \"purple monkey dishwasher\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"outputs\": [], @@@",
       "@@@STEP_LOG_LINE@json.output@    \"results\": {@@@",
       "@@@STEP_LOG_LINE@json.output@      \"bot_id\": \"vm-123\", @@@",
       "@@@STEP_LOG_LINE@json.output@      \"duration\": 62.35, @@@",
       "@@@STEP_LOG_LINE@json.output@      \"exit_code\": 0, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"name\": \"zbi-test-x64 - AEMU\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"name\": \"zbi-test-arm64 - QEMU\", @@@",
       "@@@STEP_LOG_LINE@json.output@      \"outputs_ref\": {@@@",
       "@@@STEP_LOG_LINE@json.output@        \"isolated\": \"abc123\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"namespace\": \"default-gzip\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }, @@@",
       "@@@STEP_LOG_LINE@json.output@      \"state\": \"COMPLETED\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"456\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"124\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"126\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"output\": \"purple monkey dishwasher\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"outputs\": [], @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"results\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"bot_id\": \"vm-123\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"duration\": 62.35, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"exit_code\": 0, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"name\": \"zbi-test-arm64 - AEMU\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"outputs_ref\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"isolated\": \"abc123\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"namespace\": \"default-gzip\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      }, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"state\": \"COMPLETED\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"126\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"128\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"output\": \"purple monkey dishwasher\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"outputs\": [], @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"results\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"bot_id\": \"vm-123\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"duration\": 62.35, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"exit_code\": 0, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"name\": \"zbi-test-arm64 - Vim2\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"outputs_ref\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"isolated\": \"abc123\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"namespace\": \"default-gzip\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      }, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"state\": \"COMPLETED\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"128\"@@@",
       "@@@STEP_LOG_LINE@json.output@    }@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
-      "@@@STEP_LOG_LINE@task stdout+stderr: zbi-test-x64 - AEMU@purple monkey dishwasher@@@",
-      "@@@STEP_LOG_END@task stdout+stderr: zbi-test-x64 - AEMU@@@",
-      "@@@STEP_LINK@task isolated outputs: zbi-test-x64 - AEMU@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@"
+      "@@@STEP_LOG_LINE@task stdout+stderr: zbi-test-arm64 - AEMU@purple monkey dishwasher@@@",
+      "@@@STEP_LOG_END@task stdout+stderr: zbi-test-arm64 - AEMU@@@",
+      "@@@STEP_LOG_LINE@task stdout+stderr: zbi-test-arm64 - QEMU@purple monkey dishwasher@@@",
+      "@@@STEP_LOG_END@task stdout+stderr: zbi-test-arm64 - QEMU@@@",
+      "@@@STEP_LOG_LINE@task stdout+stderr: zbi-test-arm64 - Vim2@purple monkey dishwasher@@@",
+      "@@@STEP_LOG_END@task stdout+stderr: zbi-test-arm64 - Vim2@@@",
+      "@@@STEP_LINK@task isolated outputs: zbi-test-arm64 - AEMU@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@",
+      "@@@STEP_LINK@task isolated outputs: zbi-test-arm64 - QEMU@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@",
+      "@@@STEP_LINK@task isolated outputs: zbi-test-arm64 - Vim2@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@"
     ]
   },
   {
@@ -2137,7 +2664,7 @@
   },
   {
     "cmd": [],
-    "name": "launch/collect.1.process results.zbi-test-x64 - AEMU",
+    "name": "launch/collect.1.process results.zbi-test-arm64 - AEMU",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
       "@@@STEP_LOG_LINE@symbolized log@blah@@@",
@@ -2162,7 +2689,77 @@
       "/path/to/tmp/json"
     ],
     "infra_step": true,
-    "name": "launch/collect.1.process results.zbi-test-x64 - AEMU.symbolize logs",
+    "name": "launch/collect.1.process results.zbi-test-arm64 - AEMU.symbolize logs",
+    "stdin": "purple monkey dishwasher",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@4@@@",
+      "@@@STEP_LOG_LINE@json.output[symbolizer-output.json]@{}@@@",
+      "@@@STEP_LOG_END@json.output[symbolizer-output.json]@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "launch/collect.1.process results.zbi-test-arm64 - QEMU",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@3@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_END@symbolized log@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[START_DIR]/fuchsia/out/default/linux_x64/symbolize",
+      "-llvm-symbolizer-restart-interval",
+      "2",
+      "-level",
+      "debug",
+      "-build-id-dir",
+      "[START_DIR]/fuchsia/out/default.zircon/.build-id",
+      "-build-id-dir",
+      "[START_DIR]/fuchsia/prebuilt/third_party/clang/linux-x64/lib/debug/.build-id",
+      "-llvm-symbolizer",
+      "[START_DIR]/fuchsia/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer",
+      "-json-output",
+      "/path/to/tmp/json"
+    ],
+    "infra_step": true,
+    "name": "launch/collect.1.process results.zbi-test-arm64 - QEMU.symbolize logs",
+    "stdin": "purple monkey dishwasher",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@4@@@",
+      "@@@STEP_LOG_LINE@json.output[symbolizer-output.json]@{}@@@",
+      "@@@STEP_LOG_END@json.output[symbolizer-output.json]@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "launch/collect.1.process results.zbi-test-arm64 - Vim2",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@3@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_END@symbolized log@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[START_DIR]/fuchsia/out/default/linux_x64/symbolize",
+      "-llvm-symbolizer-restart-interval",
+      "2",
+      "-level",
+      "debug",
+      "-build-id-dir",
+      "[START_DIR]/fuchsia/out/default.zircon/.build-id",
+      "-build-id-dir",
+      "[START_DIR]/fuchsia/prebuilt/third_party/clang/linux-x64/lib/debug/.build-id",
+      "-llvm-symbolizer",
+      "[START_DIR]/fuchsia/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer",
+      "-json-output",
+      "/path/to/tmp/json"
+    ],
+    "infra_step": true,
+    "name": "launch/collect.1.process results.zbi-test-arm64 - Vim2.symbolize logs",
     "stdin": "purple monkey dishwasher",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
@@ -2182,29 +2779,30 @@
     "name": "launch/collect.1.passed tasks",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_LINK@zbi-test-x64 - AEMU (attempt 1)@https://example.swarmingserver.appspot.com/task?id=456@@@"
+      "@@@STEP_LINK@zbi-test-arm64 - AEMU (attempt 1)@https://example.swarmingserver.appspot.com/task?id=126@@@",
+      "@@@STEP_LINK@zbi-test-arm64 - QEMU (attempt 1)@https://example.swarmingserver.appspot.com/task?id=124@@@",
+      "@@@STEP_LINK@zbi-test-arm64 - Vim2 (attempt 1)@https://example.swarmingserver.appspot.com/task?id=128@@@"
     ]
   },
   {
     "cmd": [],
     "name": "passes",
     "~followup_annotations": [
-      "@@@STEP_SUMMARY_TEXT@1 passed@@@"
+      "@@@STEP_SUMMARY_TEXT@3 passed@@@"
     ]
   },
   {
     "cmd": [],
-    "name": "passes.zbi-test-x64 - AEMU",
+    "name": "passes.zbi-test-arm64 - QEMU",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
   },
   {
     "cmd": [],
-    "name": "passes.zbi-test-x64 - AEMU.attempt 0 (fail)",
+    "name": "passes.zbi-test-arm64 - QEMU.attempt 0 (fail)",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_SUMMARY_TEXT@failed to find success string@@@",
       "@@@STEP_LOG_LINE@symbolized log@blah@@@",
       "@@@STEP_LOG_LINE@symbolized log@blah@@@",
       "@@@STEP_LOG_END@symbolized log@@@",
@@ -2213,35 +2811,92 @@
   },
   {
     "cmd": [],
-    "name": "passes.zbi-test-x64 - AEMU.attempt 1 (pass)",
+    "name": "passes.zbi-test-arm64 - QEMU.attempt 1 (pass)",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@symbolized log@blah@@@",
       "@@@STEP_LOG_LINE@symbolized log@blah@@@",
       "@@@STEP_LOG_END@symbolized log@@@",
-      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=456@@@"
+      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=124@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "passes.zbi-test-arm64 - Vim2",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "passes.zbi-test-arm64 - Vim2.attempt 0 (fail)",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_END@symbolized log@@@",
+      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=127@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "passes.zbi-test-arm64 - Vim2.attempt 1 (pass)",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_END@symbolized log@@@",
+      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=128@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "passes.zbi-test-arm64 - AEMU",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "passes.zbi-test-arm64 - AEMU.attempt 0 (fail)",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_END@symbolized log@@@",
+      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=125@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "passes.zbi-test-arm64 - AEMU.attempt 1 (pass)",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_END@symbolized log@@@",
+      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=126@@@"
     ]
   },
   {
     "cmd": [],
     "name": "flakes",
     "~followup_annotations": [
-      "@@@STEP_SUMMARY_TEXT@1 flaked@@@"
+      "@@@STEP_SUMMARY_TEXT@3 flaked@@@"
     ]
   },
   {
     "cmd": [],
-    "name": "flakes.zbi-test-x64 - AEMU",
+    "name": "flakes.zbi-test-arm64 - QEMU",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
   },
   {
     "cmd": [],
-    "name": "flakes.zbi-test-x64 - AEMU.attempt 0 (fail)",
+    "name": "flakes.zbi-test-arm64 - QEMU.attempt 0 (fail)",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_SUMMARY_TEXT@failed to find success string@@@",
       "@@@STEP_LOG_LINE@symbolized log@blah@@@",
       "@@@STEP_LOG_LINE@symbolized log@blah@@@",
       "@@@STEP_LOG_END@symbolized log@@@",
@@ -2250,13 +2905,71 @@
   },
   {
     "cmd": [],
-    "name": "flakes.zbi-test-x64 - AEMU.attempt 1 (pass)",
+    "name": "flakes.zbi-test-arm64 - QEMU.attempt 1 (pass)",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@symbolized log@blah@@@",
       "@@@STEP_LOG_LINE@symbolized log@blah@@@",
       "@@@STEP_LOG_END@symbolized log@@@",
-      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=456@@@"
+      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=124@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "flakes.zbi-test-arm64 - Vim2",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "flakes.zbi-test-arm64 - Vim2.attempt 0 (fail)",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_END@symbolized log@@@",
+      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=127@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "flakes.zbi-test-arm64 - Vim2.attempt 1 (pass)",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_END@symbolized log@@@",
+      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=128@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "flakes.zbi-test-arm64 - AEMU",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "flakes.zbi-test-arm64 - AEMU.attempt 0 (fail)",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_END@symbolized log@@@",
+      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=125@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "flakes.zbi-test-arm64 - AEMU.attempt 1 (pass)",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_END@symbolized log@@@",
+      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=126@@@"
     ]
   },
   {
diff --git a/recipes/zbi_test.expected/flake-x64-QEMU.json b/recipes/zbi_test.expected/flake-x64-QEMU.json
deleted file mode 100644
index ed43ef5..0000000
--- a/recipes/zbi_test.expected/flake-x64-QEMU.json
+++ /dev/null
@@ -1,2276 +0,0 @@
-[
-  {
-    "cmd": [],
-    "name": "checkout"
-  },
-  {
-    "cmd": [],
-    "name": "checkout.ensure jiri",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "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": "checkout.ensure jiri.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-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",
-      "[START_DIR]/fuchsia"
-    ],
-    "infra_step": true,
-    "name": "checkout.jiri init",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[START_DIR]/cipd/jiri/jiri",
-      "import",
-      "-vv",
-      "-time",
-      "-j=50",
-      "-name",
-      "integration",
-      "-revision",
-      "HEAD",
-      "manifest",
-      "https://fuchsia.googlesource.com/fuchsia"
-    ],
-    "cwd": "[START_DIR]/fuchsia",
-    "infra_step": true,
-    "name": "checkout.jiri import",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[START_DIR]/cipd/jiri/jiri",
-      "override",
-      "-vv",
-      "-time",
-      "-j=50",
-      "-revision",
-      "2d72510e447ab60a9728aeea2362d8be2cbd7789",
-      "fuchsia",
-      "https://fuchsia.googlesource.com/fuchsia"
-    ],
-    "cwd": "[START_DIR]/fuchsia",
-    "infra_step": true,
-    "name": "checkout.jiri override",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[START_DIR]/cipd/jiri/jiri",
-      "update",
-      "-vv",
-      "-time",
-      "-j=50",
-      "-autoupdate=false",
-      "-attempts=3",
-      "-run-hooks=false"
-    ],
-    "cwd": "[START_DIR]/fuchsia",
-    "infra_step": true,
-    "name": "checkout.jiri update",
-    "timeout": 1800,
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[START_DIR]/cipd/jiri/jiri",
-      "run-hooks",
-      "-vv",
-      "-time",
-      "-j=50",
-      "-attempts=3"
-    ],
-    "cwd": "[START_DIR]/fuchsia",
-    "infra_step": true,
-    "name": "checkout.jiri run-hooks",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[START_DIR]/cipd/jiri/jiri",
-      "source-manifest",
-      "-vv",
-      "-time",
-      "-j=50",
-      "/path/to/tmp/json"
-    ],
-    "cwd": "[START_DIR]/fuchsia",
-    "infra_step": true,
-    "name": "checkout.jiri source-manifest",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_LINE@json.output[source manifest]@{@@@",
-      "@@@STEP_LOG_LINE@json.output[source manifest]@  \"directories\": {@@@",
-      "@@@STEP_LOG_LINE@json.output[source manifest]@    \"manifest\": {@@@",
-      "@@@STEP_LOG_LINE@json.output[source manifest]@      \"git_checkout\": {@@@",
-      "@@@STEP_LOG_LINE@json.output[source manifest]@        \"repo_url\": \"https://fuchsia.googlesource.com/manifest\", @@@",
-      "@@@STEP_LOG_LINE@json.output[source manifest]@        \"revision\": \"4c2b0da3c06341db5cebe4d02c78c93c3b2bd78b\"@@@",
-      "@@@STEP_LOG_LINE@json.output[source manifest]@      }@@@",
-      "@@@STEP_LOG_LINE@json.output[source manifest]@    }@@@",
-      "@@@STEP_LOG_LINE@json.output[source manifest]@  }@@@",
-      "@@@STEP_LOG_LINE@json.output[source manifest]@}@@@",
-      "@@@STEP_LOG_END@json.output[source manifest]@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[START_DIR]/cipd/jiri/jiri",
-      "snapshot",
-      "-vv",
-      "-time",
-      "-j=50",
-      "[CLEANUP]/jiri.snapshot"
-    ],
-    "cwd": "[START_DIR]/fuchsia",
-    "infra_step": true,
-    "name": "checkout.jiri snapshot",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/jiri.snapshot",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[START_DIR]/fuchsia",
-    "infra_step": true,
-    "name": "checkout.read snapshot",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_END@jiri.snapshot@@@",
-      "@@@STEP_LOG_LINE@snapshot_contents@@@@",
-      "@@@STEP_LOG_END@snapshot_contents@@@"
-    ]
-  },
-  {
-    "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]/fuchsia/prebuilt/third_party/gn/linux-x64/gn",
-      "gen",
-      "[START_DIR]/fuchsia/out/default",
-      "--check",
-      "--args=import(\"//products/bringup.gni\")  base_package_labels+=[\"//garnet/tests/zircon:zbi_tests\",\"//bundles:infratools\"] goma_dir=\"[CACHE]/goma/client\" is_debug=true select_variant=[\"clang\"] target_cpu=\"x64\" use_goma=true"
-    ],
-    "cwd": "[START_DIR]/fuchsia",
-    "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]/fuchsia/out/default/zircon.json",
-      "/path/to/tmp/json"
-    ],
-    "cwd": "[START_DIR]/fuchsia",
-    "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]/fuchsia/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": [
-      "python",
-      "-u",
-      "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n",
-      "[START_DIR]/fuchsia/out/default/images.json",
-      "/path/to/tmp/json"
-    ],
-    "name": "build.read image manifest",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_LINE@json.output@[@@@",
-      "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"bootserver_pave\": [@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"--boot\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"--zircona\"@@@",
-      "@@@STEP_LOG_LINE@json.output@    ], @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"name\": \"zircon-a\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"fuchsia.zbi\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"type\": \"zbi\"@@@",
-      "@@@STEP_LOG_LINE@json.output@  }, @@@",
-      "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"name\": \"storage-full\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"fvm.blk\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"type\": \"blk\"@@@",
-      "@@@STEP_LOG_LINE@json.output@  }, @@@",
-      "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"bootserver_pave\": [@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"--fvm\"@@@",
-      "@@@STEP_LOG_LINE@json.output@    ], @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"name\": \"storage-sparse\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"fvm.sparse.blk\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"type\": \"blk\"@@@",
-      "@@@STEP_LOG_LINE@json.output@  }, @@@",
-      "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"bootserver_pave\": [@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"--efi\"@@@",
-      "@@@STEP_LOG_LINE@json.output@    ], @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"name\": \"efi\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"fuchsia.esp.blk\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"type\": \"blk\"@@@",
-      "@@@STEP_LOG_LINE@json.output@  }, @@@",
-      "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"bootserver_netboot\": [@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"--boot\"@@@",
-      "@@@STEP_LOG_LINE@json.output@    ], @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"name\": \"netboot\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"netboot.zbi\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"type\": \"zbi\"@@@",
-      "@@@STEP_LOG_LINE@json.output@  }, @@@",
-      "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"name\": \"archive\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"build-archive.tgz\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"type\": \"tgz\"@@@",
-      "@@@STEP_LOG_LINE@json.output@  }, @@@",
-      "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"name\": \"archive\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"build-archive.zip\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"type\": \"zip\"@@@",
-      "@@@STEP_LOG_LINE@json.output@  }, @@@",
-      "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"name\": \"qemu-kernel\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"multiboot.bin\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"type\": \"kernel\"@@@",
-      "@@@STEP_LOG_LINE@json.output@  }, @@@",
-      "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"name\": \"symbol-archive\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"symbol-archive.tgz\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"type\": \"tgz\"@@@",
-      "@@@STEP_LOG_LINE@json.output@  }, @@@",
-      "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"bootserver_pave\": [@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"--zircon-r\"@@@",
-      "@@@STEP_LOG_LINE@json.output@    ], @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"name\": \"zircon-r\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"zircon-r.zbi\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"type\": \"zbi\"@@@",
-      "@@@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]/fuchsia/out/default/zbi_tests.json",
-      "/path/to/tmp/json"
-    ],
-    "name": "build.read zbi test 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@    \"name\": \"zbi-test-x64\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../default.zircon/zbi-test-x64.zbi\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"success_string\": \"purple monkey dishwasher\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"task_name\": \"zbi-test-x64 - QEMU\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"type\": \"zbi\"@@@",
-      "@@@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]/fuchsia/prebuilt/third_party/ninja/linux_x64/ninja",
-      "-C",
-      "[START_DIR]/fuchsia/out/default.zircon",
-      "-j",
-      "80",
-      "legacy-host_tests",
-      "manifest-$cpu",
-      "zbi-test-x64.zbi"
-    ],
-    "name": "build.ninja.zircon",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@"
-    ]
-  },
-  {
-    "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]/fuchsia/prebuilt/third_party/ninja/linux_x64/ninja",
-      "-C",
-      "[START_DIR]/fuchsia/out/default",
-      "-j",
-      "80",
-      "bundles:infratools",
-      "multiboot.bin"
-    ],
-    "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": [
-      "vpython",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "{\"build_info\": {\"build_id\": 8945511751514863184, \"time_stamp\": \"2012-05-14 12:53:21.500000\", \"builder\": \"builder\", \"time_stamp_int\": 1337000003000}}",
-      "[CACHE]/goma/client/goma_stats.json"
-    ],
-    "infra_step": true,
-    "name": "build.ninja.post_goma.write goma_stats.json",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_LOG_LINE@goma_stats.json@{\"build_info\": {\"build_id\": 8945511751514863184, \"time_stamp\": \"2012-05-14 12:53:21.500000\", \"builder\": \"builder\", \"time_stamp_int\": 1337000003000}}@@@",
-      "@@@STEP_LOG_END@goma_stats.json@@@",
-      "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"build_info\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"build_id\": 8945511751514863184, @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"time_stamp\": \"2012-05-14 12:53:21.500000\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"builder\": \"builder\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"time_stamp_int\": 1337000003000@@@",
-      "@@@STEP_LOG_LINE@json.output@    }@@@",
-      "@@@STEP_LOG_LINE@json.output@}@@@",
-      "@@@STEP_LOG_END@json.output@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "build.ninja.post_goma.ensure bqupload",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@3@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "cipd",
-      "ensure",
-      "-root",
-      "[START_DIR]/cipd/bqupload",
-      "-ensure-file",
-      "infra/tools/bqupload/${platform} git_revision:d85fe78f303c3e969f815121e17c8b08868039ef",
-      "-json-output",
-      "/path/to/tmp/json"
-    ],
-    "infra_step": true,
-    "name": "build.ninja.post_goma.ensure bqupload.ensure_installed",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@4@@@",
-      "@@@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:d85\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"package\": \"infra/tools/bqupload/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/bqupload/bqupload",
-      "fuchsia-infra.artifacts.builds_beta_goma",
-      "[CACHE]/goma/client/goma_stats.json"
-    ],
-    "name": "build.ninja.post_goma.upload goma_stats_to BQ: fuchsia-infra/artifacts/builds_beta_goma",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@3@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "prepare test: zbi-test-x64 - QEMU"
-  },
-  {
-    "cmd": [
-      "python",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/symlink.py",
-      "--link-json",
-      "{\"[START_DIR]/fuchsia/out/default/../default.zircon/zbi-test-x64.zbi\": [\"[CLEANUP]/isolate_tmp_2/zbi-test-x64.zbi\"], \"[START_DIR]/fuchsia/out/default/linux_x64/botanist\": [\"[CLEANUP]/isolate_tmp_2/botanist\"], \"[START_DIR]/fuchsia/out/default/multiboot.bin\": [\"[CLEANUP]/isolate_tmp_2/multiboot.bin\"]}"
-    ],
-    "infra_step": true,
-    "name": "prepare test: zbi-test-x64 - QEMU.create tree of images",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[\n  {\n    \"name\": \"zircon-a\", \n    \"success_string\": \"purple monkey dishwasher\", \n    \"task_name\": \"zbi-test-x64 - QEMU\", \n    \"path\": \"zbi-test-x64.zbi\", \n    \"type\": \"zbi\", \n    \"cpu\": \"x64\"\n  }, \n  {\n    \"path\": \"multiboot.bin\", \n    \"type\": \"kernel\", \n    \"name\": \"qemu-kernel\"\n  }\n]",
-      "[CLEANUP]/isolate_tmp_2/images.json"
-    ],
-    "infra_step": true,
-    "name": "prepare test: zbi-test-x64 - QEMU.write image manifest",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_LINE@images.json@[@@@",
-      "@@@STEP_LOG_LINE@images.json@  {@@@",
-      "@@@STEP_LOG_LINE@images.json@    \"name\": \"zircon-a\", @@@",
-      "@@@STEP_LOG_LINE@images.json@    \"success_string\": \"purple monkey dishwasher\", @@@",
-      "@@@STEP_LOG_LINE@images.json@    \"task_name\": \"zbi-test-x64 - QEMU\", @@@",
-      "@@@STEP_LOG_LINE@images.json@    \"path\": \"zbi-test-x64.zbi\", @@@",
-      "@@@STEP_LOG_LINE@images.json@    \"type\": \"zbi\", @@@",
-      "@@@STEP_LOG_LINE@images.json@    \"cpu\": \"x64\"@@@",
-      "@@@STEP_LOG_LINE@images.json@  }, @@@",
-      "@@@STEP_LOG_LINE@images.json@  {@@@",
-      "@@@STEP_LOG_LINE@images.json@    \"path\": \"multiboot.bin\", @@@",
-      "@@@STEP_LOG_LINE@images.json@    \"type\": \"kernel\", @@@",
-      "@@@STEP_LOG_LINE@images.json@    \"name\": \"qemu-kernel\"@@@",
-      "@@@STEP_LOG_LINE@images.json@  }@@@",
-      "@@@STEP_LOG_LINE@images.json@]@@@",
-      "@@@STEP_LOG_END@images.json@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "prepare test: zbi-test-x64 - QEMU.ensure isolated",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "cipd",
-      "ensure",
-      "-root",
-      "[CACHE]/isolated_client",
-      "-ensure-file",
-      "infra/tools/luci/isolated/${platform} git_revision:305e79001db1846906c7136d90a863bee5bd3bfc",
-      "-json-output",
-      "/path/to/tmp/json"
-    ],
-    "infra_step": true,
-    "name": "prepare test: zbi-test-x64 - QEMU.ensure isolated.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-git_revision:305\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"package\": \"infra/tools/luci/isolated/resolved-platform\"@@@",
-      "@@@STEP_LOG_LINE@json.output@      }@@@",
-      "@@@STEP_LOG_LINE@json.output@    ]@@@",
-      "@@@STEP_LOG_LINE@json.output@  }@@@",
-      "@@@STEP_LOG_LINE@json.output@}@@@",
-      "@@@STEP_LOG_END@json.output@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[CACHE]/isolated_client/isolated",
-      "archive",
-      "-verbose",
-      "-isolate-server",
-      "https://example.isolateserver.appspot.com",
-      "-namespace",
-      "default-gzip",
-      "-dump-hash",
-      "/path/to/tmp/",
-      "-dirs",
-      "[CLEANUP]/isolate_tmp_2:."
-    ],
-    "infra_step": true,
-    "name": "prepare test: zbi-test-x64 - QEMU.isolate images",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LINK@isolated UI@https://example.isolateserver.appspot.com/browse?namespace=default-gzip&hash=%5Bdummy+hash%5D@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect"
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.0",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@1 launched, 1 failed@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.0.launch",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.0.launch.zbi-test-x64 - QEMU (attempt 0)",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_LINK@Swarming task@https://example.swarmingserver.appspot.com/task?id=123@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.0.launch.zbi-test-x64 - QEMU (attempt 0).ensure swarming",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@4@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "cipd",
-      "ensure",
-      "-root",
-      "[CACHE]/swarming_client",
-      "-ensure-file",
-      "infra/tools/luci/swarming/${platform} git_revision:67b11ada44a625008a2db5cb49ad453494b16ba1",
-      "-json-output",
-      "/path/to/tmp/json"
-    ],
-    "infra_step": true,
-    "name": "launch/collect.0.launch.zbi-test-x64 - QEMU (attempt 0).ensure swarming.ensure_installed",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@5@@@",
-      "@@@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:67b\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"package\": \"infra/tools/luci/swarming/resolved-platform\"@@@",
-      "@@@STEP_LOG_LINE@json.output@      }@@@",
-      "@@@STEP_LOG_LINE@json.output@    ]@@@",
-      "@@@STEP_LOG_LINE@json.output@  }@@@",
-      "@@@STEP_LOG_LINE@json.output@}@@@",
-      "@@@STEP_LOG_END@json.output@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[CACHE]/swarming_client/swarming",
-      "spawn-tasks",
-      "-server",
-      "https://example.swarmingserver.appspot.com",
-      "-json-input",
-      "{\"requests\": [{\"name\": \"zbi-test-x64 - QEMU\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:QEMU-x64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"cipd_input\": {\"packages\": [{\"package_name\": \"fuchsia/third_party/qemu/${platform}\", \"path\": \"qemu\", \"version\": \"git_revision:533bf2563d0213a7e002d9fcde75519d30ffa70f\"}]}, \"command\": [\"./botanist\", \"-level\", \"debug\", \"qemu\", \"-type\", \"qemu\", \"-qemu-dir\", \"./qemu/bin\", \"-images\", \"images.json\", \"-arch\", \"x64\", \"-use-kvm\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"kvm\", \"value\": \"1\"}, {\"key\": \"os\", \"value\": \"Debian\"}, {\"key\": \"cpu\", \"value\": \"x64\"}, {\"key\": \"pool\", \"value\": \"fuchsia.tests\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": []}}]}]}",
-      "-json-output",
-      "/path/to/tmp/json",
-      "-cancel-extra-tasks"
-    ],
-    "infra_step": true,
-    "name": "launch/collect.0.launch.zbi-test-x64 - QEMU (attempt 0).trigger",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@4@@@",
-      "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"tasks\": [@@@",
-      "@@@STEP_LOG_LINE@json.output@    {@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"request\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"name\": \"zbi-test-x64 - QEMU\"@@@",
-      "@@@STEP_LOG_LINE@json.output@      }, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"123\"@@@",
-      "@@@STEP_LOG_LINE@json.output@    }@@@",
-      "@@@STEP_LOG_LINE@json.output@  ]@@@",
-      "@@@STEP_LOG_LINE@json.output@}@@@",
-      "@@@STEP_LOG_END@json.output@@@",
-      "@@@STEP_LINK@task UI: zbi-test-x64 - QEMU@https://example.swarmingserver.appspot.com/task?id=123@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[CACHE]/swarming_client/swarming",
-      "collect",
-      "-server",
-      "https://example.swarmingserver.appspot.com",
-      "-task-summary-json",
-      "/path/to/tmp/json",
-      "-task-output-stdout",
-      "json",
-      "123"
-    ],
-    "infra_step": true,
-    "name": "launch/collect.0.collect",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"123\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"output\": \"not success\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"outputs\": [], @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"results\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"bot_id\": \"vm-123\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"duration\": 62.35, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"exit_code\": 0, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"name\": \"zbi-test-x64 - QEMU\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"outputs_ref\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"isolated\": \"abc123\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"namespace\": \"default-gzip\"@@@",
-      "@@@STEP_LOG_LINE@json.output@      }, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"state\": \"COMPLETED\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"123\"@@@",
-      "@@@STEP_LOG_LINE@json.output@    }@@@",
-      "@@@STEP_LOG_LINE@json.output@  }@@@",
-      "@@@STEP_LOG_LINE@json.output@}@@@",
-      "@@@STEP_LOG_END@json.output@@@",
-      "@@@STEP_LOG_LINE@task stdout+stderr: zbi-test-x64 - QEMU@not success@@@",
-      "@@@STEP_LOG_END@task stdout+stderr: zbi-test-x64 - QEMU@@@",
-      "@@@STEP_LINK@task isolated outputs: zbi-test-x64 - QEMU@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.0.process results",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.0.process results.zbi-test-x64 - QEMU",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
-      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
-      "@@@STEP_LOG_END@symbolized log@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[START_DIR]/fuchsia/out/default/linux_x64/symbolize",
-      "-llvm-symbolizer-restart-interval",
-      "2",
-      "-level",
-      "debug",
-      "-build-id-dir",
-      "[START_DIR]/fuchsia/out/default.zircon/.build-id",
-      "-build-id-dir",
-      "[START_DIR]/fuchsia/prebuilt/third_party/clang/linux-x64/lib/debug/.build-id",
-      "-llvm-symbolizer",
-      "[START_DIR]/fuchsia/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer",
-      "-json-output",
-      "/path/to/tmp/json"
-    ],
-    "infra_step": true,
-    "name": "launch/collect.0.process results.zbi-test-x64 - QEMU.symbolize logs",
-    "stdin": "not success",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@4@@@",
-      "@@@STEP_LOG_LINE@json.output[symbolizer-output.json]@{}@@@",
-      "@@@STEP_LOG_END@json.output[symbolizer-output.json]@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.0.process results.always pass",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@3@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.0.failed tasks",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_LINK@zbi-test-x64 - QEMU (attempt 0)@https://example.swarmingserver.appspot.com/task?id=123@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.1",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@1 launched, 1 passed@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.1.launch",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.1.launch.zbi-test-x64 - QEMU (attempt 1)",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_LINK@Swarming task@https://example.swarmingserver.appspot.com/task?id=456@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[CACHE]/swarming_client/swarming",
-      "spawn-tasks",
-      "-server",
-      "https://example.swarmingserver.appspot.com",
-      "-json-input",
-      "{\"requests\": [{\"name\": \"zbi-test-x64 - QEMU\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:QEMU-x64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"cipd_input\": {\"packages\": [{\"package_name\": \"fuchsia/third_party/qemu/${platform}\", \"path\": \"qemu\", \"version\": \"git_revision:533bf2563d0213a7e002d9fcde75519d30ffa70f\"}]}, \"command\": [\"./botanist\", \"-level\", \"debug\", \"qemu\", \"-type\", \"qemu\", \"-qemu-dir\", \"./qemu/bin\", \"-images\", \"images.json\", \"-arch\", \"x64\", \"-use-kvm\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"kvm\", \"value\": \"1\"}, {\"key\": \"os\", \"value\": \"Debian\"}, {\"key\": \"cpu\", \"value\": \"x64\"}, {\"key\": \"pool\", \"value\": \"fuchsia.tests\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": []}}]}]}",
-      "-json-output",
-      "/path/to/tmp/json",
-      "-cancel-extra-tasks"
-    ],
-    "infra_step": true,
-    "name": "launch/collect.1.launch.zbi-test-x64 - QEMU (attempt 1).trigger",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@4@@@",
-      "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"tasks\": [@@@",
-      "@@@STEP_LOG_LINE@json.output@    {@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"request\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"name\": \"zbi-test-x64 - QEMU\"@@@",
-      "@@@STEP_LOG_LINE@json.output@      }, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"456\"@@@",
-      "@@@STEP_LOG_LINE@json.output@    }@@@",
-      "@@@STEP_LOG_LINE@json.output@  ]@@@",
-      "@@@STEP_LOG_LINE@json.output@}@@@",
-      "@@@STEP_LOG_END@json.output@@@",
-      "@@@STEP_LINK@task UI: zbi-test-x64 - QEMU@https://example.swarmingserver.appspot.com/task?id=456@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[CACHE]/swarming_client/swarming",
-      "collect",
-      "-server",
-      "https://example.swarmingserver.appspot.com",
-      "-task-summary-json",
-      "/path/to/tmp/json",
-      "-task-output-stdout",
-      "json",
-      "456"
-    ],
-    "infra_step": true,
-    "name": "launch/collect.1.collect",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"456\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"output\": \"purple monkey dishwasher\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"outputs\": [], @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"results\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"bot_id\": \"vm-123\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"duration\": 62.35, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"exit_code\": 0, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"name\": \"zbi-test-x64 - QEMU\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"outputs_ref\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"isolated\": \"abc123\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"namespace\": \"default-gzip\"@@@",
-      "@@@STEP_LOG_LINE@json.output@      }, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"state\": \"COMPLETED\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"456\"@@@",
-      "@@@STEP_LOG_LINE@json.output@    }@@@",
-      "@@@STEP_LOG_LINE@json.output@  }@@@",
-      "@@@STEP_LOG_LINE@json.output@}@@@",
-      "@@@STEP_LOG_END@json.output@@@",
-      "@@@STEP_LOG_LINE@task stdout+stderr: zbi-test-x64 - QEMU@purple monkey dishwasher@@@",
-      "@@@STEP_LOG_END@task stdout+stderr: zbi-test-x64 - QEMU@@@",
-      "@@@STEP_LINK@task isolated outputs: zbi-test-x64 - QEMU@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.1.process results",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.1.process results.zbi-test-x64 - QEMU",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
-      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
-      "@@@STEP_LOG_END@symbolized log@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[START_DIR]/fuchsia/out/default/linux_x64/symbolize",
-      "-llvm-symbolizer-restart-interval",
-      "2",
-      "-level",
-      "debug",
-      "-build-id-dir",
-      "[START_DIR]/fuchsia/out/default.zircon/.build-id",
-      "-build-id-dir",
-      "[START_DIR]/fuchsia/prebuilt/third_party/clang/linux-x64/lib/debug/.build-id",
-      "-llvm-symbolizer",
-      "[START_DIR]/fuchsia/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer",
-      "-json-output",
-      "/path/to/tmp/json"
-    ],
-    "infra_step": true,
-    "name": "launch/collect.1.process results.zbi-test-x64 - QEMU.symbolize logs",
-    "stdin": "purple monkey dishwasher",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@4@@@",
-      "@@@STEP_LOG_LINE@json.output[symbolizer-output.json]@{}@@@",
-      "@@@STEP_LOG_END@json.output[symbolizer-output.json]@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.1.process results.always pass",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@3@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.1.passed tasks",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_LINK@zbi-test-x64 - QEMU (attempt 1)@https://example.swarmingserver.appspot.com/task?id=456@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "passes",
-    "~followup_annotations": [
-      "@@@STEP_SUMMARY_TEXT@1 passed@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "passes.zbi-test-x64 - QEMU",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "passes.zbi-test-x64 - QEMU.attempt 0 (fail)",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_SUMMARY_TEXT@failed to find success string@@@",
-      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
-      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
-      "@@@STEP_LOG_END@symbolized log@@@",
-      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=123@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "passes.zbi-test-x64 - QEMU.attempt 1 (pass)",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
-      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
-      "@@@STEP_LOG_END@symbolized log@@@",
-      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=456@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "flakes",
-    "~followup_annotations": [
-      "@@@STEP_SUMMARY_TEXT@1 flaked@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "flakes.zbi-test-x64 - QEMU",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "flakes.zbi-test-x64 - QEMU.attempt 0 (fail)",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_SUMMARY_TEXT@failed to find success string@@@",
-      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
-      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
-      "@@@STEP_LOG_END@symbolized log@@@",
-      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=123@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "flakes.zbi-test-x64 - QEMU.attempt 1 (pass)",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
-      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
-      "@@@STEP_LOG_END@symbolized log@@@",
-      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=456@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "failures",
-    "~followup_annotations": [
-      "@@@STEP_SUMMARY_TEXT@0 failed@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "all tasks passed"
-  },
-  {
-    "name": "$result"
-  }
-]
\ No newline at end of file
diff --git a/recipes/zbi_test.expected/flake-x64-AEMU.json b/recipes/zbi_test.expected/flake-x64.json
similarity index 74%
copy from recipes/zbi_test.expected/flake-x64-AEMU.json
copy to recipes/zbi_test.expected/flake-x64.json
index 08ed7fe..44e4a2d 100644
--- a/recipes/zbi_test.expected/flake-x64-AEMU.json
+++ b/recipes/zbi_test.expected/flake-x64.json
@@ -1448,10 +1448,14 @@
       "@@@STEP_LOG_LINE@json.output@[@@@",
       "@@@STEP_LOG_LINE@json.output@  {@@@",
       "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"device_types\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"QEMU\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"AEMU\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"Intel NUC Kit NUC7i5DNHE\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    ], @@@",
       "@@@STEP_LOG_LINE@json.output@    \"name\": \"zbi-test-x64\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"path\": \"../default.zircon/zbi-test-x64.zbi\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"success_string\": \"purple monkey dishwasher\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"task_name\": \"zbi-test-x64 - AEMU\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"type\": \"zbi\"@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@]@@@",
@@ -1739,21 +1743,7 @@
   },
   {
     "cmd": [],
-    "name": "prepare test: zbi-test-x64 - AEMU"
-  },
-  {
-    "cmd": [
-      "python",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/symlink.py",
-      "--link-json",
-      "{\"[START_DIR]/fuchsia/out/default/../default.zircon/zbi-test-x64.zbi\": [\"[CLEANUP]/isolate_tmp_2/zbi-test-x64.zbi\"], \"[START_DIR]/fuchsia/out/default/linux_x64/botanist\": [\"[CLEANUP]/isolate_tmp_2/botanist\"], \"[START_DIR]/fuchsia/out/default/multiboot.bin\": [\"[CLEANUP]/isolate_tmp_2/multiboot.bin\"]}"
-    ],
-    "infra_step": true,
-    "name": "prepare test: zbi-test-x64 - AEMU.create tree of images",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
+    "name": "prepare test: zbi-test-x64 - QEMU"
   },
   {
     "cmd": [
@@ -1763,18 +1753,22 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "[\n  {\n    \"name\": \"zircon-a\", \n    \"success_string\": \"purple monkey dishwasher\", \n    \"task_name\": \"zbi-test-x64 - AEMU\", \n    \"path\": \"zbi-test-x64.zbi\", \n    \"type\": \"zbi\", \n    \"cpu\": \"x64\"\n  }, \n  {\n    \"path\": \"multiboot.bin\", \n    \"type\": \"kernel\", \n    \"name\": \"qemu-kernel\"\n  }\n]",
+      "[\n  {\n    \"name\": \"zircon-a\", \n    \"device_types\": [\n      \"QEMU\", \n      \"AEMU\", \n      \"Intel NUC Kit NUC7i5DNHE\"\n    ], \n    \"success_string\": \"purple monkey dishwasher\", \n    \"path\": \"zbi-test-x64.zbi\", \n    \"type\": \"zbi\", \n    \"cpu\": \"x64\"\n  }, \n  {\n    \"path\": \"multiboot.bin\", \n    \"type\": \"kernel\", \n    \"name\": \"qemu-kernel\"\n  }\n]",
       "[CLEANUP]/isolate_tmp_2/images.json"
     ],
     "infra_step": true,
-    "name": "prepare test: zbi-test-x64 - AEMU.write image manifest",
+    "name": "prepare test: zbi-test-x64 - QEMU.write image manifest",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@images.json@[@@@",
       "@@@STEP_LOG_LINE@images.json@  {@@@",
       "@@@STEP_LOG_LINE@images.json@    \"name\": \"zircon-a\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"device_types\": [@@@",
+      "@@@STEP_LOG_LINE@images.json@      \"QEMU\", @@@",
+      "@@@STEP_LOG_LINE@images.json@      \"AEMU\", @@@",
+      "@@@STEP_LOG_LINE@images.json@      \"Intel NUC Kit NUC7i5DNHE\"@@@",
+      "@@@STEP_LOG_LINE@images.json@    ], @@@",
       "@@@STEP_LOG_LINE@images.json@    \"success_string\": \"purple monkey dishwasher\", @@@",
-      "@@@STEP_LOG_LINE@images.json@    \"task_name\": \"zbi-test-x64 - AEMU\", @@@",
       "@@@STEP_LOG_LINE@images.json@    \"path\": \"zbi-test-x64.zbi\", @@@",
       "@@@STEP_LOG_LINE@images.json@    \"type\": \"zbi\", @@@",
       "@@@STEP_LOG_LINE@images.json@    \"cpu\": \"x64\"@@@",
@@ -1789,8 +1783,50 @@
     ]
   },
   {
+    "cmd": [
+      "vpython",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "copy",
+      "[\n  {\n    \"target\": \"x64\", \n    \"kvm\": true, \n    \"memory\": 4096, \n    \"path\": \"./qemu/bin\", \n    \"type\": \"qemu\", \n    \"cpu\": 4\n  }\n]",
+      "[CLEANUP]/isolate_tmp_2/qemu.json"
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-x64 - QEMU.write qemu config",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_LINE@qemu.json@[@@@",
+      "@@@STEP_LOG_LINE@qemu.json@  {@@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"target\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"kvm\": true, @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"memory\": 4096, @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"path\": \"./qemu/bin\", @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"type\": \"qemu\", @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"cpu\": 4@@@",
+      "@@@STEP_LOG_LINE@qemu.json@  }@@@",
+      "@@@STEP_LOG_LINE@qemu.json@]@@@",
+      "@@@STEP_LOG_END@qemu.json@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/symlink.py",
+      "--link-json",
+      "{\"[START_DIR]/fuchsia/out/default/../default.zircon/zbi-test-x64.zbi\": [\"[CLEANUP]/isolate_tmp_2/zbi-test-x64.zbi\"], \"[START_DIR]/fuchsia/out/default/linux_x64/botanist\": [\"[CLEANUP]/isolate_tmp_2/botanist\"], \"[START_DIR]/fuchsia/out/default/linux_x64/seriallistener\": [\"[CLEANUP]/isolate_tmp_2/seriallistener\"], \"[START_DIR]/fuchsia/out/default/multiboot.bin\": [\"[CLEANUP]/isolate_tmp_2/multiboot.bin\"]}"
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-x64 - QEMU.create tree of images",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
     "cmd": [],
-    "name": "prepare test: zbi-test-x64 - AEMU.ensure isolated",
+    "name": "prepare test: zbi-test-x64 - QEMU.ensure isolated",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
@@ -1807,7 +1843,7 @@
       "/path/to/tmp/json"
     ],
     "infra_step": true,
-    "name": "prepare test: zbi-test-x64 - AEMU.ensure isolated.ensure_installed",
+    "name": "prepare test: zbi-test-x64 - QEMU.ensure isolated.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -1838,6 +1874,181 @@
       "[CLEANUP]/isolate_tmp_2:."
     ],
     "infra_step": true,
+    "name": "prepare test: zbi-test-x64 - QEMU.isolate images",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LINK@isolated UI@https://example.isolateserver.appspot.com/browse?namespace=default-gzip&hash=%5Bdummy+hash%5D@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "prepare test: zbi-test-x64 - Intel NUC Kit NUC7i5DNHE"
+  },
+  {
+    "cmd": [
+      "vpython",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "copy",
+      "[\n  {\n    \"name\": \"zircon-a\", \n    \"device_types\": [\n      \"QEMU\", \n      \"AEMU\", \n      \"Intel NUC Kit NUC7i5DNHE\"\n    ], \n    \"success_string\": \"purple monkey dishwasher\", \n    \"path\": \"zbi-test-x64.zbi\", \n    \"type\": \"zbi\", \n    \"cpu\": \"x64\"\n  }\n]",
+      "[CLEANUP]/isolate_tmp_3/images.json"
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-x64 - Intel NUC Kit NUC7i5DNHE.write image manifest",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_LINE@images.json@[@@@",
+      "@@@STEP_LOG_LINE@images.json@  {@@@",
+      "@@@STEP_LOG_LINE@images.json@    \"name\": \"zircon-a\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"device_types\": [@@@",
+      "@@@STEP_LOG_LINE@images.json@      \"QEMU\", @@@",
+      "@@@STEP_LOG_LINE@images.json@      \"AEMU\", @@@",
+      "@@@STEP_LOG_LINE@images.json@      \"Intel NUC Kit NUC7i5DNHE\"@@@",
+      "@@@STEP_LOG_LINE@images.json@    ], @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"success_string\": \"purple monkey dishwasher\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"path\": \"zbi-test-x64.zbi\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"type\": \"zbi\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"cpu\": \"x64\"@@@",
+      "@@@STEP_LOG_LINE@images.json@  }@@@",
+      "@@@STEP_LOG_LINE@images.json@]@@@",
+      "@@@STEP_LOG_END@images.json@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/symlink.py",
+      "--link-json",
+      "{\"[START_DIR]/fuchsia/out/default/../default.zircon/zbi-test-x64.zbi\": [\"[CLEANUP]/isolate_tmp_3/zbi-test-x64.zbi\"], \"[START_DIR]/fuchsia/out/default/linux_x64/botanist\": [\"[CLEANUP]/isolate_tmp_3/botanist\"], \"[START_DIR]/fuchsia/out/default/linux_x64/seriallistener\": [\"[CLEANUP]/isolate_tmp_3/seriallistener\"]}"
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-x64 - Intel NUC Kit NUC7i5DNHE.create tree of images",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[CACHE]/isolated_client/isolated",
+      "archive",
+      "-verbose",
+      "-isolate-server",
+      "https://example.isolateserver.appspot.com",
+      "-namespace",
+      "default-gzip",
+      "-dump-hash",
+      "/path/to/tmp/",
+      "-dirs",
+      "[CLEANUP]/isolate_tmp_3:."
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-x64 - Intel NUC Kit NUC7i5DNHE.isolate images",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LINK@isolated UI@https://example.isolateserver.appspot.com/browse?namespace=default-gzip&hash=%5Bdummy+hash%5D@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "prepare test: zbi-test-x64 - AEMU"
+  },
+  {
+    "cmd": [
+      "vpython",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "copy",
+      "[\n  {\n    \"name\": \"zircon-a\", \n    \"device_types\": [\n      \"QEMU\", \n      \"AEMU\", \n      \"Intel NUC Kit NUC7i5DNHE\"\n    ], \n    \"success_string\": \"purple monkey dishwasher\", \n    \"path\": \"zbi-test-x64.zbi\", \n    \"type\": \"zbi\", \n    \"cpu\": \"x64\"\n  }, \n  {\n    \"path\": \"multiboot.bin\", \n    \"type\": \"kernel\", \n    \"name\": \"qemu-kernel\"\n  }\n]",
+      "[CLEANUP]/isolate_tmp_4/images.json"
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-x64 - AEMU.write image manifest",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_LINE@images.json@[@@@",
+      "@@@STEP_LOG_LINE@images.json@  {@@@",
+      "@@@STEP_LOG_LINE@images.json@    \"name\": \"zircon-a\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"device_types\": [@@@",
+      "@@@STEP_LOG_LINE@images.json@      \"QEMU\", @@@",
+      "@@@STEP_LOG_LINE@images.json@      \"AEMU\", @@@",
+      "@@@STEP_LOG_LINE@images.json@      \"Intel NUC Kit NUC7i5DNHE\"@@@",
+      "@@@STEP_LOG_LINE@images.json@    ], @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"success_string\": \"purple monkey dishwasher\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"path\": \"zbi-test-x64.zbi\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"type\": \"zbi\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"cpu\": \"x64\"@@@",
+      "@@@STEP_LOG_LINE@images.json@  }, @@@",
+      "@@@STEP_LOG_LINE@images.json@  {@@@",
+      "@@@STEP_LOG_LINE@images.json@    \"path\": \"multiboot.bin\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"type\": \"kernel\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"name\": \"qemu-kernel\"@@@",
+      "@@@STEP_LOG_LINE@images.json@  }@@@",
+      "@@@STEP_LOG_LINE@images.json@]@@@",
+      "@@@STEP_LOG_END@images.json@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "vpython",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "copy",
+      "[\n  {\n    \"target\": \"x64\", \n    \"kvm\": true, \n    \"memory\": 4096, \n    \"path\": \"./aemu/bin\", \n    \"type\": \"aemu\", \n    \"cpu\": 4\n  }\n]",
+      "[CLEANUP]/isolate_tmp_4/qemu.json"
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-x64 - AEMU.write qemu config",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_LINE@qemu.json@[@@@",
+      "@@@STEP_LOG_LINE@qemu.json@  {@@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"target\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"kvm\": true, @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"memory\": 4096, @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"path\": \"./aemu/bin\", @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"type\": \"aemu\", @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"cpu\": 4@@@",
+      "@@@STEP_LOG_LINE@qemu.json@  }@@@",
+      "@@@STEP_LOG_LINE@qemu.json@]@@@",
+      "@@@STEP_LOG_END@qemu.json@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/symlink.py",
+      "--link-json",
+      "{\"[START_DIR]/fuchsia/out/default/../default.zircon/zbi-test-x64.zbi\": [\"[CLEANUP]/isolate_tmp_4/zbi-test-x64.zbi\"], \"[START_DIR]/fuchsia/out/default/linux_x64/botanist\": [\"[CLEANUP]/isolate_tmp_4/botanist\"], \"[START_DIR]/fuchsia/out/default/linux_x64/seriallistener\": [\"[CLEANUP]/isolate_tmp_4/seriallistener\"], \"[START_DIR]/fuchsia/out/default/multiboot.bin\": [\"[CLEANUP]/isolate_tmp_4/multiboot.bin\"]}"
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-x64 - AEMU.create tree of images",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[CACHE]/isolated_client/isolated",
+      "archive",
+      "-verbose",
+      "-isolate-server",
+      "https://example.isolateserver.appspot.com",
+      "-namespace",
+      "default-gzip",
+      "-dump-hash",
+      "/path/to/tmp/",
+      "-dirs",
+      "[CLEANUP]/isolate_tmp_4:."
+    ],
+    "infra_step": true,
     "name": "prepare test: zbi-test-x64 - AEMU.isolate images",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
@@ -1853,7 +2064,7 @@
     "name": "launch/collect.0",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@1 launched, 1 failed@@@"
+      "@@@STEP_SUMMARY_TEXT@3 launched, 3 failed@@@"
     ]
   },
   {
@@ -1865,7 +2076,7 @@
   },
   {
     "cmd": [],
-    "name": "launch/collect.0.launch.zbi-test-x64 - AEMU (attempt 0)",
+    "name": "launch/collect.0.launch.zbi-test-x64 - QEMU (attempt 0)",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
       "@@@STEP_LINK@Swarming task@https://example.swarmingserver.appspot.com/task?id=123@@@"
@@ -1873,7 +2084,7 @@
   },
   {
     "cmd": [],
-    "name": "launch/collect.0.launch.zbi-test-x64 - AEMU (attempt 0).ensure swarming",
+    "name": "launch/collect.0.launch.zbi-test-x64 - QEMU (attempt 0).ensure swarming",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@"
     ]
@@ -1890,7 +2101,7 @@
       "/path/to/tmp/json"
     ],
     "infra_step": true,
-    "name": "launch/collect.0.launch.zbi-test-x64 - AEMU (attempt 0).ensure swarming.ensure_installed",
+    "name": "launch/collect.0.launch.zbi-test-x64 - QEMU (attempt 0).ensure swarming.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@5@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -1913,7 +2124,83 @@
       "-server",
       "https://example.swarmingserver.appspot.com",
       "-json-input",
-      "{\"requests\": [{\"name\": \"zbi-test-x64 - AEMU\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:AEMU-x64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"cipd_input\": {\"packages\": [{\"package_name\": \"fuchsia/third_party/aemu/${platform}\", \"path\": \"aemu/bin\", \"version\": \"git_revision:de95df869556006ad87f402110aa835d03835060\"}]}, \"command\": [\"./botanist\", \"-level\", \"debug\", \"qemu\", \"-type\", \"aemu\", \"-qemu-dir\", \"./aemu/bin\", \"-images\", \"images.json\", \"-arch\", \"x64\", \"-use-kvm\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"kvm\", \"value\": \"1\"}, {\"key\": \"os\", \"value\": \"Debian\"}, {\"key\": \"cpu\", \"value\": \"x64\"}, {\"key\": \"pool\", \"value\": \"fuchsia.tests\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": []}}]}]}",
+      "{\"requests\": [{\"name\": \"zbi-test-x64 - QEMU\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:QEMU-x64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"cipd_input\": {\"packages\": [{\"package_name\": \"fuchsia/third_party/qemu/${platform}\", \"path\": \"qemu\", \"version\": \"git_revision:533bf2563d0213a7e002d9fcde75519d30ffa70f\"}]}, \"command\": [\"./botanist\", \"-level\", \"debug\", \"run\", \"-images\", \"images.json\", \"-serial-log\", \"serial.txt\", \"-config\", \"./qemu.json\", \"-netboot\", \"./seriallistener\", \"-timeout\", \"5m\", \"-stdout=False\", \"-success\", \"purple monkey dishwasher\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"kvm\", \"value\": \"1\"}, {\"key\": \"os\", \"value\": \"Debian\"}, {\"key\": \"cpu\", \"value\": \"x64\"}, {\"key\": \"pool\", \"value\": \"fuchsia.tests\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": [\"serial.txt\"]}}]}]}",
+      "-json-output",
+      "/path/to/tmp/json",
+      "-cancel-extra-tasks"
+    ],
+    "infra_step": true,
+    "name": "launch/collect.0.launch.zbi-test-x64 - QEMU (attempt 0).trigger",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@4@@@",
+      "@@@STEP_LOG_LINE@json.output@{@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"tasks\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@    {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"request\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"name\": \"zbi-test-x64 - QEMU\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      }, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"123\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  ]@@@",
+      "@@@STEP_LOG_LINE@json.output@}@@@",
+      "@@@STEP_LOG_END@json.output@@@",
+      "@@@STEP_LINK@task UI: zbi-test-x64 - QEMU@https://example.swarmingserver.appspot.com/task?id=123@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "launch/collect.0.launch.zbi-test-x64 - Intel NUC Kit NUC7i5DNHE (attempt 0)",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@3@@@",
+      "@@@STEP_LINK@Swarming task@https://example.swarmingserver.appspot.com/task?id=127@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[CACHE]/swarming_client/swarming",
+      "spawn-tasks",
+      "-server",
+      "https://example.swarmingserver.appspot.com",
+      "-json-input",
+      "{\"requests\": [{\"name\": \"zbi-test-x64 - Intel NUC Kit NUC7i5DNHE\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:Intel NUC Kit NUC7i5DNHE-x64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"command\": [\"./botanist\", \"-level\", \"debug\", \"run\", \"-images\", \"images.json\", \"-serial-log\", \"serial.txt\", \"-config\", \"/etc/botanist/config.json\", \"-netboot\", \"./seriallistener\", \"-timeout\", \"5m\", \"-stdout=True\", \"-success\", \"purple monkey dishwasher\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"pool\", \"value\": \"fuchsia.tests\"}, {\"key\": \"device_type\", \"value\": \"Intel NUC Kit NUC7i5DNHE\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": [\"serial.txt\"]}}]}]}",
+      "-json-output",
+      "/path/to/tmp/json",
+      "-cancel-extra-tasks"
+    ],
+    "infra_step": true,
+    "name": "launch/collect.0.launch.zbi-test-x64 - Intel NUC Kit NUC7i5DNHE (attempt 0).trigger",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@4@@@",
+      "@@@STEP_LOG_LINE@json.output@{@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"tasks\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@    {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"request\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"name\": \"zbi-test-x64 - Intel NUC Kit NUC7i5DNHE\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      }, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"127\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  ]@@@",
+      "@@@STEP_LOG_LINE@json.output@}@@@",
+      "@@@STEP_LOG_END@json.output@@@",
+      "@@@STEP_LINK@task UI: zbi-test-x64 - Intel NUC Kit NUC7i5DNHE@https://example.swarmingserver.appspot.com/task?id=127@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "launch/collect.0.launch.zbi-test-x64 - AEMU (attempt 0)",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@3@@@",
+      "@@@STEP_LINK@Swarming task@https://example.swarmingserver.appspot.com/task?id=125@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[CACHE]/swarming_client/swarming",
+      "spawn-tasks",
+      "-server",
+      "https://example.swarmingserver.appspot.com",
+      "-json-input",
+      "{\"requests\": [{\"name\": \"zbi-test-x64 - AEMU\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:AEMU-x64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"cipd_input\": {\"packages\": [{\"package_name\": \"fuchsia/third_party/aemu/${platform}\", \"path\": \"aemu/bin\", \"version\": \"git_revision:de95df869556006ad87f402110aa835d03835060\"}]}, \"command\": [\"./botanist\", \"-level\", \"debug\", \"run\", \"-images\", \"images.json\", \"-serial-log\", \"serial.txt\", \"-config\", \"./qemu.json\", \"-netboot\", \"./seriallistener\", \"-timeout\", \"5m\", \"-stdout=False\", \"-success\", \"purple monkey dishwasher\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"kvm\", \"value\": \"1\"}, {\"key\": \"os\", \"value\": \"Debian\"}, {\"key\": \"cpu\", \"value\": \"x64\"}, {\"key\": \"pool\", \"value\": \"fuchsia.tests\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": [\"serial.txt\"]}}]}]}",
       "-json-output",
       "/path/to/tmp/json",
       "-cancel-extra-tasks"
@@ -1928,12 +2215,12 @@
       "@@@STEP_LOG_LINE@json.output@      \"request\": {@@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"zbi-test-x64 - AEMU\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"123\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"125\"@@@",
       "@@@STEP_LOG_LINE@json.output@    }@@@",
       "@@@STEP_LOG_LINE@json.output@  ]@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
-      "@@@STEP_LINK@task UI: zbi-test-x64 - AEMU@https://example.swarmingserver.appspot.com/task?id=123@@@"
+      "@@@STEP_LINK@task UI: zbi-test-x64 - AEMU@https://example.swarmingserver.appspot.com/task?id=125@@@"
     ]
   },
   {
@@ -1946,7 +2233,13 @@
       "/path/to/tmp/json",
       "-task-output-stdout",
       "json",
-      "123"
+      "-output-dir",
+      "[CLEANUP]/swarming_tmp_5",
+      "-timeout",
+      "5m",
+      "123",
+      "127",
+      "125"
     ],
     "infra_step": true,
     "name": "launch/collect.0.collect",
@@ -1959,8 +2252,8 @@
       "@@@STEP_LOG_LINE@json.output@    \"results\": {@@@",
       "@@@STEP_LOG_LINE@json.output@      \"bot_id\": \"vm-123\", @@@",
       "@@@STEP_LOG_LINE@json.output@      \"duration\": 62.35, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"exit_code\": 0, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"name\": \"zbi-test-x64 - AEMU\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"exit_code\": 1, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"name\": \"zbi-test-x64 - QEMU\", @@@",
       "@@@STEP_LOG_LINE@json.output@      \"outputs_ref\": {@@@",
       "@@@STEP_LOG_LINE@json.output@        \"isolated\": \"abc123\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@",
@@ -1969,12 +2262,52 @@
       "@@@STEP_LOG_LINE@json.output@      \"state\": \"COMPLETED\", @@@",
       "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"123\"@@@",
       "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"125\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"output\": \"not success\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"outputs\": [], @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"results\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"bot_id\": \"vm-123\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"duration\": 62.35, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"exit_code\": 1, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"name\": \"zbi-test-x64 - AEMU\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"outputs_ref\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"isolated\": \"abc123\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"namespace\": \"default-gzip\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      }, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"state\": \"COMPLETED\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"125\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"127\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"output\": \"not success\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"outputs\": [], @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"results\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"bot_id\": \"vm-123\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"duration\": 62.35, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"exit_code\": 1, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"name\": \"zbi-test-x64 - Intel NUC Kit NUC7i5DNHE\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"outputs_ref\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"isolated\": \"abc123\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"namespace\": \"default-gzip\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      }, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"state\": \"COMPLETED\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"127\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
       "@@@STEP_LOG_LINE@task stdout+stderr: zbi-test-x64 - AEMU@not success@@@",
       "@@@STEP_LOG_END@task stdout+stderr: zbi-test-x64 - AEMU@@@",
-      "@@@STEP_LINK@task isolated outputs: zbi-test-x64 - AEMU@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@"
+      "@@@STEP_LOG_LINE@task stdout+stderr: zbi-test-x64 - Intel NUC Kit NUC7i5DNHE@not success@@@",
+      "@@@STEP_LOG_END@task stdout+stderr: zbi-test-x64 - Intel NUC Kit NUC7i5DNHE@@@",
+      "@@@STEP_LOG_LINE@task stdout+stderr: zbi-test-x64 - QEMU@not success@@@",
+      "@@@STEP_LOG_END@task stdout+stderr: zbi-test-x64 - QEMU@@@",
+      "@@@STEP_LINK@task isolated outputs: zbi-test-x64 - AEMU@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@",
+      "@@@STEP_LINK@task isolated outputs: zbi-test-x64 - Intel NUC Kit NUC7i5DNHE@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@",
+      "@@@STEP_LINK@task isolated outputs: zbi-test-x64 - QEMU@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@"
     ]
   },
   {
@@ -2021,6 +2354,76 @@
   },
   {
     "cmd": [],
+    "name": "launch/collect.0.process results.zbi-test-x64 - Intel NUC Kit NUC7i5DNHE",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@3@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_END@symbolized log@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[START_DIR]/fuchsia/out/default/linux_x64/symbolize",
+      "-llvm-symbolizer-restart-interval",
+      "2",
+      "-level",
+      "debug",
+      "-build-id-dir",
+      "[START_DIR]/fuchsia/out/default.zircon/.build-id",
+      "-build-id-dir",
+      "[START_DIR]/fuchsia/prebuilt/third_party/clang/linux-x64/lib/debug/.build-id",
+      "-llvm-symbolizer",
+      "[START_DIR]/fuchsia/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer",
+      "-json-output",
+      "/path/to/tmp/json"
+    ],
+    "infra_step": true,
+    "name": "launch/collect.0.process results.zbi-test-x64 - Intel NUC Kit NUC7i5DNHE.symbolize logs",
+    "stdin": "not success",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@4@@@",
+      "@@@STEP_LOG_LINE@json.output[symbolizer-output.json]@{}@@@",
+      "@@@STEP_LOG_END@json.output[symbolizer-output.json]@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "launch/collect.0.process results.zbi-test-x64 - QEMU",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@3@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_END@symbolized log@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[START_DIR]/fuchsia/out/default/linux_x64/symbolize",
+      "-llvm-symbolizer-restart-interval",
+      "2",
+      "-level",
+      "debug",
+      "-build-id-dir",
+      "[START_DIR]/fuchsia/out/default.zircon/.build-id",
+      "-build-id-dir",
+      "[START_DIR]/fuchsia/prebuilt/third_party/clang/linux-x64/lib/debug/.build-id",
+      "-llvm-symbolizer",
+      "[START_DIR]/fuchsia/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer",
+      "-json-output",
+      "/path/to/tmp/json"
+    ],
+    "infra_step": true,
+    "name": "launch/collect.0.process results.zbi-test-x64 - QEMU.symbolize logs",
+    "stdin": "not success",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@4@@@",
+      "@@@STEP_LOG_LINE@json.output[symbolizer-output.json]@{}@@@",
+      "@@@STEP_LOG_END@json.output[symbolizer-output.json]@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "launch/collect.0.process results.always pass",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@"
@@ -2031,7 +2434,9 @@
     "name": "launch/collect.0.failed tasks",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_LINK@zbi-test-x64 - AEMU (attempt 0)@https://example.swarmingserver.appspot.com/task?id=123@@@"
+      "@@@STEP_LINK@zbi-test-x64 - AEMU (attempt 0)@https://example.swarmingserver.appspot.com/task?id=125@@@",
+      "@@@STEP_LINK@zbi-test-x64 - Intel NUC Kit NUC7i5DNHE (attempt 0)@https://example.swarmingserver.appspot.com/task?id=127@@@",
+      "@@@STEP_LINK@zbi-test-x64 - QEMU (attempt 0)@https://example.swarmingserver.appspot.com/task?id=123@@@"
     ]
   },
   {
@@ -2039,7 +2444,7 @@
     "name": "launch/collect.1",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@1 launched, 1 passed@@@"
+      "@@@STEP_SUMMARY_TEXT@3 launched, 3 passed@@@"
     ]
   },
   {
@@ -2051,10 +2456,10 @@
   },
   {
     "cmd": [],
-    "name": "launch/collect.1.launch.zbi-test-x64 - AEMU (attempt 1)",
+    "name": "launch/collect.1.launch.zbi-test-x64 - QEMU (attempt 1)",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_LINK@Swarming task@https://example.swarmingserver.appspot.com/task?id=456@@@"
+      "@@@STEP_LINK@Swarming task@https://example.swarmingserver.appspot.com/task?id=124@@@"
     ]
   },
   {
@@ -2064,7 +2469,83 @@
       "-server",
       "https://example.swarmingserver.appspot.com",
       "-json-input",
-      "{\"requests\": [{\"name\": \"zbi-test-x64 - AEMU\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:AEMU-x64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"cipd_input\": {\"packages\": [{\"package_name\": \"fuchsia/third_party/aemu/${platform}\", \"path\": \"aemu/bin\", \"version\": \"git_revision:de95df869556006ad87f402110aa835d03835060\"}]}, \"command\": [\"./botanist\", \"-level\", \"debug\", \"qemu\", \"-type\", \"aemu\", \"-qemu-dir\", \"./aemu/bin\", \"-images\", \"images.json\", \"-arch\", \"x64\", \"-use-kvm\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"kvm\", \"value\": \"1\"}, {\"key\": \"os\", \"value\": \"Debian\"}, {\"key\": \"cpu\", \"value\": \"x64\"}, {\"key\": \"pool\", \"value\": \"fuchsia.tests\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": []}}]}]}",
+      "{\"requests\": [{\"name\": \"zbi-test-x64 - QEMU\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:QEMU-x64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"cipd_input\": {\"packages\": [{\"package_name\": \"fuchsia/third_party/qemu/${platform}\", \"path\": \"qemu\", \"version\": \"git_revision:533bf2563d0213a7e002d9fcde75519d30ffa70f\"}]}, \"command\": [\"./botanist\", \"-level\", \"debug\", \"run\", \"-images\", \"images.json\", \"-serial-log\", \"serial.txt\", \"-config\", \"./qemu.json\", \"-netboot\", \"./seriallistener\", \"-timeout\", \"5m\", \"-stdout=False\", \"-success\", \"purple monkey dishwasher\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"kvm\", \"value\": \"1\"}, {\"key\": \"os\", \"value\": \"Debian\"}, {\"key\": \"cpu\", \"value\": \"x64\"}, {\"key\": \"pool\", \"value\": \"fuchsia.tests\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": [\"serial.txt\"]}}]}]}",
+      "-json-output",
+      "/path/to/tmp/json",
+      "-cancel-extra-tasks"
+    ],
+    "infra_step": true,
+    "name": "launch/collect.1.launch.zbi-test-x64 - QEMU (attempt 1).trigger",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@4@@@",
+      "@@@STEP_LOG_LINE@json.output@{@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"tasks\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@    {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"request\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"name\": \"zbi-test-x64 - QEMU\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      }, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"124\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  ]@@@",
+      "@@@STEP_LOG_LINE@json.output@}@@@",
+      "@@@STEP_LOG_END@json.output@@@",
+      "@@@STEP_LINK@task UI: zbi-test-x64 - QEMU@https://example.swarmingserver.appspot.com/task?id=124@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "launch/collect.1.launch.zbi-test-x64 - Intel NUC Kit NUC7i5DNHE (attempt 1)",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@3@@@",
+      "@@@STEP_LINK@Swarming task@https://example.swarmingserver.appspot.com/task?id=128@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[CACHE]/swarming_client/swarming",
+      "spawn-tasks",
+      "-server",
+      "https://example.swarmingserver.appspot.com",
+      "-json-input",
+      "{\"requests\": [{\"name\": \"zbi-test-x64 - Intel NUC Kit NUC7i5DNHE\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:Intel NUC Kit NUC7i5DNHE-x64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"command\": [\"./botanist\", \"-level\", \"debug\", \"run\", \"-images\", \"images.json\", \"-serial-log\", \"serial.txt\", \"-config\", \"/etc/botanist/config.json\", \"-netboot\", \"./seriallistener\", \"-timeout\", \"5m\", \"-stdout=True\", \"-success\", \"purple monkey dishwasher\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"pool\", \"value\": \"fuchsia.tests\"}, {\"key\": \"device_type\", \"value\": \"Intel NUC Kit NUC7i5DNHE\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": [\"serial.txt\"]}}]}]}",
+      "-json-output",
+      "/path/to/tmp/json",
+      "-cancel-extra-tasks"
+    ],
+    "infra_step": true,
+    "name": "launch/collect.1.launch.zbi-test-x64 - Intel NUC Kit NUC7i5DNHE (attempt 1).trigger",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@4@@@",
+      "@@@STEP_LOG_LINE@json.output@{@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"tasks\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@    {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"request\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"name\": \"zbi-test-x64 - Intel NUC Kit NUC7i5DNHE\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      }, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"128\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  ]@@@",
+      "@@@STEP_LOG_LINE@json.output@}@@@",
+      "@@@STEP_LOG_END@json.output@@@",
+      "@@@STEP_LINK@task UI: zbi-test-x64 - Intel NUC Kit NUC7i5DNHE@https://example.swarmingserver.appspot.com/task?id=128@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "launch/collect.1.launch.zbi-test-x64 - AEMU (attempt 1)",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@3@@@",
+      "@@@STEP_LINK@Swarming task@https://example.swarmingserver.appspot.com/task?id=126@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[CACHE]/swarming_client/swarming",
+      "spawn-tasks",
+      "-server",
+      "https://example.swarmingserver.appspot.com",
+      "-json-input",
+      "{\"requests\": [{\"name\": \"zbi-test-x64 - AEMU\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:AEMU-x64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"cipd_input\": {\"packages\": [{\"package_name\": \"fuchsia/third_party/aemu/${platform}\", \"path\": \"aemu/bin\", \"version\": \"git_revision:de95df869556006ad87f402110aa835d03835060\"}]}, \"command\": [\"./botanist\", \"-level\", \"debug\", \"run\", \"-images\", \"images.json\", \"-serial-log\", \"serial.txt\", \"-config\", \"./qemu.json\", \"-netboot\", \"./seriallistener\", \"-timeout\", \"5m\", \"-stdout=False\", \"-success\", \"purple monkey dishwasher\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"kvm\", \"value\": \"1\"}, {\"key\": \"os\", \"value\": \"Debian\"}, {\"key\": \"cpu\", \"value\": \"x64\"}, {\"key\": \"pool\", \"value\": \"fuchsia.tests\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": [\"serial.txt\"]}}]}]}",
       "-json-output",
       "/path/to/tmp/json",
       "-cancel-extra-tasks"
@@ -2079,12 +2560,12 @@
       "@@@STEP_LOG_LINE@json.output@      \"request\": {@@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"zbi-test-x64 - AEMU\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"456\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"126\"@@@",
       "@@@STEP_LOG_LINE@json.output@    }@@@",
       "@@@STEP_LOG_LINE@json.output@  ]@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
-      "@@@STEP_LINK@task UI: zbi-test-x64 - AEMU@https://example.swarmingserver.appspot.com/task?id=456@@@"
+      "@@@STEP_LINK@task UI: zbi-test-x64 - AEMU@https://example.swarmingserver.appspot.com/task?id=126@@@"
     ]
   },
   {
@@ -2097,14 +2578,37 @@
       "/path/to/tmp/json",
       "-task-output-stdout",
       "json",
-      "456"
+      "-output-dir",
+      "[CLEANUP]/swarming_tmp_5",
+      "-timeout",
+      "5m",
+      "124",
+      "128",
+      "126"
     ],
     "infra_step": true,
     "name": "launch/collect.1.collect",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"456\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"124\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"output\": \"purple monkey dishwasher\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"outputs\": [], @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"results\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"bot_id\": \"vm-123\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"duration\": 62.35, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"exit_code\": 0, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"name\": \"zbi-test-x64 - QEMU\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"outputs_ref\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"isolated\": \"abc123\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"namespace\": \"default-gzip\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      }, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"state\": \"COMPLETED\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"124\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"126\": {@@@",
       "@@@STEP_LOG_LINE@json.output@    \"output\": \"purple monkey dishwasher\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"outputs\": [], @@@",
       "@@@STEP_LOG_LINE@json.output@    \"results\": {@@@",
@@ -2118,14 +2622,37 @@
       "@@@STEP_LOG_LINE@json.output@        \"namespace\": \"default-gzip\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }, @@@",
       "@@@STEP_LOG_LINE@json.output@      \"state\": \"COMPLETED\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"456\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"126\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"128\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"output\": \"purple monkey dishwasher\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"outputs\": [], @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"results\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"bot_id\": \"vm-123\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"duration\": 62.35, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"exit_code\": 0, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"name\": \"zbi-test-x64 - Intel NUC Kit NUC7i5DNHE\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"outputs_ref\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"isolated\": \"abc123\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"namespace\": \"default-gzip\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      }, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"state\": \"COMPLETED\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"128\"@@@",
       "@@@STEP_LOG_LINE@json.output@    }@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
       "@@@STEP_LOG_LINE@task stdout+stderr: zbi-test-x64 - AEMU@purple monkey dishwasher@@@",
       "@@@STEP_LOG_END@task stdout+stderr: zbi-test-x64 - AEMU@@@",
-      "@@@STEP_LINK@task isolated outputs: zbi-test-x64 - AEMU@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@"
+      "@@@STEP_LOG_LINE@task stdout+stderr: zbi-test-x64 - Intel NUC Kit NUC7i5DNHE@purple monkey dishwasher@@@",
+      "@@@STEP_LOG_END@task stdout+stderr: zbi-test-x64 - Intel NUC Kit NUC7i5DNHE@@@",
+      "@@@STEP_LOG_LINE@task stdout+stderr: zbi-test-x64 - QEMU@purple monkey dishwasher@@@",
+      "@@@STEP_LOG_END@task stdout+stderr: zbi-test-x64 - QEMU@@@",
+      "@@@STEP_LINK@task isolated outputs: zbi-test-x64 - AEMU@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@",
+      "@@@STEP_LINK@task isolated outputs: zbi-test-x64 - Intel NUC Kit NUC7i5DNHE@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@",
+      "@@@STEP_LINK@task isolated outputs: zbi-test-x64 - QEMU@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@"
     ]
   },
   {
@@ -2172,6 +2699,76 @@
   },
   {
     "cmd": [],
+    "name": "launch/collect.1.process results.zbi-test-x64 - Intel NUC Kit NUC7i5DNHE",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@3@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_END@symbolized log@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[START_DIR]/fuchsia/out/default/linux_x64/symbolize",
+      "-llvm-symbolizer-restart-interval",
+      "2",
+      "-level",
+      "debug",
+      "-build-id-dir",
+      "[START_DIR]/fuchsia/out/default.zircon/.build-id",
+      "-build-id-dir",
+      "[START_DIR]/fuchsia/prebuilt/third_party/clang/linux-x64/lib/debug/.build-id",
+      "-llvm-symbolizer",
+      "[START_DIR]/fuchsia/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer",
+      "-json-output",
+      "/path/to/tmp/json"
+    ],
+    "infra_step": true,
+    "name": "launch/collect.1.process results.zbi-test-x64 - Intel NUC Kit NUC7i5DNHE.symbolize logs",
+    "stdin": "purple monkey dishwasher",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@4@@@",
+      "@@@STEP_LOG_LINE@json.output[symbolizer-output.json]@{}@@@",
+      "@@@STEP_LOG_END@json.output[symbolizer-output.json]@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "launch/collect.1.process results.zbi-test-x64 - QEMU",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@3@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_END@symbolized log@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[START_DIR]/fuchsia/out/default/linux_x64/symbolize",
+      "-llvm-symbolizer-restart-interval",
+      "2",
+      "-level",
+      "debug",
+      "-build-id-dir",
+      "[START_DIR]/fuchsia/out/default.zircon/.build-id",
+      "-build-id-dir",
+      "[START_DIR]/fuchsia/prebuilt/third_party/clang/linux-x64/lib/debug/.build-id",
+      "-llvm-symbolizer",
+      "[START_DIR]/fuchsia/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer",
+      "-json-output",
+      "/path/to/tmp/json"
+    ],
+    "infra_step": true,
+    "name": "launch/collect.1.process results.zbi-test-x64 - QEMU.symbolize logs",
+    "stdin": "purple monkey dishwasher",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@4@@@",
+      "@@@STEP_LOG_LINE@json.output[symbolizer-output.json]@{}@@@",
+      "@@@STEP_LOG_END@json.output[symbolizer-output.json]@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "launch/collect.1.process results.always pass",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@"
@@ -2182,14 +2779,74 @@
     "name": "launch/collect.1.passed tasks",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_LINK@zbi-test-x64 - AEMU (attempt 1)@https://example.swarmingserver.appspot.com/task?id=456@@@"
+      "@@@STEP_LINK@zbi-test-x64 - AEMU (attempt 1)@https://example.swarmingserver.appspot.com/task?id=126@@@",
+      "@@@STEP_LINK@zbi-test-x64 - Intel NUC Kit NUC7i5DNHE (attempt 1)@https://example.swarmingserver.appspot.com/task?id=128@@@",
+      "@@@STEP_LINK@zbi-test-x64 - QEMU (attempt 1)@https://example.swarmingserver.appspot.com/task?id=124@@@"
     ]
   },
   {
     "cmd": [],
     "name": "passes",
     "~followup_annotations": [
-      "@@@STEP_SUMMARY_TEXT@1 passed@@@"
+      "@@@STEP_SUMMARY_TEXT@3 passed@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "passes.zbi-test-x64 - QEMU",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "passes.zbi-test-x64 - QEMU.attempt 0 (fail)",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_END@symbolized log@@@",
+      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=123@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "passes.zbi-test-x64 - QEMU.attempt 1 (pass)",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_END@symbolized log@@@",
+      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=124@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "passes.zbi-test-x64 - Intel NUC Kit NUC7i5DNHE",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "passes.zbi-test-x64 - Intel NUC Kit NUC7i5DNHE.attempt 0 (fail)",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_END@symbolized log@@@",
+      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=127@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "passes.zbi-test-x64 - Intel NUC Kit NUC7i5DNHE.attempt 1 (pass)",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_END@symbolized log@@@",
+      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=128@@@"
     ]
   },
   {
@@ -2204,11 +2861,10 @@
     "name": "passes.zbi-test-x64 - AEMU.attempt 0 (fail)",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_SUMMARY_TEXT@failed to find success string@@@",
       "@@@STEP_LOG_LINE@symbolized log@blah@@@",
       "@@@STEP_LOG_LINE@symbolized log@blah@@@",
       "@@@STEP_LOG_END@symbolized log@@@",
-      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=123@@@"
+      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=125@@@"
     ]
   },
   {
@@ -2219,14 +2875,72 @@
       "@@@STEP_LOG_LINE@symbolized log@blah@@@",
       "@@@STEP_LOG_LINE@symbolized log@blah@@@",
       "@@@STEP_LOG_END@symbolized log@@@",
-      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=456@@@"
+      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=126@@@"
     ]
   },
   {
     "cmd": [],
     "name": "flakes",
     "~followup_annotations": [
-      "@@@STEP_SUMMARY_TEXT@1 flaked@@@"
+      "@@@STEP_SUMMARY_TEXT@3 flaked@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "flakes.zbi-test-x64 - QEMU",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "flakes.zbi-test-x64 - QEMU.attempt 0 (fail)",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_END@symbolized log@@@",
+      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=123@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "flakes.zbi-test-x64 - QEMU.attempt 1 (pass)",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_END@symbolized log@@@",
+      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=124@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "flakes.zbi-test-x64 - Intel NUC Kit NUC7i5DNHE",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "flakes.zbi-test-x64 - Intel NUC Kit NUC7i5DNHE.attempt 0 (fail)",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_END@symbolized log@@@",
+      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=127@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "flakes.zbi-test-x64 - Intel NUC Kit NUC7i5DNHE.attempt 1 (pass)",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_END@symbolized log@@@",
+      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=128@@@"
     ]
   },
   {
@@ -2241,11 +2955,10 @@
     "name": "flakes.zbi-test-x64 - AEMU.attempt 0 (fail)",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_SUMMARY_TEXT@failed to find success string@@@",
       "@@@STEP_LOG_LINE@symbolized log@blah@@@",
       "@@@STEP_LOG_LINE@symbolized log@blah@@@",
       "@@@STEP_LOG_END@symbolized log@@@",
-      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=123@@@"
+      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=125@@@"
     ]
   },
   {
@@ -2256,7 +2969,7 @@
       "@@@STEP_LOG_LINE@symbolized log@blah@@@",
       "@@@STEP_LOG_LINE@symbolized log@blah@@@",
       "@@@STEP_LOG_END@symbolized log@@@",
-      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=456@@@"
+      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=126@@@"
     ]
   },
   {
diff --git a/recipes/zbi_test.expected/fail-x64-QEMU.json b/recipes/zbi_test.expected/kernel_panic-arm64.json
similarity index 72%
copy from recipes/zbi_test.expected/fail-x64-QEMU.json
copy to recipes/zbi_test.expected/kernel_panic-arm64.json
index 2b3c2bb..9ecd0de 100644
--- a/recipes/zbi_test.expected/fail-x64-QEMU.json
+++ b/recipes/zbi_test.expected/kernel_panic-arm64.json
@@ -242,7 +242,7 @@
       "gen",
       "[START_DIR]/fuchsia/out/default",
       "--check",
-      "--args=import(\"//products/bringup.gni\")  base_package_labels+=[\"//garnet/tests/zircon:zbi_tests\",\"//bundles:infratools\"] goma_dir=\"[CACHE]/goma/client\" is_debug=true select_variant=[\"clang\"] target_cpu=\"x64\" use_goma=true"
+      "--args=import(\"//products/bringup.gni\")  base_package_labels+=[\"//garnet/tests/zircon:zbi_tests\",\"//bundles:infratools\"] goma_dir=\"[CACHE]/goma/client\" is_debug=true select_variant=[\"clang\"] target_cpu=\"arm64\" use_goma=true"
     ],
     "cwd": "[START_DIR]/fuchsia",
     "name": "build.gn gen",
@@ -1447,11 +1447,15 @@
       "@@@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@    \"name\": \"zbi-test-x64\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../default.zircon/zbi-test-x64.zbi\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"device_types\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"QEMU\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"AEMU\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"Vim2\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    ], @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"zbi-test-arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../default.zircon/zbi-test-arm64.zbi\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"success_string\": \"purple monkey dishwasher\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"task_name\": \"zbi-test-x64 - QEMU\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"type\": \"zbi\"@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@]@@@",
@@ -1541,7 +1545,7 @@
       "80",
       "legacy-host_tests",
       "manifest-$cpu",
-      "zbi-test-x64.zbi"
+      "zbi-test-arm64.zbi"
     ],
     "name": "build.ninja.zircon",
     "~followup_annotations": [
@@ -1739,21 +1743,7 @@
   },
   {
     "cmd": [],
-    "name": "prepare test: zbi-test-x64 - QEMU"
-  },
-  {
-    "cmd": [
-      "python",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/symlink.py",
-      "--link-json",
-      "{\"[START_DIR]/fuchsia/out/default/../default.zircon/zbi-test-x64.zbi\": [\"[CLEANUP]/isolate_tmp_2/zbi-test-x64.zbi\"], \"[START_DIR]/fuchsia/out/default/linux_x64/botanist\": [\"[CLEANUP]/isolate_tmp_2/botanist\"], \"[START_DIR]/fuchsia/out/default/multiboot.bin\": [\"[CLEANUP]/isolate_tmp_2/multiboot.bin\"]}"
-    ],
-    "infra_step": true,
-    "name": "prepare test: zbi-test-x64 - QEMU.create tree of images",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
+    "name": "prepare test: zbi-test-arm64 - QEMU"
   },
   {
     "cmd": [
@@ -1763,21 +1753,25 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "[\n  {\n    \"name\": \"zircon-a\", \n    \"success_string\": \"purple monkey dishwasher\", \n    \"task_name\": \"zbi-test-x64 - QEMU\", \n    \"path\": \"zbi-test-x64.zbi\", \n    \"type\": \"zbi\", \n    \"cpu\": \"x64\"\n  }, \n  {\n    \"path\": \"multiboot.bin\", \n    \"type\": \"kernel\", \n    \"name\": \"qemu-kernel\"\n  }\n]",
+      "[\n  {\n    \"name\": \"zircon-a\", \n    \"device_types\": [\n      \"QEMU\", \n      \"AEMU\", \n      \"Vim2\"\n    ], \n    \"success_string\": \"purple monkey dishwasher\", \n    \"path\": \"zbi-test-arm64.zbi\", \n    \"type\": \"zbi\", \n    \"cpu\": \"arm64\"\n  }, \n  {\n    \"path\": \"multiboot.bin\", \n    \"type\": \"kernel\", \n    \"name\": \"qemu-kernel\"\n  }\n]",
       "[CLEANUP]/isolate_tmp_2/images.json"
     ],
     "infra_step": true,
-    "name": "prepare test: zbi-test-x64 - QEMU.write image manifest",
+    "name": "prepare test: zbi-test-arm64 - QEMU.write image manifest",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@images.json@[@@@",
       "@@@STEP_LOG_LINE@images.json@  {@@@",
       "@@@STEP_LOG_LINE@images.json@    \"name\": \"zircon-a\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"device_types\": [@@@",
+      "@@@STEP_LOG_LINE@images.json@      \"QEMU\", @@@",
+      "@@@STEP_LOG_LINE@images.json@      \"AEMU\", @@@",
+      "@@@STEP_LOG_LINE@images.json@      \"Vim2\"@@@",
+      "@@@STEP_LOG_LINE@images.json@    ], @@@",
       "@@@STEP_LOG_LINE@images.json@    \"success_string\": \"purple monkey dishwasher\", @@@",
-      "@@@STEP_LOG_LINE@images.json@    \"task_name\": \"zbi-test-x64 - QEMU\", @@@",
-      "@@@STEP_LOG_LINE@images.json@    \"path\": \"zbi-test-x64.zbi\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"path\": \"zbi-test-arm64.zbi\", @@@",
       "@@@STEP_LOG_LINE@images.json@    \"type\": \"zbi\", @@@",
-      "@@@STEP_LOG_LINE@images.json@    \"cpu\": \"x64\"@@@",
+      "@@@STEP_LOG_LINE@images.json@    \"cpu\": \"arm64\"@@@",
       "@@@STEP_LOG_LINE@images.json@  }, @@@",
       "@@@STEP_LOG_LINE@images.json@  {@@@",
       "@@@STEP_LOG_LINE@images.json@    \"path\": \"multiboot.bin\", @@@",
@@ -1789,8 +1783,50 @@
     ]
   },
   {
+    "cmd": [
+      "vpython",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "copy",
+      "[\n  {\n    \"target\": \"arm64\", \n    \"kvm\": true, \n    \"memory\": 4096, \n    \"path\": \"./qemu/bin\", \n    \"type\": \"qemu\", \n    \"cpu\": 4\n  }\n]",
+      "[CLEANUP]/isolate_tmp_2/qemu.json"
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-arm64 - QEMU.write qemu config",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_LINE@qemu.json@[@@@",
+      "@@@STEP_LOG_LINE@qemu.json@  {@@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"target\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"kvm\": true, @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"memory\": 4096, @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"path\": \"./qemu/bin\", @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"type\": \"qemu\", @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"cpu\": 4@@@",
+      "@@@STEP_LOG_LINE@qemu.json@  }@@@",
+      "@@@STEP_LOG_LINE@qemu.json@]@@@",
+      "@@@STEP_LOG_END@qemu.json@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/symlink.py",
+      "--link-json",
+      "{\"[START_DIR]/fuchsia/out/default/../default.zircon/zbi-test-arm64.zbi\": [\"[CLEANUP]/isolate_tmp_2/zbi-test-arm64.zbi\"], \"[START_DIR]/fuchsia/out/default/linux_arm64/botanist\": [\"[CLEANUP]/isolate_tmp_2/botanist\"], \"[START_DIR]/fuchsia/out/default/linux_arm64/seriallistener\": [\"[CLEANUP]/isolate_tmp_2/seriallistener\"], \"[START_DIR]/fuchsia/out/default/multiboot.bin\": [\"[CLEANUP]/isolate_tmp_2/multiboot.bin\"]}"
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-arm64 - QEMU.create tree of images",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
     "cmd": [],
-    "name": "prepare test: zbi-test-x64 - QEMU.ensure isolated",
+    "name": "prepare test: zbi-test-arm64 - QEMU.ensure isolated",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
@@ -1807,7 +1843,7 @@
       "/path/to/tmp/json"
     ],
     "infra_step": true,
-    "name": "prepare test: zbi-test-x64 - QEMU.ensure isolated.ensure_installed",
+    "name": "prepare test: zbi-test-arm64 - QEMU.ensure isolated.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -1838,7 +1874,182 @@
       "[CLEANUP]/isolate_tmp_2:."
     ],
     "infra_step": true,
-    "name": "prepare test: zbi-test-x64 - QEMU.isolate images",
+    "name": "prepare test: zbi-test-arm64 - QEMU.isolate images",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LINK@isolated UI@https://example.isolateserver.appspot.com/browse?namespace=default-gzip&hash=%5Bdummy+hash%5D@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "prepare test: zbi-test-arm64 - Vim2"
+  },
+  {
+    "cmd": [
+      "vpython",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "copy",
+      "[\n  {\n    \"name\": \"zircon-a\", \n    \"device_types\": [\n      \"QEMU\", \n      \"AEMU\", \n      \"Vim2\"\n    ], \n    \"success_string\": \"purple monkey dishwasher\", \n    \"path\": \"zbi-test-arm64.zbi\", \n    \"type\": \"zbi\", \n    \"cpu\": \"arm64\"\n  }\n]",
+      "[CLEANUP]/isolate_tmp_3/images.json"
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-arm64 - Vim2.write image manifest",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_LINE@images.json@[@@@",
+      "@@@STEP_LOG_LINE@images.json@  {@@@",
+      "@@@STEP_LOG_LINE@images.json@    \"name\": \"zircon-a\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"device_types\": [@@@",
+      "@@@STEP_LOG_LINE@images.json@      \"QEMU\", @@@",
+      "@@@STEP_LOG_LINE@images.json@      \"AEMU\", @@@",
+      "@@@STEP_LOG_LINE@images.json@      \"Vim2\"@@@",
+      "@@@STEP_LOG_LINE@images.json@    ], @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"success_string\": \"purple monkey dishwasher\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"path\": \"zbi-test-arm64.zbi\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"type\": \"zbi\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"cpu\": \"arm64\"@@@",
+      "@@@STEP_LOG_LINE@images.json@  }@@@",
+      "@@@STEP_LOG_LINE@images.json@]@@@",
+      "@@@STEP_LOG_END@images.json@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/symlink.py",
+      "--link-json",
+      "{\"[START_DIR]/fuchsia/out/default/../default.zircon/zbi-test-arm64.zbi\": [\"[CLEANUP]/isolate_tmp_3/zbi-test-arm64.zbi\"], \"[START_DIR]/fuchsia/out/default/linux_x64/botanist\": [\"[CLEANUP]/isolate_tmp_3/botanist\"], \"[START_DIR]/fuchsia/out/default/linux_x64/seriallistener\": [\"[CLEANUP]/isolate_tmp_3/seriallistener\"]}"
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-arm64 - Vim2.create tree of images",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[CACHE]/isolated_client/isolated",
+      "archive",
+      "-verbose",
+      "-isolate-server",
+      "https://example.isolateserver.appspot.com",
+      "-namespace",
+      "default-gzip",
+      "-dump-hash",
+      "/path/to/tmp/",
+      "-dirs",
+      "[CLEANUP]/isolate_tmp_3:."
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-arm64 - Vim2.isolate images",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LINK@isolated UI@https://example.isolateserver.appspot.com/browse?namespace=default-gzip&hash=%5Bdummy+hash%5D@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "prepare test: zbi-test-arm64 - AEMU"
+  },
+  {
+    "cmd": [
+      "vpython",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "copy",
+      "[\n  {\n    \"name\": \"zircon-a\", \n    \"device_types\": [\n      \"QEMU\", \n      \"AEMU\", \n      \"Vim2\"\n    ], \n    \"success_string\": \"purple monkey dishwasher\", \n    \"path\": \"zbi-test-arm64.zbi\", \n    \"type\": \"zbi\", \n    \"cpu\": \"arm64\"\n  }, \n  {\n    \"path\": \"multiboot.bin\", \n    \"type\": \"kernel\", \n    \"name\": \"qemu-kernel\"\n  }\n]",
+      "[CLEANUP]/isolate_tmp_4/images.json"
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-arm64 - AEMU.write image manifest",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_LINE@images.json@[@@@",
+      "@@@STEP_LOG_LINE@images.json@  {@@@",
+      "@@@STEP_LOG_LINE@images.json@    \"name\": \"zircon-a\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"device_types\": [@@@",
+      "@@@STEP_LOG_LINE@images.json@      \"QEMU\", @@@",
+      "@@@STEP_LOG_LINE@images.json@      \"AEMU\", @@@",
+      "@@@STEP_LOG_LINE@images.json@      \"Vim2\"@@@",
+      "@@@STEP_LOG_LINE@images.json@    ], @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"success_string\": \"purple monkey dishwasher\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"path\": \"zbi-test-arm64.zbi\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"type\": \"zbi\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"cpu\": \"arm64\"@@@",
+      "@@@STEP_LOG_LINE@images.json@  }, @@@",
+      "@@@STEP_LOG_LINE@images.json@  {@@@",
+      "@@@STEP_LOG_LINE@images.json@    \"path\": \"multiboot.bin\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"type\": \"kernel\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"name\": \"qemu-kernel\"@@@",
+      "@@@STEP_LOG_LINE@images.json@  }@@@",
+      "@@@STEP_LOG_LINE@images.json@]@@@",
+      "@@@STEP_LOG_END@images.json@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "vpython",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "copy",
+      "[\n  {\n    \"target\": \"arm64\", \n    \"kvm\": true, \n    \"memory\": 4096, \n    \"path\": \"./aemu/bin\", \n    \"type\": \"aemu\", \n    \"cpu\": 4\n  }\n]",
+      "[CLEANUP]/isolate_tmp_4/qemu.json"
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-arm64 - AEMU.write qemu config",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_LINE@qemu.json@[@@@",
+      "@@@STEP_LOG_LINE@qemu.json@  {@@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"target\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"kvm\": true, @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"memory\": 4096, @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"path\": \"./aemu/bin\", @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"type\": \"aemu\", @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"cpu\": 4@@@",
+      "@@@STEP_LOG_LINE@qemu.json@  }@@@",
+      "@@@STEP_LOG_LINE@qemu.json@]@@@",
+      "@@@STEP_LOG_END@qemu.json@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/symlink.py",
+      "--link-json",
+      "{\"[START_DIR]/fuchsia/out/default/../default.zircon/zbi-test-arm64.zbi\": [\"[CLEANUP]/isolate_tmp_4/zbi-test-arm64.zbi\"], \"[START_DIR]/fuchsia/out/default/linux_arm64/botanist\": [\"[CLEANUP]/isolate_tmp_4/botanist\"], \"[START_DIR]/fuchsia/out/default/linux_arm64/seriallistener\": [\"[CLEANUP]/isolate_tmp_4/seriallistener\"], \"[START_DIR]/fuchsia/out/default/multiboot.bin\": [\"[CLEANUP]/isolate_tmp_4/multiboot.bin\"]}"
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-arm64 - AEMU.create tree of images",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[CACHE]/isolated_client/isolated",
+      "archive",
+      "-verbose",
+      "-isolate-server",
+      "https://example.isolateserver.appspot.com",
+      "-namespace",
+      "default-gzip",
+      "-dump-hash",
+      "/path/to/tmp/",
+      "-dirs",
+      "[CLEANUP]/isolate_tmp_4:."
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-arm64 - AEMU.isolate images",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LINK@isolated UI@https://example.isolateserver.appspot.com/browse?namespace=default-gzip&hash=%5Bdummy+hash%5D@@@"
@@ -1853,7 +2064,7 @@
     "name": "launch/collect.0",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@1 launched, 1 failed@@@"
+      "@@@STEP_SUMMARY_TEXT@3 launched, 3 failed@@@"
     ]
   },
   {
@@ -1865,7 +2076,7 @@
   },
   {
     "cmd": [],
-    "name": "launch/collect.0.launch.zbi-test-x64 - QEMU (attempt 0)",
+    "name": "launch/collect.0.launch.zbi-test-arm64 - QEMU (attempt 0)",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
       "@@@STEP_LINK@Swarming task@https://example.swarmingserver.appspot.com/task?id=123@@@"
@@ -1873,7 +2084,7 @@
   },
   {
     "cmd": [],
-    "name": "launch/collect.0.launch.zbi-test-x64 - QEMU (attempt 0).ensure swarming",
+    "name": "launch/collect.0.launch.zbi-test-arm64 - QEMU (attempt 0).ensure swarming",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@"
     ]
@@ -1890,7 +2101,7 @@
       "/path/to/tmp/json"
     ],
     "infra_step": true,
-    "name": "launch/collect.0.launch.zbi-test-x64 - QEMU (attempt 0).ensure swarming.ensure_installed",
+    "name": "launch/collect.0.launch.zbi-test-arm64 - QEMU (attempt 0).ensure swarming.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@5@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -1913,27 +2124,103 @@
       "-server",
       "https://example.swarmingserver.appspot.com",
       "-json-input",
-      "{\"requests\": [{\"name\": \"zbi-test-x64 - QEMU\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:QEMU-x64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"cipd_input\": {\"packages\": [{\"package_name\": \"fuchsia/third_party/qemu/${platform}\", \"path\": \"qemu\", \"version\": \"git_revision:533bf2563d0213a7e002d9fcde75519d30ffa70f\"}]}, \"command\": [\"./botanist\", \"-level\", \"debug\", \"qemu\", \"-type\", \"qemu\", \"-qemu-dir\", \"./qemu/bin\", \"-images\", \"images.json\", \"-arch\", \"x64\", \"-use-kvm\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"kvm\", \"value\": \"1\"}, {\"key\": \"os\", \"value\": \"Debian\"}, {\"key\": \"cpu\", \"value\": \"x64\"}, {\"key\": \"pool\", \"value\": \"fuchsia.tests\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": []}}]}]}",
+      "{\"requests\": [{\"name\": \"zbi-test-arm64 - QEMU\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:QEMU-arm64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"cipd_input\": {\"packages\": [{\"package_name\": \"fuchsia/third_party/qemu/${platform}\", \"path\": \"qemu\", \"version\": \"git_revision:533bf2563d0213a7e002d9fcde75519d30ffa70f\"}]}, \"command\": [\"./botanist\", \"-level\", \"debug\", \"run\", \"-images\", \"images.json\", \"-serial-log\", \"serial.txt\", \"-config\", \"./qemu.json\", \"-netboot\", \"./seriallistener\", \"-timeout\", \"5m\", \"-stdout=False\", \"-success\", \"purple monkey dishwasher\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"kvm\", \"value\": \"1\"}, {\"key\": \"os\", \"value\": \"Debian\"}, {\"key\": \"cpu\", \"value\": \"arm64\"}, {\"key\": \"pool\", \"value\": \"fuchsia.tests\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": [\"serial.txt\"]}}]}]}",
       "-json-output",
       "/path/to/tmp/json",
       "-cancel-extra-tasks"
     ],
     "infra_step": true,
-    "name": "launch/collect.0.launch.zbi-test-x64 - QEMU (attempt 0).trigger",
+    "name": "launch/collect.0.launch.zbi-test-arm64 - QEMU (attempt 0).trigger",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"tasks\": [@@@",
       "@@@STEP_LOG_LINE@json.output@    {@@@",
       "@@@STEP_LOG_LINE@json.output@      \"request\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"name\": \"zbi-test-x64 - QEMU\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"name\": \"zbi-test-arm64 - QEMU\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }, @@@",
       "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"123\"@@@",
       "@@@STEP_LOG_LINE@json.output@    }@@@",
       "@@@STEP_LOG_LINE@json.output@  ]@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
-      "@@@STEP_LINK@task UI: zbi-test-x64 - QEMU@https://example.swarmingserver.appspot.com/task?id=123@@@"
+      "@@@STEP_LINK@task UI: zbi-test-arm64 - QEMU@https://example.swarmingserver.appspot.com/task?id=123@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "launch/collect.0.launch.zbi-test-arm64 - Vim2 (attempt 0)",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@3@@@",
+      "@@@STEP_LINK@Swarming task@https://example.swarmingserver.appspot.com/task?id=127@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[CACHE]/swarming_client/swarming",
+      "spawn-tasks",
+      "-server",
+      "https://example.swarmingserver.appspot.com",
+      "-json-input",
+      "{\"requests\": [{\"name\": \"zbi-test-arm64 - Vim2\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:Vim2-arm64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"command\": [\"./botanist\", \"-level\", \"debug\", \"run\", \"-images\", \"images.json\", \"-serial-log\", \"serial.txt\", \"-config\", \"/etc/botanist/config.json\", \"-netboot\", \"./seriallistener\", \"-timeout\", \"5m\", \"-stdout=True\", \"-success\", \"purple monkey dishwasher\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"pool\", \"value\": \"fuchsia.tests\"}, {\"key\": \"device_type\", \"value\": \"Vim2\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": [\"serial.txt\"]}}]}]}",
+      "-json-output",
+      "/path/to/tmp/json",
+      "-cancel-extra-tasks"
+    ],
+    "infra_step": true,
+    "name": "launch/collect.0.launch.zbi-test-arm64 - Vim2 (attempt 0).trigger",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@4@@@",
+      "@@@STEP_LOG_LINE@json.output@{@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"tasks\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@    {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"request\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"name\": \"zbi-test-arm64 - Vim2\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      }, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"127\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  ]@@@",
+      "@@@STEP_LOG_LINE@json.output@}@@@",
+      "@@@STEP_LOG_END@json.output@@@",
+      "@@@STEP_LINK@task UI: zbi-test-arm64 - Vim2@https://example.swarmingserver.appspot.com/task?id=127@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "launch/collect.0.launch.zbi-test-arm64 - AEMU (attempt 0)",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@3@@@",
+      "@@@STEP_LINK@Swarming task@https://example.swarmingserver.appspot.com/task?id=125@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[CACHE]/swarming_client/swarming",
+      "spawn-tasks",
+      "-server",
+      "https://example.swarmingserver.appspot.com",
+      "-json-input",
+      "{\"requests\": [{\"name\": \"zbi-test-arm64 - AEMU\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:AEMU-arm64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"cipd_input\": {\"packages\": [{\"package_name\": \"fuchsia/third_party/aemu/${platform}\", \"path\": \"aemu/bin\", \"version\": \"git_revision:de95df869556006ad87f402110aa835d03835060\"}]}, \"command\": [\"./botanist\", \"-level\", \"debug\", \"run\", \"-images\", \"images.json\", \"-serial-log\", \"serial.txt\", \"-config\", \"./qemu.json\", \"-netboot\", \"./seriallistener\", \"-timeout\", \"5m\", \"-stdout=False\", \"-success\", \"purple monkey dishwasher\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"kvm\", \"value\": \"1\"}, {\"key\": \"os\", \"value\": \"Debian\"}, {\"key\": \"cpu\", \"value\": \"arm64\"}, {\"key\": \"pool\", \"value\": \"fuchsia.tests\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": [\"serial.txt\"]}}]}]}",
+      "-json-output",
+      "/path/to/tmp/json",
+      "-cancel-extra-tasks"
+    ],
+    "infra_step": true,
+    "name": "launch/collect.0.launch.zbi-test-arm64 - AEMU (attempt 0).trigger",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@4@@@",
+      "@@@STEP_LOG_LINE@json.output@{@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"tasks\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@    {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"request\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"name\": \"zbi-test-arm64 - AEMU\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      }, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"125\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  ]@@@",
+      "@@@STEP_LOG_LINE@json.output@}@@@",
+      "@@@STEP_LOG_END@json.output@@@",
+      "@@@STEP_LINK@task UI: zbi-test-arm64 - AEMU@https://example.swarmingserver.appspot.com/task?id=125@@@"
     ]
   },
   {
@@ -1946,7 +2233,13 @@
       "/path/to/tmp/json",
       "-task-output-stdout",
       "json",
-      "123"
+      "-output-dir",
+      "[CLEANUP]/swarming_tmp_5",
+      "-timeout",
+      "5m",
+      "123",
+      "127",
+      "125"
     ],
     "infra_step": true,
     "name": "launch/collect.0.collect",
@@ -1954,13 +2247,13 @@
       "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"123\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"output\": \"not success\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"output\": \"purple monkey dishwasherKERNEL PANIC\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"outputs\": [], @@@",
       "@@@STEP_LOG_LINE@json.output@    \"results\": {@@@",
       "@@@STEP_LOG_LINE@json.output@      \"bot_id\": \"vm-123\", @@@",
       "@@@STEP_LOG_LINE@json.output@      \"duration\": 62.35, @@@",
       "@@@STEP_LOG_LINE@json.output@      \"exit_code\": 0, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"name\": \"zbi-test-x64 - QEMU\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"name\": \"zbi-test-arm64 - QEMU\", @@@",
       "@@@STEP_LOG_LINE@json.output@      \"outputs_ref\": {@@@",
       "@@@STEP_LOG_LINE@json.output@        \"isolated\": \"abc123\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@",
@@ -1969,12 +2262,52 @@
       "@@@STEP_LOG_LINE@json.output@      \"state\": \"COMPLETED\", @@@",
       "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"123\"@@@",
       "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"125\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"output\": \"purple monkey dishwasherKERNEL PANIC\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"outputs\": [], @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"results\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"bot_id\": \"vm-123\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"duration\": 62.35, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"exit_code\": 0, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"name\": \"zbi-test-arm64 - AEMU\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"outputs_ref\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"isolated\": \"abc123\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"namespace\": \"default-gzip\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      }, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"state\": \"COMPLETED\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"125\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"127\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"output\": \"purple monkey dishwasherKERNEL PANIC\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"outputs\": [], @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"results\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"bot_id\": \"vm-123\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"duration\": 62.35, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"exit_code\": 0, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"name\": \"zbi-test-arm64 - Vim2\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"outputs_ref\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"isolated\": \"abc123\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"namespace\": \"default-gzip\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      }, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"state\": \"COMPLETED\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"127\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
-      "@@@STEP_LOG_LINE@task stdout+stderr: zbi-test-x64 - QEMU@not success@@@",
-      "@@@STEP_LOG_END@task stdout+stderr: zbi-test-x64 - QEMU@@@",
-      "@@@STEP_LINK@task isolated outputs: zbi-test-x64 - QEMU@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@"
+      "@@@STEP_LOG_LINE@task stdout+stderr: zbi-test-arm64 - AEMU@purple monkey dishwasherKERNEL PANIC@@@",
+      "@@@STEP_LOG_END@task stdout+stderr: zbi-test-arm64 - AEMU@@@",
+      "@@@STEP_LOG_LINE@task stdout+stderr: zbi-test-arm64 - QEMU@purple monkey dishwasherKERNEL PANIC@@@",
+      "@@@STEP_LOG_END@task stdout+stderr: zbi-test-arm64 - QEMU@@@",
+      "@@@STEP_LOG_LINE@task stdout+stderr: zbi-test-arm64 - Vim2@purple monkey dishwasherKERNEL PANIC@@@",
+      "@@@STEP_LOG_END@task stdout+stderr: zbi-test-arm64 - Vim2@@@",
+      "@@@STEP_LINK@task isolated outputs: zbi-test-arm64 - AEMU@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@",
+      "@@@STEP_LINK@task isolated outputs: zbi-test-arm64 - QEMU@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@",
+      "@@@STEP_LINK@task isolated outputs: zbi-test-arm64 - Vim2@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@"
     ]
   },
   {
@@ -1986,7 +2319,7 @@
   },
   {
     "cmd": [],
-    "name": "launch/collect.0.process results.zbi-test-x64 - QEMU",
+    "name": "launch/collect.0.process results.zbi-test-arm64 - AEMU",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
       "@@@STEP_LOG_LINE@symbolized log@blah@@@",
@@ -2011,8 +2344,78 @@
       "/path/to/tmp/json"
     ],
     "infra_step": true,
-    "name": "launch/collect.0.process results.zbi-test-x64 - QEMU.symbolize logs",
-    "stdin": "not success",
+    "name": "launch/collect.0.process results.zbi-test-arm64 - AEMU.symbolize logs",
+    "stdin": "purple monkey dishwasherKERNEL PANIC",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@4@@@",
+      "@@@STEP_LOG_LINE@json.output[symbolizer-output.json]@{}@@@",
+      "@@@STEP_LOG_END@json.output[symbolizer-output.json]@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "launch/collect.0.process results.zbi-test-arm64 - QEMU",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@3@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_END@symbolized log@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[START_DIR]/fuchsia/out/default/linux_x64/symbolize",
+      "-llvm-symbolizer-restart-interval",
+      "2",
+      "-level",
+      "debug",
+      "-build-id-dir",
+      "[START_DIR]/fuchsia/out/default.zircon/.build-id",
+      "-build-id-dir",
+      "[START_DIR]/fuchsia/prebuilt/third_party/clang/linux-x64/lib/debug/.build-id",
+      "-llvm-symbolizer",
+      "[START_DIR]/fuchsia/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer",
+      "-json-output",
+      "/path/to/tmp/json"
+    ],
+    "infra_step": true,
+    "name": "launch/collect.0.process results.zbi-test-arm64 - QEMU.symbolize logs",
+    "stdin": "purple monkey dishwasherKERNEL PANIC",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@4@@@",
+      "@@@STEP_LOG_LINE@json.output[symbolizer-output.json]@{}@@@",
+      "@@@STEP_LOG_END@json.output[symbolizer-output.json]@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "launch/collect.0.process results.zbi-test-arm64 - Vim2",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@3@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_END@symbolized log@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[START_DIR]/fuchsia/out/default/linux_x64/symbolize",
+      "-llvm-symbolizer-restart-interval",
+      "2",
+      "-level",
+      "debug",
+      "-build-id-dir",
+      "[START_DIR]/fuchsia/out/default.zircon/.build-id",
+      "-build-id-dir",
+      "[START_DIR]/fuchsia/prebuilt/third_party/clang/linux-x64/lib/debug/.build-id",
+      "-llvm-symbolizer",
+      "[START_DIR]/fuchsia/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer",
+      "-json-output",
+      "/path/to/tmp/json"
+    ],
+    "infra_step": true,
+    "name": "launch/collect.0.process results.zbi-test-arm64 - Vim2.symbolize logs",
+    "stdin": "purple monkey dishwasherKERNEL PANIC",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
       "@@@STEP_LOG_LINE@json.output[symbolizer-output.json]@{}@@@",
@@ -2031,7 +2434,9 @@
     "name": "launch/collect.0.failed tasks",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_LINK@zbi-test-x64 - QEMU (attempt 0)@https://example.swarmingserver.appspot.com/task?id=123@@@"
+      "@@@STEP_LINK@zbi-test-arm64 - AEMU (attempt 0)@https://example.swarmingserver.appspot.com/task?id=125@@@",
+      "@@@STEP_LINK@zbi-test-arm64 - QEMU (attempt 0)@https://example.swarmingserver.appspot.com/task?id=123@@@",
+      "@@@STEP_LINK@zbi-test-arm64 - Vim2 (attempt 0)@https://example.swarmingserver.appspot.com/task?id=127@@@"
     ]
   },
   {
@@ -2039,7 +2444,7 @@
     "name": "launch/collect.1",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@1 launched, 1 failed, 1 failed after max attempts@@@"
+      "@@@STEP_SUMMARY_TEXT@3 launched, 3 failed, 3 failed after max attempts@@@"
     ]
   },
   {
@@ -2051,10 +2456,10 @@
   },
   {
     "cmd": [],
-    "name": "launch/collect.1.launch.zbi-test-x64 - QEMU (attempt 1)",
+    "name": "launch/collect.1.launch.zbi-test-arm64 - QEMU (attempt 1)",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_LINK@Swarming task@https://example.swarmingserver.appspot.com/task?id=456@@@"
+      "@@@STEP_LINK@Swarming task@https://example.swarmingserver.appspot.com/task?id=124@@@"
     ]
   },
   {
@@ -2064,27 +2469,103 @@
       "-server",
       "https://example.swarmingserver.appspot.com",
       "-json-input",
-      "{\"requests\": [{\"name\": \"zbi-test-x64 - QEMU\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:QEMU-x64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"cipd_input\": {\"packages\": [{\"package_name\": \"fuchsia/third_party/qemu/${platform}\", \"path\": \"qemu\", \"version\": \"git_revision:533bf2563d0213a7e002d9fcde75519d30ffa70f\"}]}, \"command\": [\"./botanist\", \"-level\", \"debug\", \"qemu\", \"-type\", \"qemu\", \"-qemu-dir\", \"./qemu/bin\", \"-images\", \"images.json\", \"-arch\", \"x64\", \"-use-kvm\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"kvm\", \"value\": \"1\"}, {\"key\": \"os\", \"value\": \"Debian\"}, {\"key\": \"cpu\", \"value\": \"x64\"}, {\"key\": \"pool\", \"value\": \"fuchsia.tests\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": []}}]}]}",
+      "{\"requests\": [{\"name\": \"zbi-test-arm64 - QEMU\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:QEMU-arm64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"cipd_input\": {\"packages\": [{\"package_name\": \"fuchsia/third_party/qemu/${platform}\", \"path\": \"qemu\", \"version\": \"git_revision:533bf2563d0213a7e002d9fcde75519d30ffa70f\"}]}, \"command\": [\"./botanist\", \"-level\", \"debug\", \"run\", \"-images\", \"images.json\", \"-serial-log\", \"serial.txt\", \"-config\", \"./qemu.json\", \"-netboot\", \"./seriallistener\", \"-timeout\", \"5m\", \"-stdout=False\", \"-success\", \"purple monkey dishwasher\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"kvm\", \"value\": \"1\"}, {\"key\": \"os\", \"value\": \"Debian\"}, {\"key\": \"cpu\", \"value\": \"arm64\"}, {\"key\": \"pool\", \"value\": \"fuchsia.tests\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": [\"serial.txt\"]}}]}]}",
       "-json-output",
       "/path/to/tmp/json",
       "-cancel-extra-tasks"
     ],
     "infra_step": true,
-    "name": "launch/collect.1.launch.zbi-test-x64 - QEMU (attempt 1).trigger",
+    "name": "launch/collect.1.launch.zbi-test-arm64 - QEMU (attempt 1).trigger",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"tasks\": [@@@",
       "@@@STEP_LOG_LINE@json.output@    {@@@",
       "@@@STEP_LOG_LINE@json.output@      \"request\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"name\": \"zbi-test-x64 - QEMU\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"name\": \"zbi-test-arm64 - QEMU\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"456\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"124\"@@@",
       "@@@STEP_LOG_LINE@json.output@    }@@@",
       "@@@STEP_LOG_LINE@json.output@  ]@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
-      "@@@STEP_LINK@task UI: zbi-test-x64 - QEMU@https://example.swarmingserver.appspot.com/task?id=456@@@"
+      "@@@STEP_LINK@task UI: zbi-test-arm64 - QEMU@https://example.swarmingserver.appspot.com/task?id=124@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "launch/collect.1.launch.zbi-test-arm64 - Vim2 (attempt 1)",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@3@@@",
+      "@@@STEP_LINK@Swarming task@https://example.swarmingserver.appspot.com/task?id=128@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[CACHE]/swarming_client/swarming",
+      "spawn-tasks",
+      "-server",
+      "https://example.swarmingserver.appspot.com",
+      "-json-input",
+      "{\"requests\": [{\"name\": \"zbi-test-arm64 - Vim2\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:Vim2-arm64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"command\": [\"./botanist\", \"-level\", \"debug\", \"run\", \"-images\", \"images.json\", \"-serial-log\", \"serial.txt\", \"-config\", \"/etc/botanist/config.json\", \"-netboot\", \"./seriallistener\", \"-timeout\", \"5m\", \"-stdout=True\", \"-success\", \"purple monkey dishwasher\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"pool\", \"value\": \"fuchsia.tests\"}, {\"key\": \"device_type\", \"value\": \"Vim2\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": [\"serial.txt\"]}}]}]}",
+      "-json-output",
+      "/path/to/tmp/json",
+      "-cancel-extra-tasks"
+    ],
+    "infra_step": true,
+    "name": "launch/collect.1.launch.zbi-test-arm64 - Vim2 (attempt 1).trigger",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@4@@@",
+      "@@@STEP_LOG_LINE@json.output@{@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"tasks\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@    {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"request\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"name\": \"zbi-test-arm64 - Vim2\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      }, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"128\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  ]@@@",
+      "@@@STEP_LOG_LINE@json.output@}@@@",
+      "@@@STEP_LOG_END@json.output@@@",
+      "@@@STEP_LINK@task UI: zbi-test-arm64 - Vim2@https://example.swarmingserver.appspot.com/task?id=128@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "launch/collect.1.launch.zbi-test-arm64 - AEMU (attempt 1)",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@3@@@",
+      "@@@STEP_LINK@Swarming task@https://example.swarmingserver.appspot.com/task?id=126@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[CACHE]/swarming_client/swarming",
+      "spawn-tasks",
+      "-server",
+      "https://example.swarmingserver.appspot.com",
+      "-json-input",
+      "{\"requests\": [{\"name\": \"zbi-test-arm64 - AEMU\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:AEMU-arm64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"cipd_input\": {\"packages\": [{\"package_name\": \"fuchsia/third_party/aemu/${platform}\", \"path\": \"aemu/bin\", \"version\": \"git_revision:de95df869556006ad87f402110aa835d03835060\"}]}, \"command\": [\"./botanist\", \"-level\", \"debug\", \"run\", \"-images\", \"images.json\", \"-serial-log\", \"serial.txt\", \"-config\", \"./qemu.json\", \"-netboot\", \"./seriallistener\", \"-timeout\", \"5m\", \"-stdout=False\", \"-success\", \"purple monkey dishwasher\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"kvm\", \"value\": \"1\"}, {\"key\": \"os\", \"value\": \"Debian\"}, {\"key\": \"cpu\", \"value\": \"arm64\"}, {\"key\": \"pool\", \"value\": \"fuchsia.tests\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": [\"serial.txt\"]}}]}]}",
+      "-json-output",
+      "/path/to/tmp/json",
+      "-cancel-extra-tasks"
+    ],
+    "infra_step": true,
+    "name": "launch/collect.1.launch.zbi-test-arm64 - AEMU (attempt 1).trigger",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@4@@@",
+      "@@@STEP_LOG_LINE@json.output@{@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"tasks\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@    {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"request\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"name\": \"zbi-test-arm64 - AEMU\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      }, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"126\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  ]@@@",
+      "@@@STEP_LOG_LINE@json.output@}@@@",
+      "@@@STEP_LOG_END@json.output@@@",
+      "@@@STEP_LINK@task UI: zbi-test-arm64 - AEMU@https://example.swarmingserver.appspot.com/task?id=126@@@"
     ]
   },
   {
@@ -2097,35 +2578,81 @@
       "/path/to/tmp/json",
       "-task-output-stdout",
       "json",
-      "456"
+      "-output-dir",
+      "[CLEANUP]/swarming_tmp_5",
+      "-timeout",
+      "5m",
+      "124",
+      "128",
+      "126"
     ],
     "infra_step": true,
     "name": "launch/collect.1.collect",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"456\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"output\": \"not success\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"124\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"output\": \"purple monkey dishwasherKERNEL PANIC\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"outputs\": [], @@@",
       "@@@STEP_LOG_LINE@json.output@    \"results\": {@@@",
       "@@@STEP_LOG_LINE@json.output@      \"bot_id\": \"vm-123\", @@@",
       "@@@STEP_LOG_LINE@json.output@      \"duration\": 62.35, @@@",
       "@@@STEP_LOG_LINE@json.output@      \"exit_code\": 0, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"name\": \"zbi-test-x64 - QEMU\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"name\": \"zbi-test-arm64 - QEMU\", @@@",
       "@@@STEP_LOG_LINE@json.output@      \"outputs_ref\": {@@@",
       "@@@STEP_LOG_LINE@json.output@        \"isolated\": \"abc123\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"namespace\": \"default-gzip\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }, @@@",
       "@@@STEP_LOG_LINE@json.output@      \"state\": \"COMPLETED\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"456\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"124\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"126\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"output\": \"purple monkey dishwasherKERNEL PANIC\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"outputs\": [], @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"results\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"bot_id\": \"vm-123\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"duration\": 62.35, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"exit_code\": 0, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"name\": \"zbi-test-arm64 - AEMU\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"outputs_ref\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"isolated\": \"abc123\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"namespace\": \"default-gzip\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      }, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"state\": \"COMPLETED\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"126\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"128\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"output\": \"purple monkey dishwasherKERNEL PANIC\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"outputs\": [], @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"results\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"bot_id\": \"vm-123\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"duration\": 62.35, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"exit_code\": 0, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"name\": \"zbi-test-arm64 - Vim2\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"outputs_ref\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"isolated\": \"abc123\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"namespace\": \"default-gzip\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      }, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"state\": \"COMPLETED\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"128\"@@@",
       "@@@STEP_LOG_LINE@json.output@    }@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
-      "@@@STEP_LOG_LINE@task stdout+stderr: zbi-test-x64 - QEMU@not success@@@",
-      "@@@STEP_LOG_END@task stdout+stderr: zbi-test-x64 - QEMU@@@",
-      "@@@STEP_LINK@task isolated outputs: zbi-test-x64 - QEMU@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@"
+      "@@@STEP_LOG_LINE@task stdout+stderr: zbi-test-arm64 - AEMU@purple monkey dishwasherKERNEL PANIC@@@",
+      "@@@STEP_LOG_END@task stdout+stderr: zbi-test-arm64 - AEMU@@@",
+      "@@@STEP_LOG_LINE@task stdout+stderr: zbi-test-arm64 - QEMU@purple monkey dishwasherKERNEL PANIC@@@",
+      "@@@STEP_LOG_END@task stdout+stderr: zbi-test-arm64 - QEMU@@@",
+      "@@@STEP_LOG_LINE@task stdout+stderr: zbi-test-arm64 - Vim2@purple monkey dishwasherKERNEL PANIC@@@",
+      "@@@STEP_LOG_END@task stdout+stderr: zbi-test-arm64 - Vim2@@@",
+      "@@@STEP_LINK@task isolated outputs: zbi-test-arm64 - AEMU@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@",
+      "@@@STEP_LINK@task isolated outputs: zbi-test-arm64 - QEMU@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@",
+      "@@@STEP_LINK@task isolated outputs: zbi-test-arm64 - Vim2@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@"
     ]
   },
   {
@@ -2137,7 +2664,7 @@
   },
   {
     "cmd": [],
-    "name": "launch/collect.1.process results.zbi-test-x64 - QEMU",
+    "name": "launch/collect.1.process results.zbi-test-arm64 - AEMU",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
       "@@@STEP_LOG_LINE@symbolized log@blah@@@",
@@ -2162,8 +2689,78 @@
       "/path/to/tmp/json"
     ],
     "infra_step": true,
-    "name": "launch/collect.1.process results.zbi-test-x64 - QEMU.symbolize logs",
-    "stdin": "not success",
+    "name": "launch/collect.1.process results.zbi-test-arm64 - AEMU.symbolize logs",
+    "stdin": "purple monkey dishwasherKERNEL PANIC",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@4@@@",
+      "@@@STEP_LOG_LINE@json.output[symbolizer-output.json]@{}@@@",
+      "@@@STEP_LOG_END@json.output[symbolizer-output.json]@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "launch/collect.1.process results.zbi-test-arm64 - QEMU",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@3@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_END@symbolized log@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[START_DIR]/fuchsia/out/default/linux_x64/symbolize",
+      "-llvm-symbolizer-restart-interval",
+      "2",
+      "-level",
+      "debug",
+      "-build-id-dir",
+      "[START_DIR]/fuchsia/out/default.zircon/.build-id",
+      "-build-id-dir",
+      "[START_DIR]/fuchsia/prebuilt/third_party/clang/linux-x64/lib/debug/.build-id",
+      "-llvm-symbolizer",
+      "[START_DIR]/fuchsia/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer",
+      "-json-output",
+      "/path/to/tmp/json"
+    ],
+    "infra_step": true,
+    "name": "launch/collect.1.process results.zbi-test-arm64 - QEMU.symbolize logs",
+    "stdin": "purple monkey dishwasherKERNEL PANIC",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@4@@@",
+      "@@@STEP_LOG_LINE@json.output[symbolizer-output.json]@{}@@@",
+      "@@@STEP_LOG_END@json.output[symbolizer-output.json]@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "launch/collect.1.process results.zbi-test-arm64 - Vim2",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@3@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_END@symbolized log@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[START_DIR]/fuchsia/out/default/linux_x64/symbolize",
+      "-llvm-symbolizer-restart-interval",
+      "2",
+      "-level",
+      "debug",
+      "-build-id-dir",
+      "[START_DIR]/fuchsia/out/default.zircon/.build-id",
+      "-build-id-dir",
+      "[START_DIR]/fuchsia/prebuilt/third_party/clang/linux-x64/lib/debug/.build-id",
+      "-llvm-symbolizer",
+      "[START_DIR]/fuchsia/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer",
+      "-json-output",
+      "/path/to/tmp/json"
+    ],
+    "infra_step": true,
+    "name": "launch/collect.1.process results.zbi-test-arm64 - Vim2.symbolize logs",
+    "stdin": "purple monkey dishwasherKERNEL PANIC",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
       "@@@STEP_LOG_LINE@json.output[symbolizer-output.json]@{}@@@",
@@ -2182,7 +2779,9 @@
     "name": "launch/collect.1.failed tasks",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_LINK@zbi-test-x64 - QEMU (attempt 1)@https://example.swarmingserver.appspot.com/task?id=456@@@"
+      "@@@STEP_LINK@zbi-test-arm64 - AEMU (attempt 1)@https://example.swarmingserver.appspot.com/task?id=126@@@",
+      "@@@STEP_LINK@zbi-test-arm64 - QEMU (attempt 1)@https://example.swarmingserver.appspot.com/task?id=124@@@",
+      "@@@STEP_LINK@zbi-test-arm64 - Vim2 (attempt 1)@https://example.swarmingserver.appspot.com/task?id=128@@@"
     ]
   },
   {
@@ -2203,13 +2802,13 @@
     "cmd": [],
     "name": "failures",
     "~followup_annotations": [
-      "@@@STEP_SUMMARY_TEXT@1 failed@@@",
+      "@@@STEP_SUMMARY_TEXT@3 failed@@@",
       "@@@STEP_FAILURE@@@"
     ]
   },
   {
     "cmd": [],
-    "name": "failures.zbi-test-x64 - QEMU",
+    "name": "failures.zbi-test-arm64 - QEMU",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_FAILURE@@@"
@@ -2217,10 +2816,10 @@
   },
   {
     "cmd": [],
-    "name": "failures.zbi-test-x64 - QEMU.attempt 0 (fail)",
+    "name": "failures.zbi-test-arm64 - QEMU.attempt 0 (fail)",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_SUMMARY_TEXT@failed to find success string@@@",
+      "@@@STEP_SUMMARY_TEXT@kernel panic@@@",
       "@@@STEP_LOG_LINE@symbolized log@blah@@@",
       "@@@STEP_LOG_LINE@symbolized log@blah@@@",
       "@@@STEP_LOG_END@symbolized log@@@",
@@ -2229,20 +2828,84 @@
   },
   {
     "cmd": [],
-    "name": "failures.zbi-test-x64 - QEMU.attempt 1 (fail)",
+    "name": "failures.zbi-test-arm64 - QEMU.attempt 1 (fail)",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_SUMMARY_TEXT@failed to find success string@@@",
+      "@@@STEP_SUMMARY_TEXT@kernel panic@@@",
       "@@@STEP_LOG_LINE@symbolized log@blah@@@",
       "@@@STEP_LOG_LINE@symbolized log@blah@@@",
       "@@@STEP_LOG_END@symbolized log@@@",
-      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=456@@@"
+      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=124@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "failures.zbi-test-arm64 - Vim2",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_FAILURE@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "failures.zbi-test-arm64 - Vim2.attempt 0 (fail)",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@",
+      "@@@STEP_SUMMARY_TEXT@kernel panic@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_END@symbolized log@@@",
+      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=127@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "failures.zbi-test-arm64 - Vim2.attempt 1 (fail)",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@",
+      "@@@STEP_SUMMARY_TEXT@kernel panic@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_END@symbolized log@@@",
+      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=128@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "failures.zbi-test-arm64 - AEMU",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_FAILURE@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "failures.zbi-test-arm64 - AEMU.attempt 0 (fail)",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@",
+      "@@@STEP_SUMMARY_TEXT@kernel panic@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_END@symbolized log@@@",
+      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=125@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "failures.zbi-test-arm64 - AEMU.attempt 1 (fail)",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@",
+      "@@@STEP_SUMMARY_TEXT@kernel panic@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_END@symbolized log@@@",
+      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=126@@@"
     ]
   },
   {
     "failure": {
       "failure": {},
-      "humanReason": "task(s) failed: zbi-test-x64 - QEMU"
+      "humanReason": "task(s) failed: zbi-test-arm64 - QEMU, zbi-test-arm64 - Vim2, zbi-test-arm64 - AEMU"
     },
     "name": "$result"
   }
diff --git a/recipes/zbi_test.expected/kernel_panic-x64-AEMU.json b/recipes/zbi_test.expected/kernel_panic-x64-AEMU.json
deleted file mode 100644
index 1671ab1..0000000
--- a/recipes/zbi_test.expected/kernel_panic-x64-AEMU.json
+++ /dev/null
@@ -1,2249 +0,0 @@
-[
-  {
-    "cmd": [],
-    "name": "checkout"
-  },
-  {
-    "cmd": [],
-    "name": "checkout.ensure jiri",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "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": "checkout.ensure jiri.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-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",
-      "[START_DIR]/fuchsia"
-    ],
-    "infra_step": true,
-    "name": "checkout.jiri init",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[START_DIR]/cipd/jiri/jiri",
-      "import",
-      "-vv",
-      "-time",
-      "-j=50",
-      "-name",
-      "integration",
-      "-revision",
-      "HEAD",
-      "manifest",
-      "https://fuchsia.googlesource.com/fuchsia"
-    ],
-    "cwd": "[START_DIR]/fuchsia",
-    "infra_step": true,
-    "name": "checkout.jiri import",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[START_DIR]/cipd/jiri/jiri",
-      "override",
-      "-vv",
-      "-time",
-      "-j=50",
-      "-revision",
-      "2d72510e447ab60a9728aeea2362d8be2cbd7789",
-      "fuchsia",
-      "https://fuchsia.googlesource.com/fuchsia"
-    ],
-    "cwd": "[START_DIR]/fuchsia",
-    "infra_step": true,
-    "name": "checkout.jiri override",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[START_DIR]/cipd/jiri/jiri",
-      "update",
-      "-vv",
-      "-time",
-      "-j=50",
-      "-autoupdate=false",
-      "-attempts=3",
-      "-run-hooks=false"
-    ],
-    "cwd": "[START_DIR]/fuchsia",
-    "infra_step": true,
-    "name": "checkout.jiri update",
-    "timeout": 1800,
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[START_DIR]/cipd/jiri/jiri",
-      "run-hooks",
-      "-vv",
-      "-time",
-      "-j=50",
-      "-attempts=3"
-    ],
-    "cwd": "[START_DIR]/fuchsia",
-    "infra_step": true,
-    "name": "checkout.jiri run-hooks",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[START_DIR]/cipd/jiri/jiri",
-      "source-manifest",
-      "-vv",
-      "-time",
-      "-j=50",
-      "/path/to/tmp/json"
-    ],
-    "cwd": "[START_DIR]/fuchsia",
-    "infra_step": true,
-    "name": "checkout.jiri source-manifest",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_LINE@json.output[source manifest]@{@@@",
-      "@@@STEP_LOG_LINE@json.output[source manifest]@  \"directories\": {@@@",
-      "@@@STEP_LOG_LINE@json.output[source manifest]@    \"manifest\": {@@@",
-      "@@@STEP_LOG_LINE@json.output[source manifest]@      \"git_checkout\": {@@@",
-      "@@@STEP_LOG_LINE@json.output[source manifest]@        \"repo_url\": \"https://fuchsia.googlesource.com/manifest\", @@@",
-      "@@@STEP_LOG_LINE@json.output[source manifest]@        \"revision\": \"4c2b0da3c06341db5cebe4d02c78c93c3b2bd78b\"@@@",
-      "@@@STEP_LOG_LINE@json.output[source manifest]@      }@@@",
-      "@@@STEP_LOG_LINE@json.output[source manifest]@    }@@@",
-      "@@@STEP_LOG_LINE@json.output[source manifest]@  }@@@",
-      "@@@STEP_LOG_LINE@json.output[source manifest]@}@@@",
-      "@@@STEP_LOG_END@json.output[source manifest]@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[START_DIR]/cipd/jiri/jiri",
-      "snapshot",
-      "-vv",
-      "-time",
-      "-j=50",
-      "[CLEANUP]/jiri.snapshot"
-    ],
-    "cwd": "[START_DIR]/fuchsia",
-    "infra_step": true,
-    "name": "checkout.jiri snapshot",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/jiri.snapshot",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[START_DIR]/fuchsia",
-    "infra_step": true,
-    "name": "checkout.read snapshot",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_END@jiri.snapshot@@@",
-      "@@@STEP_LOG_LINE@snapshot_contents@@@@",
-      "@@@STEP_LOG_END@snapshot_contents@@@"
-    ]
-  },
-  {
-    "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]/fuchsia/prebuilt/third_party/gn/linux-x64/gn",
-      "gen",
-      "[START_DIR]/fuchsia/out/default",
-      "--check",
-      "--args=import(\"//products/bringup.gni\")  base_package_labels+=[\"//garnet/tests/zircon:zbi_tests\",\"//bundles:infratools\"] goma_dir=\"[CACHE]/goma/client\" is_debug=true select_variant=[\"clang\"] target_cpu=\"x64\" use_goma=true"
-    ],
-    "cwd": "[START_DIR]/fuchsia",
-    "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]/fuchsia/out/default/zircon.json",
-      "/path/to/tmp/json"
-    ],
-    "cwd": "[START_DIR]/fuchsia",
-    "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]/fuchsia/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": [
-      "python",
-      "-u",
-      "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n",
-      "[START_DIR]/fuchsia/out/default/images.json",
-      "/path/to/tmp/json"
-    ],
-    "name": "build.read image manifest",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_LINE@json.output@[@@@",
-      "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"bootserver_pave\": [@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"--boot\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"--zircona\"@@@",
-      "@@@STEP_LOG_LINE@json.output@    ], @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"name\": \"zircon-a\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"fuchsia.zbi\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"type\": \"zbi\"@@@",
-      "@@@STEP_LOG_LINE@json.output@  }, @@@",
-      "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"name\": \"storage-full\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"fvm.blk\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"type\": \"blk\"@@@",
-      "@@@STEP_LOG_LINE@json.output@  }, @@@",
-      "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"bootserver_pave\": [@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"--fvm\"@@@",
-      "@@@STEP_LOG_LINE@json.output@    ], @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"name\": \"storage-sparse\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"fvm.sparse.blk\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"type\": \"blk\"@@@",
-      "@@@STEP_LOG_LINE@json.output@  }, @@@",
-      "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"bootserver_pave\": [@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"--efi\"@@@",
-      "@@@STEP_LOG_LINE@json.output@    ], @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"name\": \"efi\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"fuchsia.esp.blk\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"type\": \"blk\"@@@",
-      "@@@STEP_LOG_LINE@json.output@  }, @@@",
-      "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"bootserver_netboot\": [@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"--boot\"@@@",
-      "@@@STEP_LOG_LINE@json.output@    ], @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"name\": \"netboot\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"netboot.zbi\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"type\": \"zbi\"@@@",
-      "@@@STEP_LOG_LINE@json.output@  }, @@@",
-      "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"name\": \"archive\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"build-archive.tgz\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"type\": \"tgz\"@@@",
-      "@@@STEP_LOG_LINE@json.output@  }, @@@",
-      "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"name\": \"archive\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"build-archive.zip\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"type\": \"zip\"@@@",
-      "@@@STEP_LOG_LINE@json.output@  }, @@@",
-      "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"name\": \"qemu-kernel\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"multiboot.bin\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"type\": \"kernel\"@@@",
-      "@@@STEP_LOG_LINE@json.output@  }, @@@",
-      "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"name\": \"symbol-archive\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"symbol-archive.tgz\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"type\": \"tgz\"@@@",
-      "@@@STEP_LOG_LINE@json.output@  }, @@@",
-      "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"bootserver_pave\": [@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"--zircon-r\"@@@",
-      "@@@STEP_LOG_LINE@json.output@    ], @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"name\": \"zircon-r\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"zircon-r.zbi\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"type\": \"zbi\"@@@",
-      "@@@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]/fuchsia/out/default/zbi_tests.json",
-      "/path/to/tmp/json"
-    ],
-    "name": "build.read zbi test 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@    \"name\": \"zbi-test-x64\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../default.zircon/zbi-test-x64.zbi\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"success_string\": \"purple monkey dishwasher\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"task_name\": \"zbi-test-x64 - AEMU\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"type\": \"zbi\"@@@",
-      "@@@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]/fuchsia/prebuilt/third_party/ninja/linux_x64/ninja",
-      "-C",
-      "[START_DIR]/fuchsia/out/default.zircon",
-      "-j",
-      "80",
-      "legacy-host_tests",
-      "manifest-$cpu",
-      "zbi-test-x64.zbi"
-    ],
-    "name": "build.ninja.zircon",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@"
-    ]
-  },
-  {
-    "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]/fuchsia/prebuilt/third_party/ninja/linux_x64/ninja",
-      "-C",
-      "[START_DIR]/fuchsia/out/default",
-      "-j",
-      "80",
-      "bundles:infratools",
-      "multiboot.bin"
-    ],
-    "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": [
-      "vpython",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "{\"build_info\": {\"build_id\": 8945511751514863184, \"time_stamp\": \"2012-05-14 12:53:21.500000\", \"builder\": \"builder\", \"time_stamp_int\": 1337000003000}}",
-      "[CACHE]/goma/client/goma_stats.json"
-    ],
-    "infra_step": true,
-    "name": "build.ninja.post_goma.write goma_stats.json",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_LOG_LINE@goma_stats.json@{\"build_info\": {\"build_id\": 8945511751514863184, \"time_stamp\": \"2012-05-14 12:53:21.500000\", \"builder\": \"builder\", \"time_stamp_int\": 1337000003000}}@@@",
-      "@@@STEP_LOG_END@goma_stats.json@@@",
-      "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"build_info\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"build_id\": 8945511751514863184, @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"time_stamp\": \"2012-05-14 12:53:21.500000\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"builder\": \"builder\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"time_stamp_int\": 1337000003000@@@",
-      "@@@STEP_LOG_LINE@json.output@    }@@@",
-      "@@@STEP_LOG_LINE@json.output@}@@@",
-      "@@@STEP_LOG_END@json.output@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "build.ninja.post_goma.ensure bqupload",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@3@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "cipd",
-      "ensure",
-      "-root",
-      "[START_DIR]/cipd/bqupload",
-      "-ensure-file",
-      "infra/tools/bqupload/${platform} git_revision:d85fe78f303c3e969f815121e17c8b08868039ef",
-      "-json-output",
-      "/path/to/tmp/json"
-    ],
-    "infra_step": true,
-    "name": "build.ninja.post_goma.ensure bqupload.ensure_installed",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@4@@@",
-      "@@@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:d85\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"package\": \"infra/tools/bqupload/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/bqupload/bqupload",
-      "fuchsia-infra.artifacts.builds_beta_goma",
-      "[CACHE]/goma/client/goma_stats.json"
-    ],
-    "name": "build.ninja.post_goma.upload goma_stats_to BQ: fuchsia-infra/artifacts/builds_beta_goma",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@3@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "prepare test: zbi-test-x64 - AEMU"
-  },
-  {
-    "cmd": [
-      "python",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/symlink.py",
-      "--link-json",
-      "{\"[START_DIR]/fuchsia/out/default/../default.zircon/zbi-test-x64.zbi\": [\"[CLEANUP]/isolate_tmp_2/zbi-test-x64.zbi\"], \"[START_DIR]/fuchsia/out/default/linux_x64/botanist\": [\"[CLEANUP]/isolate_tmp_2/botanist\"], \"[START_DIR]/fuchsia/out/default/multiboot.bin\": [\"[CLEANUP]/isolate_tmp_2/multiboot.bin\"]}"
-    ],
-    "infra_step": true,
-    "name": "prepare test: zbi-test-x64 - AEMU.create tree of images",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[\n  {\n    \"name\": \"zircon-a\", \n    \"success_string\": \"purple monkey dishwasher\", \n    \"task_name\": \"zbi-test-x64 - AEMU\", \n    \"path\": \"zbi-test-x64.zbi\", \n    \"type\": \"zbi\", \n    \"cpu\": \"x64\"\n  }, \n  {\n    \"path\": \"multiboot.bin\", \n    \"type\": \"kernel\", \n    \"name\": \"qemu-kernel\"\n  }\n]",
-      "[CLEANUP]/isolate_tmp_2/images.json"
-    ],
-    "infra_step": true,
-    "name": "prepare test: zbi-test-x64 - AEMU.write image manifest",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_LINE@images.json@[@@@",
-      "@@@STEP_LOG_LINE@images.json@  {@@@",
-      "@@@STEP_LOG_LINE@images.json@    \"name\": \"zircon-a\", @@@",
-      "@@@STEP_LOG_LINE@images.json@    \"success_string\": \"purple monkey dishwasher\", @@@",
-      "@@@STEP_LOG_LINE@images.json@    \"task_name\": \"zbi-test-x64 - AEMU\", @@@",
-      "@@@STEP_LOG_LINE@images.json@    \"path\": \"zbi-test-x64.zbi\", @@@",
-      "@@@STEP_LOG_LINE@images.json@    \"type\": \"zbi\", @@@",
-      "@@@STEP_LOG_LINE@images.json@    \"cpu\": \"x64\"@@@",
-      "@@@STEP_LOG_LINE@images.json@  }, @@@",
-      "@@@STEP_LOG_LINE@images.json@  {@@@",
-      "@@@STEP_LOG_LINE@images.json@    \"path\": \"multiboot.bin\", @@@",
-      "@@@STEP_LOG_LINE@images.json@    \"type\": \"kernel\", @@@",
-      "@@@STEP_LOG_LINE@images.json@    \"name\": \"qemu-kernel\"@@@",
-      "@@@STEP_LOG_LINE@images.json@  }@@@",
-      "@@@STEP_LOG_LINE@images.json@]@@@",
-      "@@@STEP_LOG_END@images.json@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "prepare test: zbi-test-x64 - AEMU.ensure isolated",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "cipd",
-      "ensure",
-      "-root",
-      "[CACHE]/isolated_client",
-      "-ensure-file",
-      "infra/tools/luci/isolated/${platform} git_revision:305e79001db1846906c7136d90a863bee5bd3bfc",
-      "-json-output",
-      "/path/to/tmp/json"
-    ],
-    "infra_step": true,
-    "name": "prepare test: zbi-test-x64 - AEMU.ensure isolated.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-git_revision:305\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"package\": \"infra/tools/luci/isolated/resolved-platform\"@@@",
-      "@@@STEP_LOG_LINE@json.output@      }@@@",
-      "@@@STEP_LOG_LINE@json.output@    ]@@@",
-      "@@@STEP_LOG_LINE@json.output@  }@@@",
-      "@@@STEP_LOG_LINE@json.output@}@@@",
-      "@@@STEP_LOG_END@json.output@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[CACHE]/isolated_client/isolated",
-      "archive",
-      "-verbose",
-      "-isolate-server",
-      "https://example.isolateserver.appspot.com",
-      "-namespace",
-      "default-gzip",
-      "-dump-hash",
-      "/path/to/tmp/",
-      "-dirs",
-      "[CLEANUP]/isolate_tmp_2:."
-    ],
-    "infra_step": true,
-    "name": "prepare test: zbi-test-x64 - AEMU.isolate images",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LINK@isolated UI@https://example.isolateserver.appspot.com/browse?namespace=default-gzip&hash=%5Bdummy+hash%5D@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect"
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.0",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@1 launched, 1 failed@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.0.launch",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.0.launch.zbi-test-x64 - AEMU (attempt 0)",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_LINK@Swarming task@https://example.swarmingserver.appspot.com/task?id=123@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.0.launch.zbi-test-x64 - AEMU (attempt 0).ensure swarming",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@4@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "cipd",
-      "ensure",
-      "-root",
-      "[CACHE]/swarming_client",
-      "-ensure-file",
-      "infra/tools/luci/swarming/${platform} git_revision:67b11ada44a625008a2db5cb49ad453494b16ba1",
-      "-json-output",
-      "/path/to/tmp/json"
-    ],
-    "infra_step": true,
-    "name": "launch/collect.0.launch.zbi-test-x64 - AEMU (attempt 0).ensure swarming.ensure_installed",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@5@@@",
-      "@@@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:67b\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"package\": \"infra/tools/luci/swarming/resolved-platform\"@@@",
-      "@@@STEP_LOG_LINE@json.output@      }@@@",
-      "@@@STEP_LOG_LINE@json.output@    ]@@@",
-      "@@@STEP_LOG_LINE@json.output@  }@@@",
-      "@@@STEP_LOG_LINE@json.output@}@@@",
-      "@@@STEP_LOG_END@json.output@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[CACHE]/swarming_client/swarming",
-      "spawn-tasks",
-      "-server",
-      "https://example.swarmingserver.appspot.com",
-      "-json-input",
-      "{\"requests\": [{\"name\": \"zbi-test-x64 - AEMU\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:AEMU-x64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"cipd_input\": {\"packages\": [{\"package_name\": \"fuchsia/third_party/aemu/${platform}\", \"path\": \"aemu/bin\", \"version\": \"git_revision:de95df869556006ad87f402110aa835d03835060\"}]}, \"command\": [\"./botanist\", \"-level\", \"debug\", \"qemu\", \"-type\", \"aemu\", \"-qemu-dir\", \"./aemu/bin\", \"-images\", \"images.json\", \"-arch\", \"x64\", \"-use-kvm\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"kvm\", \"value\": \"1\"}, {\"key\": \"os\", \"value\": \"Debian\"}, {\"key\": \"cpu\", \"value\": \"x64\"}, {\"key\": \"pool\", \"value\": \"fuchsia.tests\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": []}}]}]}",
-      "-json-output",
-      "/path/to/tmp/json",
-      "-cancel-extra-tasks"
-    ],
-    "infra_step": true,
-    "name": "launch/collect.0.launch.zbi-test-x64 - AEMU (attempt 0).trigger",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@4@@@",
-      "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"tasks\": [@@@",
-      "@@@STEP_LOG_LINE@json.output@    {@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"request\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"name\": \"zbi-test-x64 - AEMU\"@@@",
-      "@@@STEP_LOG_LINE@json.output@      }, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"123\"@@@",
-      "@@@STEP_LOG_LINE@json.output@    }@@@",
-      "@@@STEP_LOG_LINE@json.output@  ]@@@",
-      "@@@STEP_LOG_LINE@json.output@}@@@",
-      "@@@STEP_LOG_END@json.output@@@",
-      "@@@STEP_LINK@task UI: zbi-test-x64 - AEMU@https://example.swarmingserver.appspot.com/task?id=123@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[CACHE]/swarming_client/swarming",
-      "collect",
-      "-server",
-      "https://example.swarmingserver.appspot.com",
-      "-task-summary-json",
-      "/path/to/tmp/json",
-      "-task-output-stdout",
-      "json",
-      "123"
-    ],
-    "infra_step": true,
-    "name": "launch/collect.0.collect",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"123\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"output\": \"purple monkey dishwasherKERNEL PANIC\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"outputs\": [], @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"results\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"bot_id\": \"vm-123\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"duration\": 62.35, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"exit_code\": 0, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"name\": \"zbi-test-x64 - AEMU\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"outputs_ref\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"isolated\": \"abc123\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"namespace\": \"default-gzip\"@@@",
-      "@@@STEP_LOG_LINE@json.output@      }, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"state\": \"COMPLETED\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"123\"@@@",
-      "@@@STEP_LOG_LINE@json.output@    }@@@",
-      "@@@STEP_LOG_LINE@json.output@  }@@@",
-      "@@@STEP_LOG_LINE@json.output@}@@@",
-      "@@@STEP_LOG_END@json.output@@@",
-      "@@@STEP_LOG_LINE@task stdout+stderr: zbi-test-x64 - AEMU@purple monkey dishwasherKERNEL PANIC@@@",
-      "@@@STEP_LOG_END@task stdout+stderr: zbi-test-x64 - AEMU@@@",
-      "@@@STEP_LINK@task isolated outputs: zbi-test-x64 - AEMU@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.0.process results",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.0.process results.zbi-test-x64 - AEMU",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
-      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
-      "@@@STEP_LOG_END@symbolized log@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[START_DIR]/fuchsia/out/default/linux_x64/symbolize",
-      "-llvm-symbolizer-restart-interval",
-      "2",
-      "-level",
-      "debug",
-      "-build-id-dir",
-      "[START_DIR]/fuchsia/out/default.zircon/.build-id",
-      "-build-id-dir",
-      "[START_DIR]/fuchsia/prebuilt/third_party/clang/linux-x64/lib/debug/.build-id",
-      "-llvm-symbolizer",
-      "[START_DIR]/fuchsia/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer",
-      "-json-output",
-      "/path/to/tmp/json"
-    ],
-    "infra_step": true,
-    "name": "launch/collect.0.process results.zbi-test-x64 - AEMU.symbolize logs",
-    "stdin": "purple monkey dishwasherKERNEL PANIC",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@4@@@",
-      "@@@STEP_LOG_LINE@json.output[symbolizer-output.json]@{}@@@",
-      "@@@STEP_LOG_END@json.output[symbolizer-output.json]@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.0.process results.always pass",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@3@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.0.failed tasks",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_LINK@zbi-test-x64 - AEMU (attempt 0)@https://example.swarmingserver.appspot.com/task?id=123@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.1",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@1 launched, 1 failed, 1 failed after max attempts@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.1.launch",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.1.launch.zbi-test-x64 - AEMU (attempt 1)",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_LINK@Swarming task@https://example.swarmingserver.appspot.com/task?id=456@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[CACHE]/swarming_client/swarming",
-      "spawn-tasks",
-      "-server",
-      "https://example.swarmingserver.appspot.com",
-      "-json-input",
-      "{\"requests\": [{\"name\": \"zbi-test-x64 - AEMU\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:AEMU-x64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"cipd_input\": {\"packages\": [{\"package_name\": \"fuchsia/third_party/aemu/${platform}\", \"path\": \"aemu/bin\", \"version\": \"git_revision:de95df869556006ad87f402110aa835d03835060\"}]}, \"command\": [\"./botanist\", \"-level\", \"debug\", \"qemu\", \"-type\", \"aemu\", \"-qemu-dir\", \"./aemu/bin\", \"-images\", \"images.json\", \"-arch\", \"x64\", \"-use-kvm\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"kvm\", \"value\": \"1\"}, {\"key\": \"os\", \"value\": \"Debian\"}, {\"key\": \"cpu\", \"value\": \"x64\"}, {\"key\": \"pool\", \"value\": \"fuchsia.tests\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": []}}]}]}",
-      "-json-output",
-      "/path/to/tmp/json",
-      "-cancel-extra-tasks"
-    ],
-    "infra_step": true,
-    "name": "launch/collect.1.launch.zbi-test-x64 - AEMU (attempt 1).trigger",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@4@@@",
-      "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"tasks\": [@@@",
-      "@@@STEP_LOG_LINE@json.output@    {@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"request\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"name\": \"zbi-test-x64 - AEMU\"@@@",
-      "@@@STEP_LOG_LINE@json.output@      }, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"456\"@@@",
-      "@@@STEP_LOG_LINE@json.output@    }@@@",
-      "@@@STEP_LOG_LINE@json.output@  ]@@@",
-      "@@@STEP_LOG_LINE@json.output@}@@@",
-      "@@@STEP_LOG_END@json.output@@@",
-      "@@@STEP_LINK@task UI: zbi-test-x64 - AEMU@https://example.swarmingserver.appspot.com/task?id=456@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[CACHE]/swarming_client/swarming",
-      "collect",
-      "-server",
-      "https://example.swarmingserver.appspot.com",
-      "-task-summary-json",
-      "/path/to/tmp/json",
-      "-task-output-stdout",
-      "json",
-      "456"
-    ],
-    "infra_step": true,
-    "name": "launch/collect.1.collect",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"456\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"output\": \"purple monkey dishwasherKERNEL PANIC\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"outputs\": [], @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"results\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"bot_id\": \"vm-123\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"duration\": 62.35, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"exit_code\": 0, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"name\": \"zbi-test-x64 - AEMU\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"outputs_ref\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"isolated\": \"abc123\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"namespace\": \"default-gzip\"@@@",
-      "@@@STEP_LOG_LINE@json.output@      }, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"state\": \"COMPLETED\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"456\"@@@",
-      "@@@STEP_LOG_LINE@json.output@    }@@@",
-      "@@@STEP_LOG_LINE@json.output@  }@@@",
-      "@@@STEP_LOG_LINE@json.output@}@@@",
-      "@@@STEP_LOG_END@json.output@@@",
-      "@@@STEP_LOG_LINE@task stdout+stderr: zbi-test-x64 - AEMU@purple monkey dishwasherKERNEL PANIC@@@",
-      "@@@STEP_LOG_END@task stdout+stderr: zbi-test-x64 - AEMU@@@",
-      "@@@STEP_LINK@task isolated outputs: zbi-test-x64 - AEMU@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.1.process results",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.1.process results.zbi-test-x64 - AEMU",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
-      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
-      "@@@STEP_LOG_END@symbolized log@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[START_DIR]/fuchsia/out/default/linux_x64/symbolize",
-      "-llvm-symbolizer-restart-interval",
-      "2",
-      "-level",
-      "debug",
-      "-build-id-dir",
-      "[START_DIR]/fuchsia/out/default.zircon/.build-id",
-      "-build-id-dir",
-      "[START_DIR]/fuchsia/prebuilt/third_party/clang/linux-x64/lib/debug/.build-id",
-      "-llvm-symbolizer",
-      "[START_DIR]/fuchsia/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer",
-      "-json-output",
-      "/path/to/tmp/json"
-    ],
-    "infra_step": true,
-    "name": "launch/collect.1.process results.zbi-test-x64 - AEMU.symbolize logs",
-    "stdin": "purple monkey dishwasherKERNEL PANIC",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@4@@@",
-      "@@@STEP_LOG_LINE@json.output[symbolizer-output.json]@{}@@@",
-      "@@@STEP_LOG_END@json.output[symbolizer-output.json]@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.1.process results.always pass",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@3@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.1.failed tasks",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_LINK@zbi-test-x64 - AEMU (attempt 1)@https://example.swarmingserver.appspot.com/task?id=456@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "passes",
-    "~followup_annotations": [
-      "@@@STEP_SUMMARY_TEXT@0 passed@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "flakes",
-    "~followup_annotations": [
-      "@@@STEP_SUMMARY_TEXT@0 flaked@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "failures",
-    "~followup_annotations": [
-      "@@@STEP_SUMMARY_TEXT@1 failed@@@",
-      "@@@STEP_FAILURE@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "failures.zbi-test-x64 - AEMU",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_FAILURE@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "failures.zbi-test-x64 - AEMU.attempt 0 (fail)",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_SUMMARY_TEXT@kernel panic@@@",
-      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
-      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
-      "@@@STEP_LOG_END@symbolized log@@@",
-      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=123@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "failures.zbi-test-x64 - AEMU.attempt 1 (fail)",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_SUMMARY_TEXT@kernel panic@@@",
-      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
-      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
-      "@@@STEP_LOG_END@symbolized log@@@",
-      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=456@@@"
-    ]
-  },
-  {
-    "failure": {
-      "failure": {},
-      "humanReason": "task(s) failed: zbi-test-x64 - AEMU"
-    },
-    "name": "$result"
-  }
-]
\ No newline at end of file
diff --git a/recipes/zbi_test.expected/kernel_panic-x64-QEMU.json b/recipes/zbi_test.expected/kernel_panic-x64-QEMU.json
deleted file mode 100644
index b7d74a8..0000000
--- a/recipes/zbi_test.expected/kernel_panic-x64-QEMU.json
+++ /dev/null
@@ -1,2249 +0,0 @@
-[
-  {
-    "cmd": [],
-    "name": "checkout"
-  },
-  {
-    "cmd": [],
-    "name": "checkout.ensure jiri",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "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": "checkout.ensure jiri.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-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",
-      "[START_DIR]/fuchsia"
-    ],
-    "infra_step": true,
-    "name": "checkout.jiri init",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[START_DIR]/cipd/jiri/jiri",
-      "import",
-      "-vv",
-      "-time",
-      "-j=50",
-      "-name",
-      "integration",
-      "-revision",
-      "HEAD",
-      "manifest",
-      "https://fuchsia.googlesource.com/fuchsia"
-    ],
-    "cwd": "[START_DIR]/fuchsia",
-    "infra_step": true,
-    "name": "checkout.jiri import",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[START_DIR]/cipd/jiri/jiri",
-      "override",
-      "-vv",
-      "-time",
-      "-j=50",
-      "-revision",
-      "2d72510e447ab60a9728aeea2362d8be2cbd7789",
-      "fuchsia",
-      "https://fuchsia.googlesource.com/fuchsia"
-    ],
-    "cwd": "[START_DIR]/fuchsia",
-    "infra_step": true,
-    "name": "checkout.jiri override",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[START_DIR]/cipd/jiri/jiri",
-      "update",
-      "-vv",
-      "-time",
-      "-j=50",
-      "-autoupdate=false",
-      "-attempts=3",
-      "-run-hooks=false"
-    ],
-    "cwd": "[START_DIR]/fuchsia",
-    "infra_step": true,
-    "name": "checkout.jiri update",
-    "timeout": 1800,
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[START_DIR]/cipd/jiri/jiri",
-      "run-hooks",
-      "-vv",
-      "-time",
-      "-j=50",
-      "-attempts=3"
-    ],
-    "cwd": "[START_DIR]/fuchsia",
-    "infra_step": true,
-    "name": "checkout.jiri run-hooks",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[START_DIR]/cipd/jiri/jiri",
-      "source-manifest",
-      "-vv",
-      "-time",
-      "-j=50",
-      "/path/to/tmp/json"
-    ],
-    "cwd": "[START_DIR]/fuchsia",
-    "infra_step": true,
-    "name": "checkout.jiri source-manifest",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_LINE@json.output[source manifest]@{@@@",
-      "@@@STEP_LOG_LINE@json.output[source manifest]@  \"directories\": {@@@",
-      "@@@STEP_LOG_LINE@json.output[source manifest]@    \"manifest\": {@@@",
-      "@@@STEP_LOG_LINE@json.output[source manifest]@      \"git_checkout\": {@@@",
-      "@@@STEP_LOG_LINE@json.output[source manifest]@        \"repo_url\": \"https://fuchsia.googlesource.com/manifest\", @@@",
-      "@@@STEP_LOG_LINE@json.output[source manifest]@        \"revision\": \"4c2b0da3c06341db5cebe4d02c78c93c3b2bd78b\"@@@",
-      "@@@STEP_LOG_LINE@json.output[source manifest]@      }@@@",
-      "@@@STEP_LOG_LINE@json.output[source manifest]@    }@@@",
-      "@@@STEP_LOG_LINE@json.output[source manifest]@  }@@@",
-      "@@@STEP_LOG_LINE@json.output[source manifest]@}@@@",
-      "@@@STEP_LOG_END@json.output[source manifest]@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[START_DIR]/cipd/jiri/jiri",
-      "snapshot",
-      "-vv",
-      "-time",
-      "-j=50",
-      "[CLEANUP]/jiri.snapshot"
-    ],
-    "cwd": "[START_DIR]/fuchsia",
-    "infra_step": true,
-    "name": "checkout.jiri snapshot",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/jiri.snapshot",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[START_DIR]/fuchsia",
-    "infra_step": true,
-    "name": "checkout.read snapshot",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_END@jiri.snapshot@@@",
-      "@@@STEP_LOG_LINE@snapshot_contents@@@@",
-      "@@@STEP_LOG_END@snapshot_contents@@@"
-    ]
-  },
-  {
-    "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]/fuchsia/prebuilt/third_party/gn/linux-x64/gn",
-      "gen",
-      "[START_DIR]/fuchsia/out/default",
-      "--check",
-      "--args=import(\"//products/bringup.gni\")  base_package_labels+=[\"//garnet/tests/zircon:zbi_tests\",\"//bundles:infratools\"] goma_dir=\"[CACHE]/goma/client\" is_debug=true select_variant=[\"clang\"] target_cpu=\"x64\" use_goma=true"
-    ],
-    "cwd": "[START_DIR]/fuchsia",
-    "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]/fuchsia/out/default/zircon.json",
-      "/path/to/tmp/json"
-    ],
-    "cwd": "[START_DIR]/fuchsia",
-    "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]/fuchsia/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": [
-      "python",
-      "-u",
-      "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n",
-      "[START_DIR]/fuchsia/out/default/images.json",
-      "/path/to/tmp/json"
-    ],
-    "name": "build.read image manifest",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_LINE@json.output@[@@@",
-      "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"bootserver_pave\": [@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"--boot\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"--zircona\"@@@",
-      "@@@STEP_LOG_LINE@json.output@    ], @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"name\": \"zircon-a\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"fuchsia.zbi\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"type\": \"zbi\"@@@",
-      "@@@STEP_LOG_LINE@json.output@  }, @@@",
-      "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"name\": \"storage-full\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"fvm.blk\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"type\": \"blk\"@@@",
-      "@@@STEP_LOG_LINE@json.output@  }, @@@",
-      "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"bootserver_pave\": [@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"--fvm\"@@@",
-      "@@@STEP_LOG_LINE@json.output@    ], @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"name\": \"storage-sparse\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"fvm.sparse.blk\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"type\": \"blk\"@@@",
-      "@@@STEP_LOG_LINE@json.output@  }, @@@",
-      "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"bootserver_pave\": [@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"--efi\"@@@",
-      "@@@STEP_LOG_LINE@json.output@    ], @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"name\": \"efi\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"fuchsia.esp.blk\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"type\": \"blk\"@@@",
-      "@@@STEP_LOG_LINE@json.output@  }, @@@",
-      "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"bootserver_netboot\": [@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"--boot\"@@@",
-      "@@@STEP_LOG_LINE@json.output@    ], @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"name\": \"netboot\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"netboot.zbi\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"type\": \"zbi\"@@@",
-      "@@@STEP_LOG_LINE@json.output@  }, @@@",
-      "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"name\": \"archive\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"build-archive.tgz\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"type\": \"tgz\"@@@",
-      "@@@STEP_LOG_LINE@json.output@  }, @@@",
-      "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"name\": \"archive\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"build-archive.zip\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"type\": \"zip\"@@@",
-      "@@@STEP_LOG_LINE@json.output@  }, @@@",
-      "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"name\": \"qemu-kernel\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"multiboot.bin\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"type\": \"kernel\"@@@",
-      "@@@STEP_LOG_LINE@json.output@  }, @@@",
-      "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"name\": \"symbol-archive\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"symbol-archive.tgz\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"type\": \"tgz\"@@@",
-      "@@@STEP_LOG_LINE@json.output@  }, @@@",
-      "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"bootserver_pave\": [@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"--zircon-r\"@@@",
-      "@@@STEP_LOG_LINE@json.output@    ], @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"name\": \"zircon-r\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"zircon-r.zbi\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"type\": \"zbi\"@@@",
-      "@@@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]/fuchsia/out/default/zbi_tests.json",
-      "/path/to/tmp/json"
-    ],
-    "name": "build.read zbi test 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@    \"name\": \"zbi-test-x64\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../default.zircon/zbi-test-x64.zbi\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"success_string\": \"purple monkey dishwasher\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"task_name\": \"zbi-test-x64 - QEMU\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"type\": \"zbi\"@@@",
-      "@@@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]/fuchsia/prebuilt/third_party/ninja/linux_x64/ninja",
-      "-C",
-      "[START_DIR]/fuchsia/out/default.zircon",
-      "-j",
-      "80",
-      "legacy-host_tests",
-      "manifest-$cpu",
-      "zbi-test-x64.zbi"
-    ],
-    "name": "build.ninja.zircon",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@"
-    ]
-  },
-  {
-    "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]/fuchsia/prebuilt/third_party/ninja/linux_x64/ninja",
-      "-C",
-      "[START_DIR]/fuchsia/out/default",
-      "-j",
-      "80",
-      "bundles:infratools",
-      "multiboot.bin"
-    ],
-    "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": [
-      "vpython",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "{\"build_info\": {\"build_id\": 8945511751514863184, \"time_stamp\": \"2012-05-14 12:53:21.500000\", \"builder\": \"builder\", \"time_stamp_int\": 1337000003000}}",
-      "[CACHE]/goma/client/goma_stats.json"
-    ],
-    "infra_step": true,
-    "name": "build.ninja.post_goma.write goma_stats.json",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_LOG_LINE@goma_stats.json@{\"build_info\": {\"build_id\": 8945511751514863184, \"time_stamp\": \"2012-05-14 12:53:21.500000\", \"builder\": \"builder\", \"time_stamp_int\": 1337000003000}}@@@",
-      "@@@STEP_LOG_END@goma_stats.json@@@",
-      "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"build_info\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"build_id\": 8945511751514863184, @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"time_stamp\": \"2012-05-14 12:53:21.500000\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"builder\": \"builder\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"time_stamp_int\": 1337000003000@@@",
-      "@@@STEP_LOG_LINE@json.output@    }@@@",
-      "@@@STEP_LOG_LINE@json.output@}@@@",
-      "@@@STEP_LOG_END@json.output@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "build.ninja.post_goma.ensure bqupload",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@3@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "cipd",
-      "ensure",
-      "-root",
-      "[START_DIR]/cipd/bqupload",
-      "-ensure-file",
-      "infra/tools/bqupload/${platform} git_revision:d85fe78f303c3e969f815121e17c8b08868039ef",
-      "-json-output",
-      "/path/to/tmp/json"
-    ],
-    "infra_step": true,
-    "name": "build.ninja.post_goma.ensure bqupload.ensure_installed",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@4@@@",
-      "@@@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:d85\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"package\": \"infra/tools/bqupload/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/bqupload/bqupload",
-      "fuchsia-infra.artifacts.builds_beta_goma",
-      "[CACHE]/goma/client/goma_stats.json"
-    ],
-    "name": "build.ninja.post_goma.upload goma_stats_to BQ: fuchsia-infra/artifacts/builds_beta_goma",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@3@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "prepare test: zbi-test-x64 - QEMU"
-  },
-  {
-    "cmd": [
-      "python",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/symlink.py",
-      "--link-json",
-      "{\"[START_DIR]/fuchsia/out/default/../default.zircon/zbi-test-x64.zbi\": [\"[CLEANUP]/isolate_tmp_2/zbi-test-x64.zbi\"], \"[START_DIR]/fuchsia/out/default/linux_x64/botanist\": [\"[CLEANUP]/isolate_tmp_2/botanist\"], \"[START_DIR]/fuchsia/out/default/multiboot.bin\": [\"[CLEANUP]/isolate_tmp_2/multiboot.bin\"]}"
-    ],
-    "infra_step": true,
-    "name": "prepare test: zbi-test-x64 - QEMU.create tree of images",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[\n  {\n    \"name\": \"zircon-a\", \n    \"success_string\": \"purple monkey dishwasher\", \n    \"task_name\": \"zbi-test-x64 - QEMU\", \n    \"path\": \"zbi-test-x64.zbi\", \n    \"type\": \"zbi\", \n    \"cpu\": \"x64\"\n  }, \n  {\n    \"path\": \"multiboot.bin\", \n    \"type\": \"kernel\", \n    \"name\": \"qemu-kernel\"\n  }\n]",
-      "[CLEANUP]/isolate_tmp_2/images.json"
-    ],
-    "infra_step": true,
-    "name": "prepare test: zbi-test-x64 - QEMU.write image manifest",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_LINE@images.json@[@@@",
-      "@@@STEP_LOG_LINE@images.json@  {@@@",
-      "@@@STEP_LOG_LINE@images.json@    \"name\": \"zircon-a\", @@@",
-      "@@@STEP_LOG_LINE@images.json@    \"success_string\": \"purple monkey dishwasher\", @@@",
-      "@@@STEP_LOG_LINE@images.json@    \"task_name\": \"zbi-test-x64 - QEMU\", @@@",
-      "@@@STEP_LOG_LINE@images.json@    \"path\": \"zbi-test-x64.zbi\", @@@",
-      "@@@STEP_LOG_LINE@images.json@    \"type\": \"zbi\", @@@",
-      "@@@STEP_LOG_LINE@images.json@    \"cpu\": \"x64\"@@@",
-      "@@@STEP_LOG_LINE@images.json@  }, @@@",
-      "@@@STEP_LOG_LINE@images.json@  {@@@",
-      "@@@STEP_LOG_LINE@images.json@    \"path\": \"multiboot.bin\", @@@",
-      "@@@STEP_LOG_LINE@images.json@    \"type\": \"kernel\", @@@",
-      "@@@STEP_LOG_LINE@images.json@    \"name\": \"qemu-kernel\"@@@",
-      "@@@STEP_LOG_LINE@images.json@  }@@@",
-      "@@@STEP_LOG_LINE@images.json@]@@@",
-      "@@@STEP_LOG_END@images.json@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "prepare test: zbi-test-x64 - QEMU.ensure isolated",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "cipd",
-      "ensure",
-      "-root",
-      "[CACHE]/isolated_client",
-      "-ensure-file",
-      "infra/tools/luci/isolated/${platform} git_revision:305e79001db1846906c7136d90a863bee5bd3bfc",
-      "-json-output",
-      "/path/to/tmp/json"
-    ],
-    "infra_step": true,
-    "name": "prepare test: zbi-test-x64 - QEMU.ensure isolated.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-git_revision:305\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"package\": \"infra/tools/luci/isolated/resolved-platform\"@@@",
-      "@@@STEP_LOG_LINE@json.output@      }@@@",
-      "@@@STEP_LOG_LINE@json.output@    ]@@@",
-      "@@@STEP_LOG_LINE@json.output@  }@@@",
-      "@@@STEP_LOG_LINE@json.output@}@@@",
-      "@@@STEP_LOG_END@json.output@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[CACHE]/isolated_client/isolated",
-      "archive",
-      "-verbose",
-      "-isolate-server",
-      "https://example.isolateserver.appspot.com",
-      "-namespace",
-      "default-gzip",
-      "-dump-hash",
-      "/path/to/tmp/",
-      "-dirs",
-      "[CLEANUP]/isolate_tmp_2:."
-    ],
-    "infra_step": true,
-    "name": "prepare test: zbi-test-x64 - QEMU.isolate images",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LINK@isolated UI@https://example.isolateserver.appspot.com/browse?namespace=default-gzip&hash=%5Bdummy+hash%5D@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect"
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.0",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@1 launched, 1 failed@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.0.launch",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.0.launch.zbi-test-x64 - QEMU (attempt 0)",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_LINK@Swarming task@https://example.swarmingserver.appspot.com/task?id=123@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.0.launch.zbi-test-x64 - QEMU (attempt 0).ensure swarming",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@4@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "cipd",
-      "ensure",
-      "-root",
-      "[CACHE]/swarming_client",
-      "-ensure-file",
-      "infra/tools/luci/swarming/${platform} git_revision:67b11ada44a625008a2db5cb49ad453494b16ba1",
-      "-json-output",
-      "/path/to/tmp/json"
-    ],
-    "infra_step": true,
-    "name": "launch/collect.0.launch.zbi-test-x64 - QEMU (attempt 0).ensure swarming.ensure_installed",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@5@@@",
-      "@@@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:67b\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"package\": \"infra/tools/luci/swarming/resolved-platform\"@@@",
-      "@@@STEP_LOG_LINE@json.output@      }@@@",
-      "@@@STEP_LOG_LINE@json.output@    ]@@@",
-      "@@@STEP_LOG_LINE@json.output@  }@@@",
-      "@@@STEP_LOG_LINE@json.output@}@@@",
-      "@@@STEP_LOG_END@json.output@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[CACHE]/swarming_client/swarming",
-      "spawn-tasks",
-      "-server",
-      "https://example.swarmingserver.appspot.com",
-      "-json-input",
-      "{\"requests\": [{\"name\": \"zbi-test-x64 - QEMU\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:QEMU-x64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"cipd_input\": {\"packages\": [{\"package_name\": \"fuchsia/third_party/qemu/${platform}\", \"path\": \"qemu\", \"version\": \"git_revision:533bf2563d0213a7e002d9fcde75519d30ffa70f\"}]}, \"command\": [\"./botanist\", \"-level\", \"debug\", \"qemu\", \"-type\", \"qemu\", \"-qemu-dir\", \"./qemu/bin\", \"-images\", \"images.json\", \"-arch\", \"x64\", \"-use-kvm\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"kvm\", \"value\": \"1\"}, {\"key\": \"os\", \"value\": \"Debian\"}, {\"key\": \"cpu\", \"value\": \"x64\"}, {\"key\": \"pool\", \"value\": \"fuchsia.tests\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": []}}]}]}",
-      "-json-output",
-      "/path/to/tmp/json",
-      "-cancel-extra-tasks"
-    ],
-    "infra_step": true,
-    "name": "launch/collect.0.launch.zbi-test-x64 - QEMU (attempt 0).trigger",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@4@@@",
-      "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"tasks\": [@@@",
-      "@@@STEP_LOG_LINE@json.output@    {@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"request\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"name\": \"zbi-test-x64 - QEMU\"@@@",
-      "@@@STEP_LOG_LINE@json.output@      }, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"123\"@@@",
-      "@@@STEP_LOG_LINE@json.output@    }@@@",
-      "@@@STEP_LOG_LINE@json.output@  ]@@@",
-      "@@@STEP_LOG_LINE@json.output@}@@@",
-      "@@@STEP_LOG_END@json.output@@@",
-      "@@@STEP_LINK@task UI: zbi-test-x64 - QEMU@https://example.swarmingserver.appspot.com/task?id=123@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[CACHE]/swarming_client/swarming",
-      "collect",
-      "-server",
-      "https://example.swarmingserver.appspot.com",
-      "-task-summary-json",
-      "/path/to/tmp/json",
-      "-task-output-stdout",
-      "json",
-      "123"
-    ],
-    "infra_step": true,
-    "name": "launch/collect.0.collect",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"123\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"output\": \"purple monkey dishwasherKERNEL PANIC\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"outputs\": [], @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"results\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"bot_id\": \"vm-123\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"duration\": 62.35, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"exit_code\": 0, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"name\": \"zbi-test-x64 - QEMU\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"outputs_ref\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"isolated\": \"abc123\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"namespace\": \"default-gzip\"@@@",
-      "@@@STEP_LOG_LINE@json.output@      }, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"state\": \"COMPLETED\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"123\"@@@",
-      "@@@STEP_LOG_LINE@json.output@    }@@@",
-      "@@@STEP_LOG_LINE@json.output@  }@@@",
-      "@@@STEP_LOG_LINE@json.output@}@@@",
-      "@@@STEP_LOG_END@json.output@@@",
-      "@@@STEP_LOG_LINE@task stdout+stderr: zbi-test-x64 - QEMU@purple monkey dishwasherKERNEL PANIC@@@",
-      "@@@STEP_LOG_END@task stdout+stderr: zbi-test-x64 - QEMU@@@",
-      "@@@STEP_LINK@task isolated outputs: zbi-test-x64 - QEMU@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.0.process results",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.0.process results.zbi-test-x64 - QEMU",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
-      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
-      "@@@STEP_LOG_END@symbolized log@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[START_DIR]/fuchsia/out/default/linux_x64/symbolize",
-      "-llvm-symbolizer-restart-interval",
-      "2",
-      "-level",
-      "debug",
-      "-build-id-dir",
-      "[START_DIR]/fuchsia/out/default.zircon/.build-id",
-      "-build-id-dir",
-      "[START_DIR]/fuchsia/prebuilt/third_party/clang/linux-x64/lib/debug/.build-id",
-      "-llvm-symbolizer",
-      "[START_DIR]/fuchsia/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer",
-      "-json-output",
-      "/path/to/tmp/json"
-    ],
-    "infra_step": true,
-    "name": "launch/collect.0.process results.zbi-test-x64 - QEMU.symbolize logs",
-    "stdin": "purple monkey dishwasherKERNEL PANIC",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@4@@@",
-      "@@@STEP_LOG_LINE@json.output[symbolizer-output.json]@{}@@@",
-      "@@@STEP_LOG_END@json.output[symbolizer-output.json]@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.0.process results.always pass",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@3@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.0.failed tasks",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_LINK@zbi-test-x64 - QEMU (attempt 0)@https://example.swarmingserver.appspot.com/task?id=123@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.1",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@1 launched, 1 failed, 1 failed after max attempts@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.1.launch",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.1.launch.zbi-test-x64 - QEMU (attempt 1)",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_LINK@Swarming task@https://example.swarmingserver.appspot.com/task?id=456@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[CACHE]/swarming_client/swarming",
-      "spawn-tasks",
-      "-server",
-      "https://example.swarmingserver.appspot.com",
-      "-json-input",
-      "{\"requests\": [{\"name\": \"zbi-test-x64 - QEMU\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:QEMU-x64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"cipd_input\": {\"packages\": [{\"package_name\": \"fuchsia/third_party/qemu/${platform}\", \"path\": \"qemu\", \"version\": \"git_revision:533bf2563d0213a7e002d9fcde75519d30ffa70f\"}]}, \"command\": [\"./botanist\", \"-level\", \"debug\", \"qemu\", \"-type\", \"qemu\", \"-qemu-dir\", \"./qemu/bin\", \"-images\", \"images.json\", \"-arch\", \"x64\", \"-use-kvm\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"kvm\", \"value\": \"1\"}, {\"key\": \"os\", \"value\": \"Debian\"}, {\"key\": \"cpu\", \"value\": \"x64\"}, {\"key\": \"pool\", \"value\": \"fuchsia.tests\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": []}}]}]}",
-      "-json-output",
-      "/path/to/tmp/json",
-      "-cancel-extra-tasks"
-    ],
-    "infra_step": true,
-    "name": "launch/collect.1.launch.zbi-test-x64 - QEMU (attempt 1).trigger",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@4@@@",
-      "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"tasks\": [@@@",
-      "@@@STEP_LOG_LINE@json.output@    {@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"request\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"name\": \"zbi-test-x64 - QEMU\"@@@",
-      "@@@STEP_LOG_LINE@json.output@      }, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"456\"@@@",
-      "@@@STEP_LOG_LINE@json.output@    }@@@",
-      "@@@STEP_LOG_LINE@json.output@  ]@@@",
-      "@@@STEP_LOG_LINE@json.output@}@@@",
-      "@@@STEP_LOG_END@json.output@@@",
-      "@@@STEP_LINK@task UI: zbi-test-x64 - QEMU@https://example.swarmingserver.appspot.com/task?id=456@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[CACHE]/swarming_client/swarming",
-      "collect",
-      "-server",
-      "https://example.swarmingserver.appspot.com",
-      "-task-summary-json",
-      "/path/to/tmp/json",
-      "-task-output-stdout",
-      "json",
-      "456"
-    ],
-    "infra_step": true,
-    "name": "launch/collect.1.collect",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"456\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"output\": \"purple monkey dishwasherKERNEL PANIC\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"outputs\": [], @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"results\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"bot_id\": \"vm-123\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"duration\": 62.35, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"exit_code\": 0, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"name\": \"zbi-test-x64 - QEMU\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"outputs_ref\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"isolated\": \"abc123\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"namespace\": \"default-gzip\"@@@",
-      "@@@STEP_LOG_LINE@json.output@      }, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"state\": \"COMPLETED\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"456\"@@@",
-      "@@@STEP_LOG_LINE@json.output@    }@@@",
-      "@@@STEP_LOG_LINE@json.output@  }@@@",
-      "@@@STEP_LOG_LINE@json.output@}@@@",
-      "@@@STEP_LOG_END@json.output@@@",
-      "@@@STEP_LOG_LINE@task stdout+stderr: zbi-test-x64 - QEMU@purple monkey dishwasherKERNEL PANIC@@@",
-      "@@@STEP_LOG_END@task stdout+stderr: zbi-test-x64 - QEMU@@@",
-      "@@@STEP_LINK@task isolated outputs: zbi-test-x64 - QEMU@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.1.process results",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.1.process results.zbi-test-x64 - QEMU",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
-      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
-      "@@@STEP_LOG_END@symbolized log@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[START_DIR]/fuchsia/out/default/linux_x64/symbolize",
-      "-llvm-symbolizer-restart-interval",
-      "2",
-      "-level",
-      "debug",
-      "-build-id-dir",
-      "[START_DIR]/fuchsia/out/default.zircon/.build-id",
-      "-build-id-dir",
-      "[START_DIR]/fuchsia/prebuilt/third_party/clang/linux-x64/lib/debug/.build-id",
-      "-llvm-symbolizer",
-      "[START_DIR]/fuchsia/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer",
-      "-json-output",
-      "/path/to/tmp/json"
-    ],
-    "infra_step": true,
-    "name": "launch/collect.1.process results.zbi-test-x64 - QEMU.symbolize logs",
-    "stdin": "purple monkey dishwasherKERNEL PANIC",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@4@@@",
-      "@@@STEP_LOG_LINE@json.output[symbolizer-output.json]@{}@@@",
-      "@@@STEP_LOG_END@json.output[symbolizer-output.json]@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.1.process results.always pass",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@3@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.1.failed tasks",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_LINK@zbi-test-x64 - QEMU (attempt 1)@https://example.swarmingserver.appspot.com/task?id=456@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "passes",
-    "~followup_annotations": [
-      "@@@STEP_SUMMARY_TEXT@0 passed@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "flakes",
-    "~followup_annotations": [
-      "@@@STEP_SUMMARY_TEXT@0 flaked@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "failures",
-    "~followup_annotations": [
-      "@@@STEP_SUMMARY_TEXT@1 failed@@@",
-      "@@@STEP_FAILURE@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "failures.zbi-test-x64 - QEMU",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_FAILURE@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "failures.zbi-test-x64 - QEMU.attempt 0 (fail)",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_SUMMARY_TEXT@kernel panic@@@",
-      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
-      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
-      "@@@STEP_LOG_END@symbolized log@@@",
-      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=123@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "failures.zbi-test-x64 - QEMU.attempt 1 (fail)",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_SUMMARY_TEXT@kernel panic@@@",
-      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
-      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
-      "@@@STEP_LOG_END@symbolized log@@@",
-      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=456@@@"
-    ]
-  },
-  {
-    "failure": {
-      "failure": {},
-      "humanReason": "task(s) failed: zbi-test-x64 - QEMU"
-    },
-    "name": "$result"
-  }
-]
\ No newline at end of file
diff --git a/recipes/zbi_test.expected/fail-x64-QEMU.json b/recipes/zbi_test.expected/kernel_panic-x64.json
similarity index 74%
copy from recipes/zbi_test.expected/fail-x64-QEMU.json
copy to recipes/zbi_test.expected/kernel_panic-x64.json
index 2b3c2bb..40e2cb5 100644
--- a/recipes/zbi_test.expected/fail-x64-QEMU.json
+++ b/recipes/zbi_test.expected/kernel_panic-x64.json
@@ -1448,10 +1448,14 @@
       "@@@STEP_LOG_LINE@json.output@[@@@",
       "@@@STEP_LOG_LINE@json.output@  {@@@",
       "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"device_types\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"QEMU\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"AEMU\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"Intel NUC Kit NUC7i5DNHE\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    ], @@@",
       "@@@STEP_LOG_LINE@json.output@    \"name\": \"zbi-test-x64\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"path\": \"../default.zircon/zbi-test-x64.zbi\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"success_string\": \"purple monkey dishwasher\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"task_name\": \"zbi-test-x64 - QEMU\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"type\": \"zbi\"@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@]@@@",
@@ -1743,27 +1747,13 @@
   },
   {
     "cmd": [
-      "python",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/symlink.py",
-      "--link-json",
-      "{\"[START_DIR]/fuchsia/out/default/../default.zircon/zbi-test-x64.zbi\": [\"[CLEANUP]/isolate_tmp_2/zbi-test-x64.zbi\"], \"[START_DIR]/fuchsia/out/default/linux_x64/botanist\": [\"[CLEANUP]/isolate_tmp_2/botanist\"], \"[START_DIR]/fuchsia/out/default/multiboot.bin\": [\"[CLEANUP]/isolate_tmp_2/multiboot.bin\"]}"
-    ],
-    "infra_step": true,
-    "name": "prepare test: zbi-test-x64 - QEMU.create tree of images",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
       "vpython",
       "-u",
       "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "[\n  {\n    \"name\": \"zircon-a\", \n    \"success_string\": \"purple monkey dishwasher\", \n    \"task_name\": \"zbi-test-x64 - QEMU\", \n    \"path\": \"zbi-test-x64.zbi\", \n    \"type\": \"zbi\", \n    \"cpu\": \"x64\"\n  }, \n  {\n    \"path\": \"multiboot.bin\", \n    \"type\": \"kernel\", \n    \"name\": \"qemu-kernel\"\n  }\n]",
+      "[\n  {\n    \"name\": \"zircon-a\", \n    \"device_types\": [\n      \"QEMU\", \n      \"AEMU\", \n      \"Intel NUC Kit NUC7i5DNHE\"\n    ], \n    \"success_string\": \"purple monkey dishwasher\", \n    \"path\": \"zbi-test-x64.zbi\", \n    \"type\": \"zbi\", \n    \"cpu\": \"x64\"\n  }, \n  {\n    \"path\": \"multiboot.bin\", \n    \"type\": \"kernel\", \n    \"name\": \"qemu-kernel\"\n  }\n]",
       "[CLEANUP]/isolate_tmp_2/images.json"
     ],
     "infra_step": true,
@@ -1773,8 +1763,12 @@
       "@@@STEP_LOG_LINE@images.json@[@@@",
       "@@@STEP_LOG_LINE@images.json@  {@@@",
       "@@@STEP_LOG_LINE@images.json@    \"name\": \"zircon-a\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"device_types\": [@@@",
+      "@@@STEP_LOG_LINE@images.json@      \"QEMU\", @@@",
+      "@@@STEP_LOG_LINE@images.json@      \"AEMU\", @@@",
+      "@@@STEP_LOG_LINE@images.json@      \"Intel NUC Kit NUC7i5DNHE\"@@@",
+      "@@@STEP_LOG_LINE@images.json@    ], @@@",
       "@@@STEP_LOG_LINE@images.json@    \"success_string\": \"purple monkey dishwasher\", @@@",
-      "@@@STEP_LOG_LINE@images.json@    \"task_name\": \"zbi-test-x64 - QEMU\", @@@",
       "@@@STEP_LOG_LINE@images.json@    \"path\": \"zbi-test-x64.zbi\", @@@",
       "@@@STEP_LOG_LINE@images.json@    \"type\": \"zbi\", @@@",
       "@@@STEP_LOG_LINE@images.json@    \"cpu\": \"x64\"@@@",
@@ -1789,6 +1783,48 @@
     ]
   },
   {
+    "cmd": [
+      "vpython",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "copy",
+      "[\n  {\n    \"target\": \"x64\", \n    \"kvm\": true, \n    \"memory\": 4096, \n    \"path\": \"./qemu/bin\", \n    \"type\": \"qemu\", \n    \"cpu\": 4\n  }\n]",
+      "[CLEANUP]/isolate_tmp_2/qemu.json"
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-x64 - QEMU.write qemu config",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_LINE@qemu.json@[@@@",
+      "@@@STEP_LOG_LINE@qemu.json@  {@@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"target\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"kvm\": true, @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"memory\": 4096, @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"path\": \"./qemu/bin\", @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"type\": \"qemu\", @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"cpu\": 4@@@",
+      "@@@STEP_LOG_LINE@qemu.json@  }@@@",
+      "@@@STEP_LOG_LINE@qemu.json@]@@@",
+      "@@@STEP_LOG_END@qemu.json@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/symlink.py",
+      "--link-json",
+      "{\"[START_DIR]/fuchsia/out/default/../default.zircon/zbi-test-x64.zbi\": [\"[CLEANUP]/isolate_tmp_2/zbi-test-x64.zbi\"], \"[START_DIR]/fuchsia/out/default/linux_x64/botanist\": [\"[CLEANUP]/isolate_tmp_2/botanist\"], \"[START_DIR]/fuchsia/out/default/linux_x64/seriallistener\": [\"[CLEANUP]/isolate_tmp_2/seriallistener\"], \"[START_DIR]/fuchsia/out/default/multiboot.bin\": [\"[CLEANUP]/isolate_tmp_2/multiboot.bin\"]}"
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-x64 - QEMU.create tree of images",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
     "cmd": [],
     "name": "prepare test: zbi-test-x64 - QEMU.ensure isolated",
     "~followup_annotations": [
@@ -1846,6 +1882,181 @@
   },
   {
     "cmd": [],
+    "name": "prepare test: zbi-test-x64 - Intel NUC Kit NUC7i5DNHE"
+  },
+  {
+    "cmd": [
+      "vpython",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "copy",
+      "[\n  {\n    \"name\": \"zircon-a\", \n    \"device_types\": [\n      \"QEMU\", \n      \"AEMU\", \n      \"Intel NUC Kit NUC7i5DNHE\"\n    ], \n    \"success_string\": \"purple monkey dishwasher\", \n    \"path\": \"zbi-test-x64.zbi\", \n    \"type\": \"zbi\", \n    \"cpu\": \"x64\"\n  }\n]",
+      "[CLEANUP]/isolate_tmp_3/images.json"
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-x64 - Intel NUC Kit NUC7i5DNHE.write image manifest",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_LINE@images.json@[@@@",
+      "@@@STEP_LOG_LINE@images.json@  {@@@",
+      "@@@STEP_LOG_LINE@images.json@    \"name\": \"zircon-a\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"device_types\": [@@@",
+      "@@@STEP_LOG_LINE@images.json@      \"QEMU\", @@@",
+      "@@@STEP_LOG_LINE@images.json@      \"AEMU\", @@@",
+      "@@@STEP_LOG_LINE@images.json@      \"Intel NUC Kit NUC7i5DNHE\"@@@",
+      "@@@STEP_LOG_LINE@images.json@    ], @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"success_string\": \"purple monkey dishwasher\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"path\": \"zbi-test-x64.zbi\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"type\": \"zbi\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"cpu\": \"x64\"@@@",
+      "@@@STEP_LOG_LINE@images.json@  }@@@",
+      "@@@STEP_LOG_LINE@images.json@]@@@",
+      "@@@STEP_LOG_END@images.json@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/symlink.py",
+      "--link-json",
+      "{\"[START_DIR]/fuchsia/out/default/../default.zircon/zbi-test-x64.zbi\": [\"[CLEANUP]/isolate_tmp_3/zbi-test-x64.zbi\"], \"[START_DIR]/fuchsia/out/default/linux_x64/botanist\": [\"[CLEANUP]/isolate_tmp_3/botanist\"], \"[START_DIR]/fuchsia/out/default/linux_x64/seriallistener\": [\"[CLEANUP]/isolate_tmp_3/seriallistener\"]}"
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-x64 - Intel NUC Kit NUC7i5DNHE.create tree of images",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[CACHE]/isolated_client/isolated",
+      "archive",
+      "-verbose",
+      "-isolate-server",
+      "https://example.isolateserver.appspot.com",
+      "-namespace",
+      "default-gzip",
+      "-dump-hash",
+      "/path/to/tmp/",
+      "-dirs",
+      "[CLEANUP]/isolate_tmp_3:."
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-x64 - Intel NUC Kit NUC7i5DNHE.isolate images",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LINK@isolated UI@https://example.isolateserver.appspot.com/browse?namespace=default-gzip&hash=%5Bdummy+hash%5D@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "prepare test: zbi-test-x64 - AEMU"
+  },
+  {
+    "cmd": [
+      "vpython",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "copy",
+      "[\n  {\n    \"name\": \"zircon-a\", \n    \"device_types\": [\n      \"QEMU\", \n      \"AEMU\", \n      \"Intel NUC Kit NUC7i5DNHE\"\n    ], \n    \"success_string\": \"purple monkey dishwasher\", \n    \"path\": \"zbi-test-x64.zbi\", \n    \"type\": \"zbi\", \n    \"cpu\": \"x64\"\n  }, \n  {\n    \"path\": \"multiboot.bin\", \n    \"type\": \"kernel\", \n    \"name\": \"qemu-kernel\"\n  }\n]",
+      "[CLEANUP]/isolate_tmp_4/images.json"
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-x64 - AEMU.write image manifest",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_LINE@images.json@[@@@",
+      "@@@STEP_LOG_LINE@images.json@  {@@@",
+      "@@@STEP_LOG_LINE@images.json@    \"name\": \"zircon-a\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"device_types\": [@@@",
+      "@@@STEP_LOG_LINE@images.json@      \"QEMU\", @@@",
+      "@@@STEP_LOG_LINE@images.json@      \"AEMU\", @@@",
+      "@@@STEP_LOG_LINE@images.json@      \"Intel NUC Kit NUC7i5DNHE\"@@@",
+      "@@@STEP_LOG_LINE@images.json@    ], @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"success_string\": \"purple monkey dishwasher\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"path\": \"zbi-test-x64.zbi\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"type\": \"zbi\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"cpu\": \"x64\"@@@",
+      "@@@STEP_LOG_LINE@images.json@  }, @@@",
+      "@@@STEP_LOG_LINE@images.json@  {@@@",
+      "@@@STEP_LOG_LINE@images.json@    \"path\": \"multiboot.bin\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"type\": \"kernel\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"name\": \"qemu-kernel\"@@@",
+      "@@@STEP_LOG_LINE@images.json@  }@@@",
+      "@@@STEP_LOG_LINE@images.json@]@@@",
+      "@@@STEP_LOG_END@images.json@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "vpython",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "copy",
+      "[\n  {\n    \"target\": \"x64\", \n    \"kvm\": true, \n    \"memory\": 4096, \n    \"path\": \"./aemu/bin\", \n    \"type\": \"aemu\", \n    \"cpu\": 4\n  }\n]",
+      "[CLEANUP]/isolate_tmp_4/qemu.json"
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-x64 - AEMU.write qemu config",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_LINE@qemu.json@[@@@",
+      "@@@STEP_LOG_LINE@qemu.json@  {@@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"target\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"kvm\": true, @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"memory\": 4096, @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"path\": \"./aemu/bin\", @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"type\": \"aemu\", @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"cpu\": 4@@@",
+      "@@@STEP_LOG_LINE@qemu.json@  }@@@",
+      "@@@STEP_LOG_LINE@qemu.json@]@@@",
+      "@@@STEP_LOG_END@qemu.json@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/symlink.py",
+      "--link-json",
+      "{\"[START_DIR]/fuchsia/out/default/../default.zircon/zbi-test-x64.zbi\": [\"[CLEANUP]/isolate_tmp_4/zbi-test-x64.zbi\"], \"[START_DIR]/fuchsia/out/default/linux_x64/botanist\": [\"[CLEANUP]/isolate_tmp_4/botanist\"], \"[START_DIR]/fuchsia/out/default/linux_x64/seriallistener\": [\"[CLEANUP]/isolate_tmp_4/seriallistener\"], \"[START_DIR]/fuchsia/out/default/multiboot.bin\": [\"[CLEANUP]/isolate_tmp_4/multiboot.bin\"]}"
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-x64 - AEMU.create tree of images",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[CACHE]/isolated_client/isolated",
+      "archive",
+      "-verbose",
+      "-isolate-server",
+      "https://example.isolateserver.appspot.com",
+      "-namespace",
+      "default-gzip",
+      "-dump-hash",
+      "/path/to/tmp/",
+      "-dirs",
+      "[CLEANUP]/isolate_tmp_4:."
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-x64 - AEMU.isolate images",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LINK@isolated UI@https://example.isolateserver.appspot.com/browse?namespace=default-gzip&hash=%5Bdummy+hash%5D@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "launch/collect"
   },
   {
@@ -1853,7 +2064,7 @@
     "name": "launch/collect.0",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@1 launched, 1 failed@@@"
+      "@@@STEP_SUMMARY_TEXT@3 launched, 3 failed@@@"
     ]
   },
   {
@@ -1913,7 +2124,7 @@
       "-server",
       "https://example.swarmingserver.appspot.com",
       "-json-input",
-      "{\"requests\": [{\"name\": \"zbi-test-x64 - QEMU\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:QEMU-x64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"cipd_input\": {\"packages\": [{\"package_name\": \"fuchsia/third_party/qemu/${platform}\", \"path\": \"qemu\", \"version\": \"git_revision:533bf2563d0213a7e002d9fcde75519d30ffa70f\"}]}, \"command\": [\"./botanist\", \"-level\", \"debug\", \"qemu\", \"-type\", \"qemu\", \"-qemu-dir\", \"./qemu/bin\", \"-images\", \"images.json\", \"-arch\", \"x64\", \"-use-kvm\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"kvm\", \"value\": \"1\"}, {\"key\": \"os\", \"value\": \"Debian\"}, {\"key\": \"cpu\", \"value\": \"x64\"}, {\"key\": \"pool\", \"value\": \"fuchsia.tests\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": []}}]}]}",
+      "{\"requests\": [{\"name\": \"zbi-test-x64 - QEMU\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:QEMU-x64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"cipd_input\": {\"packages\": [{\"package_name\": \"fuchsia/third_party/qemu/${platform}\", \"path\": \"qemu\", \"version\": \"git_revision:533bf2563d0213a7e002d9fcde75519d30ffa70f\"}]}, \"command\": [\"./botanist\", \"-level\", \"debug\", \"run\", \"-images\", \"images.json\", \"-serial-log\", \"serial.txt\", \"-config\", \"./qemu.json\", \"-netboot\", \"./seriallistener\", \"-timeout\", \"5m\", \"-stdout=False\", \"-success\", \"purple monkey dishwasher\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"kvm\", \"value\": \"1\"}, {\"key\": \"os\", \"value\": \"Debian\"}, {\"key\": \"cpu\", \"value\": \"x64\"}, {\"key\": \"pool\", \"value\": \"fuchsia.tests\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": [\"serial.txt\"]}}]}]}",
       "-json-output",
       "/path/to/tmp/json",
       "-cancel-extra-tasks"
@@ -1937,6 +2148,82 @@
     ]
   },
   {
+    "cmd": [],
+    "name": "launch/collect.0.launch.zbi-test-x64 - Intel NUC Kit NUC7i5DNHE (attempt 0)",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@3@@@",
+      "@@@STEP_LINK@Swarming task@https://example.swarmingserver.appspot.com/task?id=127@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[CACHE]/swarming_client/swarming",
+      "spawn-tasks",
+      "-server",
+      "https://example.swarmingserver.appspot.com",
+      "-json-input",
+      "{\"requests\": [{\"name\": \"zbi-test-x64 - Intel NUC Kit NUC7i5DNHE\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:Intel NUC Kit NUC7i5DNHE-x64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"command\": [\"./botanist\", \"-level\", \"debug\", \"run\", \"-images\", \"images.json\", \"-serial-log\", \"serial.txt\", \"-config\", \"/etc/botanist/config.json\", \"-netboot\", \"./seriallistener\", \"-timeout\", \"5m\", \"-stdout=True\", \"-success\", \"purple monkey dishwasher\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"pool\", \"value\": \"fuchsia.tests\"}, {\"key\": \"device_type\", \"value\": \"Intel NUC Kit NUC7i5DNHE\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": [\"serial.txt\"]}}]}]}",
+      "-json-output",
+      "/path/to/tmp/json",
+      "-cancel-extra-tasks"
+    ],
+    "infra_step": true,
+    "name": "launch/collect.0.launch.zbi-test-x64 - Intel NUC Kit NUC7i5DNHE (attempt 0).trigger",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@4@@@",
+      "@@@STEP_LOG_LINE@json.output@{@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"tasks\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@    {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"request\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"name\": \"zbi-test-x64 - Intel NUC Kit NUC7i5DNHE\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      }, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"127\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  ]@@@",
+      "@@@STEP_LOG_LINE@json.output@}@@@",
+      "@@@STEP_LOG_END@json.output@@@",
+      "@@@STEP_LINK@task UI: zbi-test-x64 - Intel NUC Kit NUC7i5DNHE@https://example.swarmingserver.appspot.com/task?id=127@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "launch/collect.0.launch.zbi-test-x64 - AEMU (attempt 0)",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@3@@@",
+      "@@@STEP_LINK@Swarming task@https://example.swarmingserver.appspot.com/task?id=125@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[CACHE]/swarming_client/swarming",
+      "spawn-tasks",
+      "-server",
+      "https://example.swarmingserver.appspot.com",
+      "-json-input",
+      "{\"requests\": [{\"name\": \"zbi-test-x64 - AEMU\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:AEMU-x64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"cipd_input\": {\"packages\": [{\"package_name\": \"fuchsia/third_party/aemu/${platform}\", \"path\": \"aemu/bin\", \"version\": \"git_revision:de95df869556006ad87f402110aa835d03835060\"}]}, \"command\": [\"./botanist\", \"-level\", \"debug\", \"run\", \"-images\", \"images.json\", \"-serial-log\", \"serial.txt\", \"-config\", \"./qemu.json\", \"-netboot\", \"./seriallistener\", \"-timeout\", \"5m\", \"-stdout=False\", \"-success\", \"purple monkey dishwasher\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"kvm\", \"value\": \"1\"}, {\"key\": \"os\", \"value\": \"Debian\"}, {\"key\": \"cpu\", \"value\": \"x64\"}, {\"key\": \"pool\", \"value\": \"fuchsia.tests\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": [\"serial.txt\"]}}]}]}",
+      "-json-output",
+      "/path/to/tmp/json",
+      "-cancel-extra-tasks"
+    ],
+    "infra_step": true,
+    "name": "launch/collect.0.launch.zbi-test-x64 - AEMU (attempt 0).trigger",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@4@@@",
+      "@@@STEP_LOG_LINE@json.output@{@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"tasks\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@    {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"request\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"name\": \"zbi-test-x64 - AEMU\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      }, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"125\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  ]@@@",
+      "@@@STEP_LOG_LINE@json.output@}@@@",
+      "@@@STEP_LOG_END@json.output@@@",
+      "@@@STEP_LINK@task UI: zbi-test-x64 - AEMU@https://example.swarmingserver.appspot.com/task?id=125@@@"
+    ]
+  },
+  {
     "cmd": [
       "[CACHE]/swarming_client/swarming",
       "collect",
@@ -1946,7 +2233,13 @@
       "/path/to/tmp/json",
       "-task-output-stdout",
       "json",
-      "123"
+      "-output-dir",
+      "[CLEANUP]/swarming_tmp_5",
+      "-timeout",
+      "5m",
+      "123",
+      "127",
+      "125"
     ],
     "infra_step": true,
     "name": "launch/collect.0.collect",
@@ -1954,7 +2247,7 @@
       "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"123\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"output\": \"not success\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"output\": \"purple monkey dishwasherKERNEL PANIC\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"outputs\": [], @@@",
       "@@@STEP_LOG_LINE@json.output@    \"results\": {@@@",
       "@@@STEP_LOG_LINE@json.output@      \"bot_id\": \"vm-123\", @@@",
@@ -1969,11 +2262,51 @@
       "@@@STEP_LOG_LINE@json.output@      \"state\": \"COMPLETED\", @@@",
       "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"123\"@@@",
       "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"125\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"output\": \"purple monkey dishwasherKERNEL PANIC\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"outputs\": [], @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"results\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"bot_id\": \"vm-123\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"duration\": 62.35, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"exit_code\": 0, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"name\": \"zbi-test-x64 - AEMU\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"outputs_ref\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"isolated\": \"abc123\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"namespace\": \"default-gzip\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      }, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"state\": \"COMPLETED\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"125\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"127\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"output\": \"purple monkey dishwasherKERNEL PANIC\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"outputs\": [], @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"results\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"bot_id\": \"vm-123\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"duration\": 62.35, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"exit_code\": 0, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"name\": \"zbi-test-x64 - Intel NUC Kit NUC7i5DNHE\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"outputs_ref\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"isolated\": \"abc123\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"namespace\": \"default-gzip\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      }, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"state\": \"COMPLETED\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"127\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
-      "@@@STEP_LOG_LINE@task stdout+stderr: zbi-test-x64 - QEMU@not success@@@",
+      "@@@STEP_LOG_LINE@task stdout+stderr: zbi-test-x64 - AEMU@purple monkey dishwasherKERNEL PANIC@@@",
+      "@@@STEP_LOG_END@task stdout+stderr: zbi-test-x64 - AEMU@@@",
+      "@@@STEP_LOG_LINE@task stdout+stderr: zbi-test-x64 - Intel NUC Kit NUC7i5DNHE@purple monkey dishwasherKERNEL PANIC@@@",
+      "@@@STEP_LOG_END@task stdout+stderr: zbi-test-x64 - Intel NUC Kit NUC7i5DNHE@@@",
+      "@@@STEP_LOG_LINE@task stdout+stderr: zbi-test-x64 - QEMU@purple monkey dishwasherKERNEL PANIC@@@",
       "@@@STEP_LOG_END@task stdout+stderr: zbi-test-x64 - QEMU@@@",
+      "@@@STEP_LINK@task isolated outputs: zbi-test-x64 - AEMU@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@",
+      "@@@STEP_LINK@task isolated outputs: zbi-test-x64 - Intel NUC Kit NUC7i5DNHE@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@",
       "@@@STEP_LINK@task isolated outputs: zbi-test-x64 - QEMU@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@"
     ]
   },
@@ -1986,6 +2319,76 @@
   },
   {
     "cmd": [],
+    "name": "launch/collect.0.process results.zbi-test-x64 - AEMU",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@3@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_END@symbolized log@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[START_DIR]/fuchsia/out/default/linux_x64/symbolize",
+      "-llvm-symbolizer-restart-interval",
+      "2",
+      "-level",
+      "debug",
+      "-build-id-dir",
+      "[START_DIR]/fuchsia/out/default.zircon/.build-id",
+      "-build-id-dir",
+      "[START_DIR]/fuchsia/prebuilt/third_party/clang/linux-x64/lib/debug/.build-id",
+      "-llvm-symbolizer",
+      "[START_DIR]/fuchsia/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer",
+      "-json-output",
+      "/path/to/tmp/json"
+    ],
+    "infra_step": true,
+    "name": "launch/collect.0.process results.zbi-test-x64 - AEMU.symbolize logs",
+    "stdin": "purple monkey dishwasherKERNEL PANIC",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@4@@@",
+      "@@@STEP_LOG_LINE@json.output[symbolizer-output.json]@{}@@@",
+      "@@@STEP_LOG_END@json.output[symbolizer-output.json]@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "launch/collect.0.process results.zbi-test-x64 - Intel NUC Kit NUC7i5DNHE",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@3@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_END@symbolized log@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[START_DIR]/fuchsia/out/default/linux_x64/symbolize",
+      "-llvm-symbolizer-restart-interval",
+      "2",
+      "-level",
+      "debug",
+      "-build-id-dir",
+      "[START_DIR]/fuchsia/out/default.zircon/.build-id",
+      "-build-id-dir",
+      "[START_DIR]/fuchsia/prebuilt/third_party/clang/linux-x64/lib/debug/.build-id",
+      "-llvm-symbolizer",
+      "[START_DIR]/fuchsia/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer",
+      "-json-output",
+      "/path/to/tmp/json"
+    ],
+    "infra_step": true,
+    "name": "launch/collect.0.process results.zbi-test-x64 - Intel NUC Kit NUC7i5DNHE.symbolize logs",
+    "stdin": "purple monkey dishwasherKERNEL PANIC",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@4@@@",
+      "@@@STEP_LOG_LINE@json.output[symbolizer-output.json]@{}@@@",
+      "@@@STEP_LOG_END@json.output[symbolizer-output.json]@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "launch/collect.0.process results.zbi-test-x64 - QEMU",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
@@ -2012,7 +2415,7 @@
     ],
     "infra_step": true,
     "name": "launch/collect.0.process results.zbi-test-x64 - QEMU.symbolize logs",
-    "stdin": "not success",
+    "stdin": "purple monkey dishwasherKERNEL PANIC",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
       "@@@STEP_LOG_LINE@json.output[symbolizer-output.json]@{}@@@",
@@ -2031,6 +2434,8 @@
     "name": "launch/collect.0.failed tasks",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
+      "@@@STEP_LINK@zbi-test-x64 - AEMU (attempt 0)@https://example.swarmingserver.appspot.com/task?id=125@@@",
+      "@@@STEP_LINK@zbi-test-x64 - Intel NUC Kit NUC7i5DNHE (attempt 0)@https://example.swarmingserver.appspot.com/task?id=127@@@",
       "@@@STEP_LINK@zbi-test-x64 - QEMU (attempt 0)@https://example.swarmingserver.appspot.com/task?id=123@@@"
     ]
   },
@@ -2039,7 +2444,7 @@
     "name": "launch/collect.1",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@1 launched, 1 failed, 1 failed after max attempts@@@"
+      "@@@STEP_SUMMARY_TEXT@3 launched, 3 failed, 3 failed after max attempts@@@"
     ]
   },
   {
@@ -2054,7 +2459,7 @@
     "name": "launch/collect.1.launch.zbi-test-x64 - QEMU (attempt 1)",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_LINK@Swarming task@https://example.swarmingserver.appspot.com/task?id=456@@@"
+      "@@@STEP_LINK@Swarming task@https://example.swarmingserver.appspot.com/task?id=124@@@"
     ]
   },
   {
@@ -2064,7 +2469,7 @@
       "-server",
       "https://example.swarmingserver.appspot.com",
       "-json-input",
-      "{\"requests\": [{\"name\": \"zbi-test-x64 - QEMU\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:QEMU-x64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"cipd_input\": {\"packages\": [{\"package_name\": \"fuchsia/third_party/qemu/${platform}\", \"path\": \"qemu\", \"version\": \"git_revision:533bf2563d0213a7e002d9fcde75519d30ffa70f\"}]}, \"command\": [\"./botanist\", \"-level\", \"debug\", \"qemu\", \"-type\", \"qemu\", \"-qemu-dir\", \"./qemu/bin\", \"-images\", \"images.json\", \"-arch\", \"x64\", \"-use-kvm\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"kvm\", \"value\": \"1\"}, {\"key\": \"os\", \"value\": \"Debian\"}, {\"key\": \"cpu\", \"value\": \"x64\"}, {\"key\": \"pool\", \"value\": \"fuchsia.tests\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": []}}]}]}",
+      "{\"requests\": [{\"name\": \"zbi-test-x64 - QEMU\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:QEMU-x64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"cipd_input\": {\"packages\": [{\"package_name\": \"fuchsia/third_party/qemu/${platform}\", \"path\": \"qemu\", \"version\": \"git_revision:533bf2563d0213a7e002d9fcde75519d30ffa70f\"}]}, \"command\": [\"./botanist\", \"-level\", \"debug\", \"run\", \"-images\", \"images.json\", \"-serial-log\", \"serial.txt\", \"-config\", \"./qemu.json\", \"-netboot\", \"./seriallistener\", \"-timeout\", \"5m\", \"-stdout=False\", \"-success\", \"purple monkey dishwasher\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"kvm\", \"value\": \"1\"}, {\"key\": \"os\", \"value\": \"Debian\"}, {\"key\": \"cpu\", \"value\": \"x64\"}, {\"key\": \"pool\", \"value\": \"fuchsia.tests\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": [\"serial.txt\"]}}]}]}",
       "-json-output",
       "/path/to/tmp/json",
       "-cancel-extra-tasks"
@@ -2079,12 +2484,88 @@
       "@@@STEP_LOG_LINE@json.output@      \"request\": {@@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"zbi-test-x64 - QEMU\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"456\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"124\"@@@",
       "@@@STEP_LOG_LINE@json.output@    }@@@",
       "@@@STEP_LOG_LINE@json.output@  ]@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
-      "@@@STEP_LINK@task UI: zbi-test-x64 - QEMU@https://example.swarmingserver.appspot.com/task?id=456@@@"
+      "@@@STEP_LINK@task UI: zbi-test-x64 - QEMU@https://example.swarmingserver.appspot.com/task?id=124@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "launch/collect.1.launch.zbi-test-x64 - Intel NUC Kit NUC7i5DNHE (attempt 1)",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@3@@@",
+      "@@@STEP_LINK@Swarming task@https://example.swarmingserver.appspot.com/task?id=128@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[CACHE]/swarming_client/swarming",
+      "spawn-tasks",
+      "-server",
+      "https://example.swarmingserver.appspot.com",
+      "-json-input",
+      "{\"requests\": [{\"name\": \"zbi-test-x64 - Intel NUC Kit NUC7i5DNHE\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:Intel NUC Kit NUC7i5DNHE-x64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"command\": [\"./botanist\", \"-level\", \"debug\", \"run\", \"-images\", \"images.json\", \"-serial-log\", \"serial.txt\", \"-config\", \"/etc/botanist/config.json\", \"-netboot\", \"./seriallistener\", \"-timeout\", \"5m\", \"-stdout=True\", \"-success\", \"purple monkey dishwasher\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"pool\", \"value\": \"fuchsia.tests\"}, {\"key\": \"device_type\", \"value\": \"Intel NUC Kit NUC7i5DNHE\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": [\"serial.txt\"]}}]}]}",
+      "-json-output",
+      "/path/to/tmp/json",
+      "-cancel-extra-tasks"
+    ],
+    "infra_step": true,
+    "name": "launch/collect.1.launch.zbi-test-x64 - Intel NUC Kit NUC7i5DNHE (attempt 1).trigger",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@4@@@",
+      "@@@STEP_LOG_LINE@json.output@{@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"tasks\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@    {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"request\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"name\": \"zbi-test-x64 - Intel NUC Kit NUC7i5DNHE\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      }, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"128\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  ]@@@",
+      "@@@STEP_LOG_LINE@json.output@}@@@",
+      "@@@STEP_LOG_END@json.output@@@",
+      "@@@STEP_LINK@task UI: zbi-test-x64 - Intel NUC Kit NUC7i5DNHE@https://example.swarmingserver.appspot.com/task?id=128@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "launch/collect.1.launch.zbi-test-x64 - AEMU (attempt 1)",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@3@@@",
+      "@@@STEP_LINK@Swarming task@https://example.swarmingserver.appspot.com/task?id=126@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[CACHE]/swarming_client/swarming",
+      "spawn-tasks",
+      "-server",
+      "https://example.swarmingserver.appspot.com",
+      "-json-input",
+      "{\"requests\": [{\"name\": \"zbi-test-x64 - AEMU\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:AEMU-x64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"cipd_input\": {\"packages\": [{\"package_name\": \"fuchsia/third_party/aemu/${platform}\", \"path\": \"aemu/bin\", \"version\": \"git_revision:de95df869556006ad87f402110aa835d03835060\"}]}, \"command\": [\"./botanist\", \"-level\", \"debug\", \"run\", \"-images\", \"images.json\", \"-serial-log\", \"serial.txt\", \"-config\", \"./qemu.json\", \"-netboot\", \"./seriallistener\", \"-timeout\", \"5m\", \"-stdout=False\", \"-success\", \"purple monkey dishwasher\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"kvm\", \"value\": \"1\"}, {\"key\": \"os\", \"value\": \"Debian\"}, {\"key\": \"cpu\", \"value\": \"x64\"}, {\"key\": \"pool\", \"value\": \"fuchsia.tests\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": [\"serial.txt\"]}}]}]}",
+      "-json-output",
+      "/path/to/tmp/json",
+      "-cancel-extra-tasks"
+    ],
+    "infra_step": true,
+    "name": "launch/collect.1.launch.zbi-test-x64 - AEMU (attempt 1).trigger",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@4@@@",
+      "@@@STEP_LOG_LINE@json.output@{@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"tasks\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@    {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"request\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"name\": \"zbi-test-x64 - AEMU\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      }, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"126\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  ]@@@",
+      "@@@STEP_LOG_LINE@json.output@}@@@",
+      "@@@STEP_LOG_END@json.output@@@",
+      "@@@STEP_LINK@task UI: zbi-test-x64 - AEMU@https://example.swarmingserver.appspot.com/task?id=126@@@"
     ]
   },
   {
@@ -2097,15 +2578,21 @@
       "/path/to/tmp/json",
       "-task-output-stdout",
       "json",
-      "456"
+      "-output-dir",
+      "[CLEANUP]/swarming_tmp_5",
+      "-timeout",
+      "5m",
+      "124",
+      "128",
+      "126"
     ],
     "infra_step": true,
     "name": "launch/collect.1.collect",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"456\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"output\": \"not success\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"124\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"output\": \"purple monkey dishwasherKERNEL PANIC\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"outputs\": [], @@@",
       "@@@STEP_LOG_LINE@json.output@    \"results\": {@@@",
       "@@@STEP_LOG_LINE@json.output@      \"bot_id\": \"vm-123\", @@@",
@@ -2118,13 +2605,53 @@
       "@@@STEP_LOG_LINE@json.output@        \"namespace\": \"default-gzip\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }, @@@",
       "@@@STEP_LOG_LINE@json.output@      \"state\": \"COMPLETED\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"456\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"124\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"126\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"output\": \"purple monkey dishwasherKERNEL PANIC\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"outputs\": [], @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"results\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"bot_id\": \"vm-123\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"duration\": 62.35, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"exit_code\": 0, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"name\": \"zbi-test-x64 - AEMU\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"outputs_ref\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"isolated\": \"abc123\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"namespace\": \"default-gzip\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      }, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"state\": \"COMPLETED\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"126\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"128\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"output\": \"purple monkey dishwasherKERNEL PANIC\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"outputs\": [], @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"results\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"bot_id\": \"vm-123\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"duration\": 62.35, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"exit_code\": 0, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"name\": \"zbi-test-x64 - Intel NUC Kit NUC7i5DNHE\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"outputs_ref\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"isolated\": \"abc123\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"namespace\": \"default-gzip\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      }, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"state\": \"COMPLETED\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"128\"@@@",
       "@@@STEP_LOG_LINE@json.output@    }@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
-      "@@@STEP_LOG_LINE@task stdout+stderr: zbi-test-x64 - QEMU@not success@@@",
+      "@@@STEP_LOG_LINE@task stdout+stderr: zbi-test-x64 - AEMU@purple monkey dishwasherKERNEL PANIC@@@",
+      "@@@STEP_LOG_END@task stdout+stderr: zbi-test-x64 - AEMU@@@",
+      "@@@STEP_LOG_LINE@task stdout+stderr: zbi-test-x64 - Intel NUC Kit NUC7i5DNHE@purple monkey dishwasherKERNEL PANIC@@@",
+      "@@@STEP_LOG_END@task stdout+stderr: zbi-test-x64 - Intel NUC Kit NUC7i5DNHE@@@",
+      "@@@STEP_LOG_LINE@task stdout+stderr: zbi-test-x64 - QEMU@purple monkey dishwasherKERNEL PANIC@@@",
       "@@@STEP_LOG_END@task stdout+stderr: zbi-test-x64 - QEMU@@@",
+      "@@@STEP_LINK@task isolated outputs: zbi-test-x64 - AEMU@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@",
+      "@@@STEP_LINK@task isolated outputs: zbi-test-x64 - Intel NUC Kit NUC7i5DNHE@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@",
       "@@@STEP_LINK@task isolated outputs: zbi-test-x64 - QEMU@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@"
     ]
   },
@@ -2137,6 +2664,76 @@
   },
   {
     "cmd": [],
+    "name": "launch/collect.1.process results.zbi-test-x64 - AEMU",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@3@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_END@symbolized log@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[START_DIR]/fuchsia/out/default/linux_x64/symbolize",
+      "-llvm-symbolizer-restart-interval",
+      "2",
+      "-level",
+      "debug",
+      "-build-id-dir",
+      "[START_DIR]/fuchsia/out/default.zircon/.build-id",
+      "-build-id-dir",
+      "[START_DIR]/fuchsia/prebuilt/third_party/clang/linux-x64/lib/debug/.build-id",
+      "-llvm-symbolizer",
+      "[START_DIR]/fuchsia/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer",
+      "-json-output",
+      "/path/to/tmp/json"
+    ],
+    "infra_step": true,
+    "name": "launch/collect.1.process results.zbi-test-x64 - AEMU.symbolize logs",
+    "stdin": "purple monkey dishwasherKERNEL PANIC",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@4@@@",
+      "@@@STEP_LOG_LINE@json.output[symbolizer-output.json]@{}@@@",
+      "@@@STEP_LOG_END@json.output[symbolizer-output.json]@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "launch/collect.1.process results.zbi-test-x64 - Intel NUC Kit NUC7i5DNHE",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@3@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_END@symbolized log@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[START_DIR]/fuchsia/out/default/linux_x64/symbolize",
+      "-llvm-symbolizer-restart-interval",
+      "2",
+      "-level",
+      "debug",
+      "-build-id-dir",
+      "[START_DIR]/fuchsia/out/default.zircon/.build-id",
+      "-build-id-dir",
+      "[START_DIR]/fuchsia/prebuilt/third_party/clang/linux-x64/lib/debug/.build-id",
+      "-llvm-symbolizer",
+      "[START_DIR]/fuchsia/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer",
+      "-json-output",
+      "/path/to/tmp/json"
+    ],
+    "infra_step": true,
+    "name": "launch/collect.1.process results.zbi-test-x64 - Intel NUC Kit NUC7i5DNHE.symbolize logs",
+    "stdin": "purple monkey dishwasherKERNEL PANIC",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@4@@@",
+      "@@@STEP_LOG_LINE@json.output[symbolizer-output.json]@{}@@@",
+      "@@@STEP_LOG_END@json.output[symbolizer-output.json]@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "launch/collect.1.process results.zbi-test-x64 - QEMU",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
@@ -2163,7 +2760,7 @@
     ],
     "infra_step": true,
     "name": "launch/collect.1.process results.zbi-test-x64 - QEMU.symbolize logs",
-    "stdin": "not success",
+    "stdin": "purple monkey dishwasherKERNEL PANIC",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
       "@@@STEP_LOG_LINE@json.output[symbolizer-output.json]@{}@@@",
@@ -2182,7 +2779,9 @@
     "name": "launch/collect.1.failed tasks",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_LINK@zbi-test-x64 - QEMU (attempt 1)@https://example.swarmingserver.appspot.com/task?id=456@@@"
+      "@@@STEP_LINK@zbi-test-x64 - AEMU (attempt 1)@https://example.swarmingserver.appspot.com/task?id=126@@@",
+      "@@@STEP_LINK@zbi-test-x64 - Intel NUC Kit NUC7i5DNHE (attempt 1)@https://example.swarmingserver.appspot.com/task?id=128@@@",
+      "@@@STEP_LINK@zbi-test-x64 - QEMU (attempt 1)@https://example.swarmingserver.appspot.com/task?id=124@@@"
     ]
   },
   {
@@ -2203,7 +2802,7 @@
     "cmd": [],
     "name": "failures",
     "~followup_annotations": [
-      "@@@STEP_SUMMARY_TEXT@1 failed@@@",
+      "@@@STEP_SUMMARY_TEXT@3 failed@@@",
       "@@@STEP_FAILURE@@@"
     ]
   },
@@ -2220,7 +2819,7 @@
     "name": "failures.zbi-test-x64 - QEMU.attempt 0 (fail)",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_SUMMARY_TEXT@failed to find success string@@@",
+      "@@@STEP_SUMMARY_TEXT@kernel panic@@@",
       "@@@STEP_LOG_LINE@symbolized log@blah@@@",
       "@@@STEP_LOG_LINE@symbolized log@blah@@@",
       "@@@STEP_LOG_END@symbolized log@@@",
@@ -2232,17 +2831,81 @@
     "name": "failures.zbi-test-x64 - QEMU.attempt 1 (fail)",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_SUMMARY_TEXT@failed to find success string@@@",
+      "@@@STEP_SUMMARY_TEXT@kernel panic@@@",
       "@@@STEP_LOG_LINE@symbolized log@blah@@@",
       "@@@STEP_LOG_LINE@symbolized log@blah@@@",
       "@@@STEP_LOG_END@symbolized log@@@",
-      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=456@@@"
+      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=124@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "failures.zbi-test-x64 - Intel NUC Kit NUC7i5DNHE",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_FAILURE@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "failures.zbi-test-x64 - Intel NUC Kit NUC7i5DNHE.attempt 0 (fail)",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@",
+      "@@@STEP_SUMMARY_TEXT@kernel panic@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_END@symbolized log@@@",
+      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=127@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "failures.zbi-test-x64 - Intel NUC Kit NUC7i5DNHE.attempt 1 (fail)",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@",
+      "@@@STEP_SUMMARY_TEXT@kernel panic@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_END@symbolized log@@@",
+      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=128@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "failures.zbi-test-x64 - AEMU",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_FAILURE@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "failures.zbi-test-x64 - AEMU.attempt 0 (fail)",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@",
+      "@@@STEP_SUMMARY_TEXT@kernel panic@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_END@symbolized log@@@",
+      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=125@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "failures.zbi-test-x64 - AEMU.attempt 1 (fail)",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@",
+      "@@@STEP_SUMMARY_TEXT@kernel panic@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_END@symbolized log@@@",
+      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=126@@@"
     ]
   },
   {
     "failure": {
       "failure": {},
-      "humanReason": "task(s) failed: zbi-test-x64 - QEMU"
+      "humanReason": "task(s) failed: zbi-test-x64 - QEMU, zbi-test-x64 - Intel NUC Kit NUC7i5DNHE, zbi-test-x64 - AEMU"
     },
     "name": "$result"
   }
diff --git a/recipes/zbi_test.expected/pass-arm64-AEMU.json b/recipes/zbi_test.expected/pass-arm64-AEMU.json
deleted file mode 100644
index 9428447..0000000
--- a/recipes/zbi_test.expected/pass-arm64-AEMU.json
+++ /dev/null
@@ -1,2083 +0,0 @@
-[
-  {
-    "cmd": [],
-    "name": "checkout"
-  },
-  {
-    "cmd": [],
-    "name": "checkout.ensure jiri",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "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": "checkout.ensure jiri.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-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",
-      "[START_DIR]/fuchsia"
-    ],
-    "infra_step": true,
-    "name": "checkout.jiri init",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[START_DIR]/cipd/jiri/jiri",
-      "import",
-      "-vv",
-      "-time",
-      "-j=50",
-      "-name",
-      "integration",
-      "-revision",
-      "HEAD",
-      "manifest",
-      "https://fuchsia.googlesource.com/fuchsia"
-    ],
-    "cwd": "[START_DIR]/fuchsia",
-    "infra_step": true,
-    "name": "checkout.jiri import",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[START_DIR]/cipd/jiri/jiri",
-      "override",
-      "-vv",
-      "-time",
-      "-j=50",
-      "-revision",
-      "2d72510e447ab60a9728aeea2362d8be2cbd7789",
-      "fuchsia",
-      "https://fuchsia.googlesource.com/fuchsia"
-    ],
-    "cwd": "[START_DIR]/fuchsia",
-    "infra_step": true,
-    "name": "checkout.jiri override",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[START_DIR]/cipd/jiri/jiri",
-      "update",
-      "-vv",
-      "-time",
-      "-j=50",
-      "-autoupdate=false",
-      "-attempts=3",
-      "-run-hooks=false"
-    ],
-    "cwd": "[START_DIR]/fuchsia",
-    "infra_step": true,
-    "name": "checkout.jiri update",
-    "timeout": 1800,
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[START_DIR]/cipd/jiri/jiri",
-      "run-hooks",
-      "-vv",
-      "-time",
-      "-j=50",
-      "-attempts=3"
-    ],
-    "cwd": "[START_DIR]/fuchsia",
-    "infra_step": true,
-    "name": "checkout.jiri run-hooks",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[START_DIR]/cipd/jiri/jiri",
-      "source-manifest",
-      "-vv",
-      "-time",
-      "-j=50",
-      "/path/to/tmp/json"
-    ],
-    "cwd": "[START_DIR]/fuchsia",
-    "infra_step": true,
-    "name": "checkout.jiri source-manifest",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_LINE@json.output[source manifest]@{@@@",
-      "@@@STEP_LOG_LINE@json.output[source manifest]@  \"directories\": {@@@",
-      "@@@STEP_LOG_LINE@json.output[source manifest]@    \"manifest\": {@@@",
-      "@@@STEP_LOG_LINE@json.output[source manifest]@      \"git_checkout\": {@@@",
-      "@@@STEP_LOG_LINE@json.output[source manifest]@        \"repo_url\": \"https://fuchsia.googlesource.com/manifest\", @@@",
-      "@@@STEP_LOG_LINE@json.output[source manifest]@        \"revision\": \"4c2b0da3c06341db5cebe4d02c78c93c3b2bd78b\"@@@",
-      "@@@STEP_LOG_LINE@json.output[source manifest]@      }@@@",
-      "@@@STEP_LOG_LINE@json.output[source manifest]@    }@@@",
-      "@@@STEP_LOG_LINE@json.output[source manifest]@  }@@@",
-      "@@@STEP_LOG_LINE@json.output[source manifest]@}@@@",
-      "@@@STEP_LOG_END@json.output[source manifest]@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[START_DIR]/cipd/jiri/jiri",
-      "snapshot",
-      "-vv",
-      "-time",
-      "-j=50",
-      "[CLEANUP]/jiri.snapshot"
-    ],
-    "cwd": "[START_DIR]/fuchsia",
-    "infra_step": true,
-    "name": "checkout.jiri snapshot",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/jiri.snapshot",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[START_DIR]/fuchsia",
-    "infra_step": true,
-    "name": "checkout.read snapshot",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_END@jiri.snapshot@@@",
-      "@@@STEP_LOG_LINE@snapshot_contents@@@@",
-      "@@@STEP_LOG_END@snapshot_contents@@@"
-    ]
-  },
-  {
-    "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]/fuchsia/prebuilt/third_party/gn/linux-x64/gn",
-      "gen",
-      "[START_DIR]/fuchsia/out/default",
-      "--check",
-      "--args=import(\"//products/bringup.gni\")  base_package_labels+=[\"//garnet/tests/zircon:zbi_tests\",\"//bundles:infratools\"] goma_dir=\"[CACHE]/goma/client\" is_debug=true select_variant=[\"clang\"] target_cpu=\"arm64\" use_goma=true"
-    ],
-    "cwd": "[START_DIR]/fuchsia",
-    "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]/fuchsia/out/default/zircon.json",
-      "/path/to/tmp/json"
-    ],
-    "cwd": "[START_DIR]/fuchsia",
-    "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]/fuchsia/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": [
-      "python",
-      "-u",
-      "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n",
-      "[START_DIR]/fuchsia/out/default/images.json",
-      "/path/to/tmp/json"
-    ],
-    "name": "build.read image manifest",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_LINE@json.output@[@@@",
-      "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"bootserver_pave\": [@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"--boot\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"--zircona\"@@@",
-      "@@@STEP_LOG_LINE@json.output@    ], @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"name\": \"zircon-a\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"fuchsia.zbi\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"type\": \"zbi\"@@@",
-      "@@@STEP_LOG_LINE@json.output@  }, @@@",
-      "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"name\": \"storage-full\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"fvm.blk\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"type\": \"blk\"@@@",
-      "@@@STEP_LOG_LINE@json.output@  }, @@@",
-      "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"bootserver_pave\": [@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"--fvm\"@@@",
-      "@@@STEP_LOG_LINE@json.output@    ], @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"name\": \"storage-sparse\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"fvm.sparse.blk\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"type\": \"blk\"@@@",
-      "@@@STEP_LOG_LINE@json.output@  }, @@@",
-      "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"bootserver_pave\": [@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"--efi\"@@@",
-      "@@@STEP_LOG_LINE@json.output@    ], @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"name\": \"efi\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"fuchsia.esp.blk\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"type\": \"blk\"@@@",
-      "@@@STEP_LOG_LINE@json.output@  }, @@@",
-      "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"bootserver_netboot\": [@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"--boot\"@@@",
-      "@@@STEP_LOG_LINE@json.output@    ], @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"name\": \"netboot\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"netboot.zbi\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"type\": \"zbi\"@@@",
-      "@@@STEP_LOG_LINE@json.output@  }, @@@",
-      "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"name\": \"archive\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"build-archive.tgz\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"type\": \"tgz\"@@@",
-      "@@@STEP_LOG_LINE@json.output@  }, @@@",
-      "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"name\": \"archive\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"build-archive.zip\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"type\": \"zip\"@@@",
-      "@@@STEP_LOG_LINE@json.output@  }, @@@",
-      "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"name\": \"qemu-kernel\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"multiboot.bin\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"type\": \"kernel\"@@@",
-      "@@@STEP_LOG_LINE@json.output@  }, @@@",
-      "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"name\": \"symbol-archive\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"symbol-archive.tgz\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"type\": \"tgz\"@@@",
-      "@@@STEP_LOG_LINE@json.output@  }, @@@",
-      "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"bootserver_pave\": [@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"--zircon-r\"@@@",
-      "@@@STEP_LOG_LINE@json.output@    ], @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"name\": \"zircon-r\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"zircon-r.zbi\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"type\": \"zbi\"@@@",
-      "@@@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]/fuchsia/out/default/zbi_tests.json",
-      "/path/to/tmp/json"
-    ],
-    "name": "build.read zbi test manifest",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_LINE@json.output@[@@@",
-      "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"name\": \"zbi-test-arm64\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../default.zircon/zbi-test-arm64.zbi\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"success_string\": \"purple monkey dishwasher\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"task_name\": \"zbi-test-arm64 - AEMU\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"type\": \"zbi\"@@@",
-      "@@@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]/fuchsia/prebuilt/third_party/ninja/linux_x64/ninja",
-      "-C",
-      "[START_DIR]/fuchsia/out/default.zircon",
-      "-j",
-      "80",
-      "legacy-host_tests",
-      "manifest-$cpu",
-      "zbi-test-arm64.zbi"
-    ],
-    "name": "build.ninja.zircon",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@"
-    ]
-  },
-  {
-    "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]/fuchsia/prebuilt/third_party/ninja/linux_x64/ninja",
-      "-C",
-      "[START_DIR]/fuchsia/out/default",
-      "-j",
-      "80",
-      "bundles:infratools",
-      "multiboot.bin"
-    ],
-    "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": [
-      "vpython",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "{\"build_info\": {\"build_id\": 8945511751514863184, \"time_stamp\": \"2012-05-14 12:53:21.500000\", \"builder\": \"builder\", \"time_stamp_int\": 1337000003000}}",
-      "[CACHE]/goma/client/goma_stats.json"
-    ],
-    "infra_step": true,
-    "name": "build.ninja.post_goma.write goma_stats.json",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_LOG_LINE@goma_stats.json@{\"build_info\": {\"build_id\": 8945511751514863184, \"time_stamp\": \"2012-05-14 12:53:21.500000\", \"builder\": \"builder\", \"time_stamp_int\": 1337000003000}}@@@",
-      "@@@STEP_LOG_END@goma_stats.json@@@",
-      "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"build_info\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"build_id\": 8945511751514863184, @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"time_stamp\": \"2012-05-14 12:53:21.500000\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"builder\": \"builder\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"time_stamp_int\": 1337000003000@@@",
-      "@@@STEP_LOG_LINE@json.output@    }@@@",
-      "@@@STEP_LOG_LINE@json.output@}@@@",
-      "@@@STEP_LOG_END@json.output@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "build.ninja.post_goma.ensure bqupload",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@3@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "cipd",
-      "ensure",
-      "-root",
-      "[START_DIR]/cipd/bqupload",
-      "-ensure-file",
-      "infra/tools/bqupload/${platform} git_revision:d85fe78f303c3e969f815121e17c8b08868039ef",
-      "-json-output",
-      "/path/to/tmp/json"
-    ],
-    "infra_step": true,
-    "name": "build.ninja.post_goma.ensure bqupload.ensure_installed",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@4@@@",
-      "@@@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:d85\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"package\": \"infra/tools/bqupload/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/bqupload/bqupload",
-      "fuchsia-infra.artifacts.builds_beta_goma",
-      "[CACHE]/goma/client/goma_stats.json"
-    ],
-    "name": "build.ninja.post_goma.upload goma_stats_to BQ: fuchsia-infra/artifacts/builds_beta_goma",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@3@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "prepare test: zbi-test-arm64 - AEMU"
-  },
-  {
-    "cmd": [
-      "python",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/symlink.py",
-      "--link-json",
-      "{\"[START_DIR]/fuchsia/out/default/../default.zircon/zbi-test-arm64.zbi\": [\"[CLEANUP]/isolate_tmp_2/zbi-test-arm64.zbi\"], \"[START_DIR]/fuchsia/out/default/linux_arm64/botanist\": [\"[CLEANUP]/isolate_tmp_2/botanist\"], \"[START_DIR]/fuchsia/out/default/multiboot.bin\": [\"[CLEANUP]/isolate_tmp_2/multiboot.bin\"]}"
-    ],
-    "infra_step": true,
-    "name": "prepare test: zbi-test-arm64 - AEMU.create tree of images",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[\n  {\n    \"name\": \"zircon-a\", \n    \"success_string\": \"purple monkey dishwasher\", \n    \"task_name\": \"zbi-test-arm64 - AEMU\", \n    \"path\": \"zbi-test-arm64.zbi\", \n    \"type\": \"zbi\", \n    \"cpu\": \"arm64\"\n  }, \n  {\n    \"path\": \"multiboot.bin\", \n    \"type\": \"kernel\", \n    \"name\": \"qemu-kernel\"\n  }\n]",
-      "[CLEANUP]/isolate_tmp_2/images.json"
-    ],
-    "infra_step": true,
-    "name": "prepare test: zbi-test-arm64 - AEMU.write image manifest",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_LINE@images.json@[@@@",
-      "@@@STEP_LOG_LINE@images.json@  {@@@",
-      "@@@STEP_LOG_LINE@images.json@    \"name\": \"zircon-a\", @@@",
-      "@@@STEP_LOG_LINE@images.json@    \"success_string\": \"purple monkey dishwasher\", @@@",
-      "@@@STEP_LOG_LINE@images.json@    \"task_name\": \"zbi-test-arm64 - AEMU\", @@@",
-      "@@@STEP_LOG_LINE@images.json@    \"path\": \"zbi-test-arm64.zbi\", @@@",
-      "@@@STEP_LOG_LINE@images.json@    \"type\": \"zbi\", @@@",
-      "@@@STEP_LOG_LINE@images.json@    \"cpu\": \"arm64\"@@@",
-      "@@@STEP_LOG_LINE@images.json@  }, @@@",
-      "@@@STEP_LOG_LINE@images.json@  {@@@",
-      "@@@STEP_LOG_LINE@images.json@    \"path\": \"multiboot.bin\", @@@",
-      "@@@STEP_LOG_LINE@images.json@    \"type\": \"kernel\", @@@",
-      "@@@STEP_LOG_LINE@images.json@    \"name\": \"qemu-kernel\"@@@",
-      "@@@STEP_LOG_LINE@images.json@  }@@@",
-      "@@@STEP_LOG_LINE@images.json@]@@@",
-      "@@@STEP_LOG_END@images.json@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "prepare test: zbi-test-arm64 - AEMU.ensure isolated",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "cipd",
-      "ensure",
-      "-root",
-      "[CACHE]/isolated_client",
-      "-ensure-file",
-      "infra/tools/luci/isolated/${platform} git_revision:305e79001db1846906c7136d90a863bee5bd3bfc",
-      "-json-output",
-      "/path/to/tmp/json"
-    ],
-    "infra_step": true,
-    "name": "prepare test: zbi-test-arm64 - AEMU.ensure isolated.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-git_revision:305\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"package\": \"infra/tools/luci/isolated/resolved-platform\"@@@",
-      "@@@STEP_LOG_LINE@json.output@      }@@@",
-      "@@@STEP_LOG_LINE@json.output@    ]@@@",
-      "@@@STEP_LOG_LINE@json.output@  }@@@",
-      "@@@STEP_LOG_LINE@json.output@}@@@",
-      "@@@STEP_LOG_END@json.output@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[CACHE]/isolated_client/isolated",
-      "archive",
-      "-verbose",
-      "-isolate-server",
-      "https://example.isolateserver.appspot.com",
-      "-namespace",
-      "default-gzip",
-      "-dump-hash",
-      "/path/to/tmp/",
-      "-dirs",
-      "[CLEANUP]/isolate_tmp_2:."
-    ],
-    "infra_step": true,
-    "name": "prepare test: zbi-test-arm64 - AEMU.isolate images",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LINK@isolated UI@https://example.isolateserver.appspot.com/browse?namespace=default-gzip&hash=%5Bdummy+hash%5D@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect"
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.0",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@1 launched, 1 passed@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.0.launch",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.0.launch.zbi-test-arm64 - AEMU (attempt 0)",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_LINK@Swarming task@https://example.swarmingserver.appspot.com/task?id=123@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.0.launch.zbi-test-arm64 - AEMU (attempt 0).ensure swarming",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@4@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "cipd",
-      "ensure",
-      "-root",
-      "[CACHE]/swarming_client",
-      "-ensure-file",
-      "infra/tools/luci/swarming/${platform} git_revision:67b11ada44a625008a2db5cb49ad453494b16ba1",
-      "-json-output",
-      "/path/to/tmp/json"
-    ],
-    "infra_step": true,
-    "name": "launch/collect.0.launch.zbi-test-arm64 - AEMU (attempt 0).ensure swarming.ensure_installed",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@5@@@",
-      "@@@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:67b\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"package\": \"infra/tools/luci/swarming/resolved-platform\"@@@",
-      "@@@STEP_LOG_LINE@json.output@      }@@@",
-      "@@@STEP_LOG_LINE@json.output@    ]@@@",
-      "@@@STEP_LOG_LINE@json.output@  }@@@",
-      "@@@STEP_LOG_LINE@json.output@}@@@",
-      "@@@STEP_LOG_END@json.output@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[CACHE]/swarming_client/swarming",
-      "spawn-tasks",
-      "-server",
-      "https://example.swarmingserver.appspot.com",
-      "-json-input",
-      "{\"requests\": [{\"name\": \"zbi-test-arm64 - AEMU\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:AEMU-arm64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"cipd_input\": {\"packages\": [{\"package_name\": \"fuchsia/third_party/aemu/${platform}\", \"path\": \"aemu/bin\", \"version\": \"git_revision:de95df869556006ad87f402110aa835d03835060\"}]}, \"command\": [\"./botanist\", \"-level\", \"debug\", \"qemu\", \"-type\", \"aemu\", \"-qemu-dir\", \"./aemu/bin\", \"-images\", \"images.json\", \"-arch\", \"arm64\", \"-use-kvm\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"kvm\", \"value\": \"1\"}, {\"key\": \"os\", \"value\": \"Debian\"}, {\"key\": \"cpu\", \"value\": \"arm64\"}, {\"key\": \"pool\", \"value\": \"fuchsia.tests\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": []}}]}]}",
-      "-json-output",
-      "/path/to/tmp/json",
-      "-cancel-extra-tasks"
-    ],
-    "infra_step": true,
-    "name": "launch/collect.0.launch.zbi-test-arm64 - AEMU (attempt 0).trigger",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@4@@@",
-      "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"tasks\": [@@@",
-      "@@@STEP_LOG_LINE@json.output@    {@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"request\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"name\": \"zbi-test-arm64 - AEMU\"@@@",
-      "@@@STEP_LOG_LINE@json.output@      }, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"123\"@@@",
-      "@@@STEP_LOG_LINE@json.output@    }@@@",
-      "@@@STEP_LOG_LINE@json.output@  ]@@@",
-      "@@@STEP_LOG_LINE@json.output@}@@@",
-      "@@@STEP_LOG_END@json.output@@@",
-      "@@@STEP_LINK@task UI: zbi-test-arm64 - AEMU@https://example.swarmingserver.appspot.com/task?id=123@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[CACHE]/swarming_client/swarming",
-      "collect",
-      "-server",
-      "https://example.swarmingserver.appspot.com",
-      "-task-summary-json",
-      "/path/to/tmp/json",
-      "-task-output-stdout",
-      "json",
-      "123"
-    ],
-    "infra_step": true,
-    "name": "launch/collect.0.collect",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"123\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"output\": \"purple monkey dishwasher\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"outputs\": [], @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"results\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"bot_id\": \"vm-123\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"duration\": 62.35, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"exit_code\": 0, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"name\": \"zbi-test-arm64 - AEMU\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"outputs_ref\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"isolated\": \"abc123\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"namespace\": \"default-gzip\"@@@",
-      "@@@STEP_LOG_LINE@json.output@      }, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"state\": \"COMPLETED\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"123\"@@@",
-      "@@@STEP_LOG_LINE@json.output@    }@@@",
-      "@@@STEP_LOG_LINE@json.output@  }@@@",
-      "@@@STEP_LOG_LINE@json.output@}@@@",
-      "@@@STEP_LOG_END@json.output@@@",
-      "@@@STEP_LOG_LINE@task stdout+stderr: zbi-test-arm64 - AEMU@purple monkey dishwasher@@@",
-      "@@@STEP_LOG_END@task stdout+stderr: zbi-test-arm64 - AEMU@@@",
-      "@@@STEP_LINK@task isolated outputs: zbi-test-arm64 - AEMU@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.0.process results",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.0.process results.zbi-test-arm64 - AEMU",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
-      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
-      "@@@STEP_LOG_END@symbolized log@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[START_DIR]/fuchsia/out/default/linux_x64/symbolize",
-      "-llvm-symbolizer-restart-interval",
-      "2",
-      "-level",
-      "debug",
-      "-build-id-dir",
-      "[START_DIR]/fuchsia/out/default.zircon/.build-id",
-      "-build-id-dir",
-      "[START_DIR]/fuchsia/prebuilt/third_party/clang/linux-x64/lib/debug/.build-id",
-      "-llvm-symbolizer",
-      "[START_DIR]/fuchsia/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer",
-      "-json-output",
-      "/path/to/tmp/json"
-    ],
-    "infra_step": true,
-    "name": "launch/collect.0.process results.zbi-test-arm64 - AEMU.symbolize logs",
-    "stdin": "purple monkey dishwasher",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@4@@@",
-      "@@@STEP_LOG_LINE@json.output[symbolizer-output.json]@{}@@@",
-      "@@@STEP_LOG_END@json.output[symbolizer-output.json]@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.0.process results.always pass",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@3@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.0.passed tasks",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_LINK@zbi-test-arm64 - AEMU (attempt 0)@https://example.swarmingserver.appspot.com/task?id=123@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "passes",
-    "~followup_annotations": [
-      "@@@STEP_SUMMARY_TEXT@1 passed@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "passes.zbi-test-arm64 - AEMU",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "passes.zbi-test-arm64 - AEMU.attempt 0 (pass)",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
-      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
-      "@@@STEP_LOG_END@symbolized log@@@",
-      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=123@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "flakes",
-    "~followup_annotations": [
-      "@@@STEP_SUMMARY_TEXT@0 flaked@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "failures",
-    "~followup_annotations": [
-      "@@@STEP_SUMMARY_TEXT@0 failed@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "all tasks passed"
-  },
-  {
-    "name": "$result"
-  }
-]
\ No newline at end of file
diff --git a/recipes/zbi_test.expected/flake-x64-AEMU.json b/recipes/zbi_test.expected/pass-arm64-QEMU.json
similarity index 93%
rename from recipes/zbi_test.expected/flake-x64-AEMU.json
rename to recipes/zbi_test.expected/pass-arm64-QEMU.json
index 08ed7fe..84cacdb 100644
--- a/recipes/zbi_test.expected/flake-x64-AEMU.json
+++ b/recipes/zbi_test.expected/pass-arm64-QEMU.json
@@ -242,7 +242,7 @@
       "gen",
       "[START_DIR]/fuchsia/out/default",
       "--check",
-      "--args=import(\"//products/bringup.gni\")  base_package_labels+=[\"//garnet/tests/zircon:zbi_tests\",\"//bundles:infratools\"] goma_dir=\"[CACHE]/goma/client\" is_debug=true select_variant=[\"clang\"] target_cpu=\"x64\" use_goma=true"
+      "--args=import(\"//products/bringup.gni\")  base_package_labels+=[\"//garnet/tests/zircon:zbi_tests\",\"//bundles:infratools\"] goma_dir=\"[CACHE]/goma/client\" is_debug=true select_variant=[\"clang\"] target_cpu=\"arm64\" use_goma=true"
     ],
     "cwd": "[START_DIR]/fuchsia",
     "name": "build.gn gen",
@@ -1447,11 +1447,10 @@
       "@@@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@    \"name\": \"zbi-test-x64\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../default.zircon/zbi-test-x64.zbi\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"zbi-test-arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../default.zircon/zbi-test-arm64.zbi\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"success_string\": \"purple monkey dishwasher\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"task_name\": \"zbi-test-x64 - AEMU\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"type\": \"zbi\"@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@]@@@",
@@ -1541,7 +1540,7 @@
       "80",
       "legacy-host_tests",
       "manifest-$cpu",
-      "zbi-test-x64.zbi"
+      "zbi-test-arm64.zbi"
     ],
     "name": "build.ninja.zircon",
     "~followup_annotations": [
@@ -1739,7 +1738,7 @@
   },
   {
     "cmd": [],
-    "name": "prepare test: zbi-test-x64 - AEMU"
+    "name": "prepare test: zbi-test-arm64 - QEMU"
   },
   {
     "cmd": [
@@ -1747,10 +1746,10 @@
       "-u",
       "RECIPE_MODULE[recipe_engine::file]/resources/symlink.py",
       "--link-json",
-      "{\"[START_DIR]/fuchsia/out/default/../default.zircon/zbi-test-x64.zbi\": [\"[CLEANUP]/isolate_tmp_2/zbi-test-x64.zbi\"], \"[START_DIR]/fuchsia/out/default/linux_x64/botanist\": [\"[CLEANUP]/isolate_tmp_2/botanist\"], \"[START_DIR]/fuchsia/out/default/multiboot.bin\": [\"[CLEANUP]/isolate_tmp_2/multiboot.bin\"]}"
+      "{\"[START_DIR]/fuchsia/out/default/../default.zircon/zbi-test-arm64.zbi\": [\"[CLEANUP]/isolate_tmp_2/zbi-test-arm64.zbi\"], \"[START_DIR]/fuchsia/out/default/linux_arm64/botanist\": [\"[CLEANUP]/isolate_tmp_2/botanist\"], \"[START_DIR]/fuchsia/out/default/multiboot.bin\": [\"[CLEANUP]/isolate_tmp_2/multiboot.bin\"]}"
     ],
     "infra_step": true,
-    "name": "prepare test: zbi-test-x64 - AEMU.create tree of images",
+    "name": "prepare test: zbi-test-arm64 - QEMU.create tree of images",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
@@ -1763,21 +1762,20 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "[\n  {\n    \"name\": \"zircon-a\", \n    \"success_string\": \"purple monkey dishwasher\", \n    \"task_name\": \"zbi-test-x64 - AEMU\", \n    \"path\": \"zbi-test-x64.zbi\", \n    \"type\": \"zbi\", \n    \"cpu\": \"x64\"\n  }, \n  {\n    \"path\": \"multiboot.bin\", \n    \"type\": \"kernel\", \n    \"name\": \"qemu-kernel\"\n  }\n]",
+      "[\n  {\n    \"success_string\": \"purple monkey dishwasher\", \n    \"path\": \"zbi-test-arm64.zbi\", \n    \"type\": \"zbi\", \n    \"cpu\": \"arm64\", \n    \"name\": \"zircon-a\"\n  }, \n  {\n    \"path\": \"multiboot.bin\", \n    \"type\": \"kernel\", \n    \"name\": \"qemu-kernel\"\n  }\n]",
       "[CLEANUP]/isolate_tmp_2/images.json"
     ],
     "infra_step": true,
-    "name": "prepare test: zbi-test-x64 - AEMU.write image manifest",
+    "name": "prepare test: zbi-test-arm64 - QEMU.write image manifest",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@images.json@[@@@",
       "@@@STEP_LOG_LINE@images.json@  {@@@",
-      "@@@STEP_LOG_LINE@images.json@    \"name\": \"zircon-a\", @@@",
       "@@@STEP_LOG_LINE@images.json@    \"success_string\": \"purple monkey dishwasher\", @@@",
-      "@@@STEP_LOG_LINE@images.json@    \"task_name\": \"zbi-test-x64 - AEMU\", @@@",
-      "@@@STEP_LOG_LINE@images.json@    \"path\": \"zbi-test-x64.zbi\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"path\": \"zbi-test-arm64.zbi\", @@@",
       "@@@STEP_LOG_LINE@images.json@    \"type\": \"zbi\", @@@",
-      "@@@STEP_LOG_LINE@images.json@    \"cpu\": \"x64\"@@@",
+      "@@@STEP_LOG_LINE@images.json@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"name\": \"zircon-a\"@@@",
       "@@@STEP_LOG_LINE@images.json@  }, @@@",
       "@@@STEP_LOG_LINE@images.json@  {@@@",
       "@@@STEP_LOG_LINE@images.json@    \"path\": \"multiboot.bin\", @@@",
@@ -1790,7 +1788,7 @@
   },
   {
     "cmd": [],
-    "name": "prepare test: zbi-test-x64 - AEMU.ensure isolated",
+    "name": "prepare test: zbi-test-arm64 - QEMU.ensure isolated",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
@@ -1807,7 +1805,7 @@
       "/path/to/tmp/json"
     ],
     "infra_step": true,
-    "name": "prepare test: zbi-test-x64 - AEMU.ensure isolated.ensure_installed",
+    "name": "prepare test: zbi-test-arm64 - QEMU.ensure isolated.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -1838,7 +1836,7 @@
       "[CLEANUP]/isolate_tmp_2:."
     ],
     "infra_step": true,
-    "name": "prepare test: zbi-test-x64 - AEMU.isolate images",
+    "name": "prepare test: zbi-test-arm64 - QEMU.isolate images",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LINK@isolated UI@https://example.isolateserver.appspot.com/browse?namespace=default-gzip&hash=%5Bdummy+hash%5D@@@"
@@ -1865,7 +1863,7 @@
   },
   {
     "cmd": [],
-    "name": "launch/collect.0.launch.zbi-test-x64 - AEMU (attempt 0)",
+    "name": "launch/collect.0.launch.zbi-test-arm64 - QEMU (attempt 0)",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
       "@@@STEP_LINK@Swarming task@https://example.swarmingserver.appspot.com/task?id=123@@@"
@@ -1873,7 +1871,7 @@
   },
   {
     "cmd": [],
-    "name": "launch/collect.0.launch.zbi-test-x64 - AEMU (attempt 0).ensure swarming",
+    "name": "launch/collect.0.launch.zbi-test-arm64 - QEMU (attempt 0).ensure swarming",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@"
     ]
@@ -1890,7 +1888,7 @@
       "/path/to/tmp/json"
     ],
     "infra_step": true,
-    "name": "launch/collect.0.launch.zbi-test-x64 - AEMU (attempt 0).ensure swarming.ensure_installed",
+    "name": "launch/collect.0.launch.zbi-test-arm64 - QEMU (attempt 0).ensure swarming.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@5@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -1913,27 +1911,27 @@
       "-server",
       "https://example.swarmingserver.appspot.com",
       "-json-input",
-      "{\"requests\": [{\"name\": \"zbi-test-x64 - AEMU\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:AEMU-x64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"cipd_input\": {\"packages\": [{\"package_name\": \"fuchsia/third_party/aemu/${platform}\", \"path\": \"aemu/bin\", \"version\": \"git_revision:de95df869556006ad87f402110aa835d03835060\"}]}, \"command\": [\"./botanist\", \"-level\", \"debug\", \"qemu\", \"-type\", \"aemu\", \"-qemu-dir\", \"./aemu/bin\", \"-images\", \"images.json\", \"-arch\", \"x64\", \"-use-kvm\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"kvm\", \"value\": \"1\"}, {\"key\": \"os\", \"value\": \"Debian\"}, {\"key\": \"cpu\", \"value\": \"x64\"}, {\"key\": \"pool\", \"value\": \"fuchsia.tests\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": []}}]}]}",
+      "{\"requests\": [{\"name\": \"zbi-test-arm64 - QEMU\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:QEMU-arm64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"cipd_input\": {\"packages\": [{\"package_name\": \"fuchsia/third_party/qemu/${platform}\", \"path\": \"qemu\", \"version\": \"git_revision:533bf2563d0213a7e002d9fcde75519d30ffa70f\"}]}, \"command\": [\"./botanist\", \"-level\", \"debug\", \"qemu\", \"-type\", \"qemu\", \"-qemu-dir\", \"./qemu/bin\", \"-images\", \"images.json\", \"-arch\", \"arm64\", \"-use-kvm\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"kvm\", \"value\": \"1\"}, {\"key\": \"os\", \"value\": \"Debian\"}, {\"key\": \"cpu\", \"value\": \"arm64\"}, {\"key\": \"pool\", \"value\": \"fuchsia.tests\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": []}}]}]}",
       "-json-output",
       "/path/to/tmp/json",
       "-cancel-extra-tasks"
     ],
     "infra_step": true,
-    "name": "launch/collect.0.launch.zbi-test-x64 - AEMU (attempt 0).trigger",
+    "name": "launch/collect.0.launch.zbi-test-arm64 - QEMU (attempt 0).trigger",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"tasks\": [@@@",
       "@@@STEP_LOG_LINE@json.output@    {@@@",
       "@@@STEP_LOG_LINE@json.output@      \"request\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"name\": \"zbi-test-x64 - AEMU\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"name\": \"zbi-test-arm64 - QEMU\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }, @@@",
       "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"123\"@@@",
       "@@@STEP_LOG_LINE@json.output@    }@@@",
       "@@@STEP_LOG_LINE@json.output@  ]@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
-      "@@@STEP_LINK@task UI: zbi-test-x64 - AEMU@https://example.swarmingserver.appspot.com/task?id=123@@@"
+      "@@@STEP_LINK@task UI: zbi-test-arm64 - QEMU@https://example.swarmingserver.appspot.com/task?id=123@@@"
     ]
   },
   {
@@ -1946,6 +1944,8 @@
       "/path/to/tmp/json",
       "-task-output-stdout",
       "json",
+      "-output-dir",
+      "[CLEANUP]/swarming_tmp_3",
       "123"
     ],
     "infra_step": true,
@@ -1960,7 +1960,7 @@
       "@@@STEP_LOG_LINE@json.output@      \"bot_id\": \"vm-123\", @@@",
       "@@@STEP_LOG_LINE@json.output@      \"duration\": 62.35, @@@",
       "@@@STEP_LOG_LINE@json.output@      \"exit_code\": 0, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"name\": \"zbi-test-x64 - AEMU\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"name\": \"zbi-test-arm64 - QEMU\", @@@",
       "@@@STEP_LOG_LINE@json.output@      \"outputs_ref\": {@@@",
       "@@@STEP_LOG_LINE@json.output@        \"isolated\": \"abc123\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@",
@@ -1972,9 +1972,9 @@
       "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
-      "@@@STEP_LOG_LINE@task stdout+stderr: zbi-test-x64 - AEMU@not success@@@",
-      "@@@STEP_LOG_END@task stdout+stderr: zbi-test-x64 - AEMU@@@",
-      "@@@STEP_LINK@task isolated outputs: zbi-test-x64 - AEMU@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@"
+      "@@@STEP_LOG_LINE@task stdout+stderr: zbi-test-arm64 - QEMU@not success@@@",
+      "@@@STEP_LOG_END@task stdout+stderr: zbi-test-arm64 - QEMU@@@",
+      "@@@STEP_LINK@task isolated outputs: zbi-test-arm64 - QEMU@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@"
     ]
   },
   {
@@ -1986,7 +1986,7 @@
   },
   {
     "cmd": [],
-    "name": "launch/collect.0.process results.zbi-test-x64 - AEMU",
+    "name": "launch/collect.0.process results.zbi-test-arm64 - QEMU",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
       "@@@STEP_LOG_LINE@symbolized log@blah@@@",
@@ -2011,7 +2011,7 @@
       "/path/to/tmp/json"
     ],
     "infra_step": true,
-    "name": "launch/collect.0.process results.zbi-test-x64 - AEMU.symbolize logs",
+    "name": "launch/collect.0.process results.zbi-test-arm64 - QEMU.symbolize logs",
     "stdin": "not success",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
@@ -2031,7 +2031,7 @@
     "name": "launch/collect.0.failed tasks",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_LINK@zbi-test-x64 - AEMU (attempt 0)@https://example.swarmingserver.appspot.com/task?id=123@@@"
+      "@@@STEP_LINK@zbi-test-arm64 - QEMU (attempt 0)@https://example.swarmingserver.appspot.com/task?id=123@@@"
     ]
   },
   {
@@ -2051,10 +2051,10 @@
   },
   {
     "cmd": [],
-    "name": "launch/collect.1.launch.zbi-test-x64 - AEMU (attempt 1)",
+    "name": "launch/collect.1.launch.zbi-test-arm64 - QEMU (attempt 1)",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_LINK@Swarming task@https://example.swarmingserver.appspot.com/task?id=456@@@"
+      "@@@STEP_LINK@Swarming task@https://example.swarmingserver.appspot.com/task?id=124@@@"
     ]
   },
   {
@@ -2064,27 +2064,27 @@
       "-server",
       "https://example.swarmingserver.appspot.com",
       "-json-input",
-      "{\"requests\": [{\"name\": \"zbi-test-x64 - AEMU\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:AEMU-x64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"cipd_input\": {\"packages\": [{\"package_name\": \"fuchsia/third_party/aemu/${platform}\", \"path\": \"aemu/bin\", \"version\": \"git_revision:de95df869556006ad87f402110aa835d03835060\"}]}, \"command\": [\"./botanist\", \"-level\", \"debug\", \"qemu\", \"-type\", \"aemu\", \"-qemu-dir\", \"./aemu/bin\", \"-images\", \"images.json\", \"-arch\", \"x64\", \"-use-kvm\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"kvm\", \"value\": \"1\"}, {\"key\": \"os\", \"value\": \"Debian\"}, {\"key\": \"cpu\", \"value\": \"x64\"}, {\"key\": \"pool\", \"value\": \"fuchsia.tests\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": []}}]}]}",
+      "{\"requests\": [{\"name\": \"zbi-test-arm64 - QEMU\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:QEMU-arm64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"cipd_input\": {\"packages\": [{\"package_name\": \"fuchsia/third_party/qemu/${platform}\", \"path\": \"qemu\", \"version\": \"git_revision:533bf2563d0213a7e002d9fcde75519d30ffa70f\"}]}, \"command\": [\"./botanist\", \"-level\", \"debug\", \"qemu\", \"-type\", \"qemu\", \"-qemu-dir\", \"./qemu/bin\", \"-images\", \"images.json\", \"-arch\", \"arm64\", \"-use-kvm\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"kvm\", \"value\": \"1\"}, {\"key\": \"os\", \"value\": \"Debian\"}, {\"key\": \"cpu\", \"value\": \"arm64\"}, {\"key\": \"pool\", \"value\": \"fuchsia.tests\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": []}}]}]}",
       "-json-output",
       "/path/to/tmp/json",
       "-cancel-extra-tasks"
     ],
     "infra_step": true,
-    "name": "launch/collect.1.launch.zbi-test-x64 - AEMU (attempt 1).trigger",
+    "name": "launch/collect.1.launch.zbi-test-arm64 - QEMU (attempt 1).trigger",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"tasks\": [@@@",
       "@@@STEP_LOG_LINE@json.output@    {@@@",
       "@@@STEP_LOG_LINE@json.output@      \"request\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"name\": \"zbi-test-x64 - AEMU\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"name\": \"zbi-test-arm64 - QEMU\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"456\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"124\"@@@",
       "@@@STEP_LOG_LINE@json.output@    }@@@",
       "@@@STEP_LOG_LINE@json.output@  ]@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
-      "@@@STEP_LINK@task UI: zbi-test-x64 - AEMU@https://example.swarmingserver.appspot.com/task?id=456@@@"
+      "@@@STEP_LINK@task UI: zbi-test-arm64 - QEMU@https://example.swarmingserver.appspot.com/task?id=124@@@"
     ]
   },
   {
@@ -2097,35 +2097,37 @@
       "/path/to/tmp/json",
       "-task-output-stdout",
       "json",
-      "456"
+      "-output-dir",
+      "[CLEANUP]/swarming_tmp_3",
+      "124"
     ],
     "infra_step": true,
     "name": "launch/collect.1.collect",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"456\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"124\": {@@@",
       "@@@STEP_LOG_LINE@json.output@    \"output\": \"purple monkey dishwasher\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"outputs\": [], @@@",
       "@@@STEP_LOG_LINE@json.output@    \"results\": {@@@",
       "@@@STEP_LOG_LINE@json.output@      \"bot_id\": \"vm-123\", @@@",
       "@@@STEP_LOG_LINE@json.output@      \"duration\": 62.35, @@@",
       "@@@STEP_LOG_LINE@json.output@      \"exit_code\": 0, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"name\": \"zbi-test-x64 - AEMU\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"name\": \"zbi-test-arm64 - QEMU\", @@@",
       "@@@STEP_LOG_LINE@json.output@      \"outputs_ref\": {@@@",
       "@@@STEP_LOG_LINE@json.output@        \"isolated\": \"abc123\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"namespace\": \"default-gzip\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }, @@@",
       "@@@STEP_LOG_LINE@json.output@      \"state\": \"COMPLETED\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"456\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"124\"@@@",
       "@@@STEP_LOG_LINE@json.output@    }@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
-      "@@@STEP_LOG_LINE@task stdout+stderr: zbi-test-x64 - AEMU@purple monkey dishwasher@@@",
-      "@@@STEP_LOG_END@task stdout+stderr: zbi-test-x64 - AEMU@@@",
-      "@@@STEP_LINK@task isolated outputs: zbi-test-x64 - AEMU@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@"
+      "@@@STEP_LOG_LINE@task stdout+stderr: zbi-test-arm64 - QEMU@purple monkey dishwasher@@@",
+      "@@@STEP_LOG_END@task stdout+stderr: zbi-test-arm64 - QEMU@@@",
+      "@@@STEP_LINK@task isolated outputs: zbi-test-arm64 - QEMU@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@"
     ]
   },
   {
@@ -2137,7 +2139,7 @@
   },
   {
     "cmd": [],
-    "name": "launch/collect.1.process results.zbi-test-x64 - AEMU",
+    "name": "launch/collect.1.process results.zbi-test-arm64 - QEMU",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
       "@@@STEP_LOG_LINE@symbolized log@blah@@@",
@@ -2162,7 +2164,7 @@
       "/path/to/tmp/json"
     ],
     "infra_step": true,
-    "name": "launch/collect.1.process results.zbi-test-x64 - AEMU.symbolize logs",
+    "name": "launch/collect.1.process results.zbi-test-arm64 - QEMU.symbolize logs",
     "stdin": "purple monkey dishwasher",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
@@ -2182,7 +2184,7 @@
     "name": "launch/collect.1.passed tasks",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_LINK@zbi-test-x64 - AEMU (attempt 1)@https://example.swarmingserver.appspot.com/task?id=456@@@"
+      "@@@STEP_LINK@zbi-test-arm64 - QEMU (attempt 1)@https://example.swarmingserver.appspot.com/task?id=124@@@"
     ]
   },
   {
@@ -2194,14 +2196,14 @@
   },
   {
     "cmd": [],
-    "name": "passes.zbi-test-x64 - AEMU",
+    "name": "passes.zbi-test-arm64 - QEMU",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
   },
   {
     "cmd": [],
-    "name": "passes.zbi-test-x64 - AEMU.attempt 0 (fail)",
+    "name": "passes.zbi-test-arm64 - QEMU.attempt 0 (fail)",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_SUMMARY_TEXT@failed to find success string@@@",
@@ -2213,13 +2215,13 @@
   },
   {
     "cmd": [],
-    "name": "passes.zbi-test-x64 - AEMU.attempt 1 (pass)",
+    "name": "passes.zbi-test-arm64 - QEMU.attempt 1 (pass)",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@symbolized log@blah@@@",
       "@@@STEP_LOG_LINE@symbolized log@blah@@@",
       "@@@STEP_LOG_END@symbolized log@@@",
-      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=456@@@"
+      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=124@@@"
     ]
   },
   {
@@ -2231,14 +2233,14 @@
   },
   {
     "cmd": [],
-    "name": "flakes.zbi-test-x64 - AEMU",
+    "name": "flakes.zbi-test-arm64 - QEMU",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
   },
   {
     "cmd": [],
-    "name": "flakes.zbi-test-x64 - AEMU.attempt 0 (fail)",
+    "name": "flakes.zbi-test-arm64 - QEMU.attempt 0 (fail)",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_SUMMARY_TEXT@failed to find success string@@@",
@@ -2250,13 +2252,13 @@
   },
   {
     "cmd": [],
-    "name": "flakes.zbi-test-x64 - AEMU.attempt 1 (pass)",
+    "name": "flakes.zbi-test-arm64 - QEMU.attempt 1 (pass)",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@symbolized log@blah@@@",
       "@@@STEP_LOG_LINE@symbolized log@blah@@@",
       "@@@STEP_LOG_END@symbolized log@@@",
-      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=456@@@"
+      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=124@@@"
     ]
   },
   {
diff --git a/recipes/zbi_test.expected/flake-x64-AEMU.json b/recipes/zbi_test.expected/pass-arm64.json
similarity index 83%
copy from recipes/zbi_test.expected/flake-x64-AEMU.json
copy to recipes/zbi_test.expected/pass-arm64.json
index 08ed7fe..c1a9a94 100644
--- a/recipes/zbi_test.expected/flake-x64-AEMU.json
+++ b/recipes/zbi_test.expected/pass-arm64.json
@@ -242,7 +242,7 @@
       "gen",
       "[START_DIR]/fuchsia/out/default",
       "--check",
-      "--args=import(\"//products/bringup.gni\")  base_package_labels+=[\"//garnet/tests/zircon:zbi_tests\",\"//bundles:infratools\"] goma_dir=\"[CACHE]/goma/client\" is_debug=true select_variant=[\"clang\"] target_cpu=\"x64\" use_goma=true"
+      "--args=import(\"//products/bringup.gni\")  base_package_labels+=[\"//garnet/tests/zircon:zbi_tests\",\"//bundles:infratools\"] goma_dir=\"[CACHE]/goma/client\" is_debug=true select_variant=[\"clang\"] target_cpu=\"arm64\" use_goma=true"
     ],
     "cwd": "[START_DIR]/fuchsia",
     "name": "build.gn gen",
@@ -1447,11 +1447,15 @@
       "@@@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@    \"name\": \"zbi-test-x64\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../default.zircon/zbi-test-x64.zbi\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"device_types\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"QEMU\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"AEMU\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"Vim2\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    ], @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"zbi-test-arm64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../default.zircon/zbi-test-arm64.zbi\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"success_string\": \"purple monkey dishwasher\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"task_name\": \"zbi-test-x64 - AEMU\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"type\": \"zbi\"@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@]@@@",
@@ -1541,7 +1545,7 @@
       "80",
       "legacy-host_tests",
       "manifest-$cpu",
-      "zbi-test-x64.zbi"
+      "zbi-test-arm64.zbi"
     ],
     "name": "build.ninja.zircon",
     "~followup_annotations": [
@@ -1739,21 +1743,7 @@
   },
   {
     "cmd": [],
-    "name": "prepare test: zbi-test-x64 - AEMU"
-  },
-  {
-    "cmd": [
-      "python",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/symlink.py",
-      "--link-json",
-      "{\"[START_DIR]/fuchsia/out/default/../default.zircon/zbi-test-x64.zbi\": [\"[CLEANUP]/isolate_tmp_2/zbi-test-x64.zbi\"], \"[START_DIR]/fuchsia/out/default/linux_x64/botanist\": [\"[CLEANUP]/isolate_tmp_2/botanist\"], \"[START_DIR]/fuchsia/out/default/multiboot.bin\": [\"[CLEANUP]/isolate_tmp_2/multiboot.bin\"]}"
-    ],
-    "infra_step": true,
-    "name": "prepare test: zbi-test-x64 - AEMU.create tree of images",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
+    "name": "prepare test: zbi-test-arm64 - QEMU"
   },
   {
     "cmd": [
@@ -1763,21 +1753,25 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "[\n  {\n    \"name\": \"zircon-a\", \n    \"success_string\": \"purple monkey dishwasher\", \n    \"task_name\": \"zbi-test-x64 - AEMU\", \n    \"path\": \"zbi-test-x64.zbi\", \n    \"type\": \"zbi\", \n    \"cpu\": \"x64\"\n  }, \n  {\n    \"path\": \"multiboot.bin\", \n    \"type\": \"kernel\", \n    \"name\": \"qemu-kernel\"\n  }\n]",
+      "[\n  {\n    \"name\": \"zircon-a\", \n    \"device_types\": [\n      \"QEMU\", \n      \"AEMU\", \n      \"Vim2\"\n    ], \n    \"success_string\": \"purple monkey dishwasher\", \n    \"path\": \"zbi-test-arm64.zbi\", \n    \"type\": \"zbi\", \n    \"cpu\": \"arm64\"\n  }, \n  {\n    \"path\": \"multiboot.bin\", \n    \"type\": \"kernel\", \n    \"name\": \"qemu-kernel\"\n  }\n]",
       "[CLEANUP]/isolate_tmp_2/images.json"
     ],
     "infra_step": true,
-    "name": "prepare test: zbi-test-x64 - AEMU.write image manifest",
+    "name": "prepare test: zbi-test-arm64 - QEMU.write image manifest",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@images.json@[@@@",
       "@@@STEP_LOG_LINE@images.json@  {@@@",
       "@@@STEP_LOG_LINE@images.json@    \"name\": \"zircon-a\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"device_types\": [@@@",
+      "@@@STEP_LOG_LINE@images.json@      \"QEMU\", @@@",
+      "@@@STEP_LOG_LINE@images.json@      \"AEMU\", @@@",
+      "@@@STEP_LOG_LINE@images.json@      \"Vim2\"@@@",
+      "@@@STEP_LOG_LINE@images.json@    ], @@@",
       "@@@STEP_LOG_LINE@images.json@    \"success_string\": \"purple monkey dishwasher\", @@@",
-      "@@@STEP_LOG_LINE@images.json@    \"task_name\": \"zbi-test-x64 - AEMU\", @@@",
-      "@@@STEP_LOG_LINE@images.json@    \"path\": \"zbi-test-x64.zbi\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"path\": \"zbi-test-arm64.zbi\", @@@",
       "@@@STEP_LOG_LINE@images.json@    \"type\": \"zbi\", @@@",
-      "@@@STEP_LOG_LINE@images.json@    \"cpu\": \"x64\"@@@",
+      "@@@STEP_LOG_LINE@images.json@    \"cpu\": \"arm64\"@@@",
       "@@@STEP_LOG_LINE@images.json@  }, @@@",
       "@@@STEP_LOG_LINE@images.json@  {@@@",
       "@@@STEP_LOG_LINE@images.json@    \"path\": \"multiboot.bin\", @@@",
@@ -1789,8 +1783,50 @@
     ]
   },
   {
+    "cmd": [
+      "vpython",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "copy",
+      "[\n  {\n    \"target\": \"arm64\", \n    \"kvm\": true, \n    \"memory\": 4096, \n    \"path\": \"./qemu/bin\", \n    \"type\": \"qemu\", \n    \"cpu\": 4\n  }\n]",
+      "[CLEANUP]/isolate_tmp_2/qemu.json"
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-arm64 - QEMU.write qemu config",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_LINE@qemu.json@[@@@",
+      "@@@STEP_LOG_LINE@qemu.json@  {@@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"target\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"kvm\": true, @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"memory\": 4096, @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"path\": \"./qemu/bin\", @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"type\": \"qemu\", @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"cpu\": 4@@@",
+      "@@@STEP_LOG_LINE@qemu.json@  }@@@",
+      "@@@STEP_LOG_LINE@qemu.json@]@@@",
+      "@@@STEP_LOG_END@qemu.json@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/symlink.py",
+      "--link-json",
+      "{\"[START_DIR]/fuchsia/out/default/../default.zircon/zbi-test-arm64.zbi\": [\"[CLEANUP]/isolate_tmp_2/zbi-test-arm64.zbi\"], \"[START_DIR]/fuchsia/out/default/linux_arm64/botanist\": [\"[CLEANUP]/isolate_tmp_2/botanist\"], \"[START_DIR]/fuchsia/out/default/linux_arm64/seriallistener\": [\"[CLEANUP]/isolate_tmp_2/seriallistener\"], \"[START_DIR]/fuchsia/out/default/multiboot.bin\": [\"[CLEANUP]/isolate_tmp_2/multiboot.bin\"]}"
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-arm64 - QEMU.create tree of images",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
     "cmd": [],
-    "name": "prepare test: zbi-test-x64 - AEMU.ensure isolated",
+    "name": "prepare test: zbi-test-arm64 - QEMU.ensure isolated",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
@@ -1807,7 +1843,7 @@
       "/path/to/tmp/json"
     ],
     "infra_step": true,
-    "name": "prepare test: zbi-test-x64 - AEMU.ensure isolated.ensure_installed",
+    "name": "prepare test: zbi-test-arm64 - QEMU.ensure isolated.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -1838,7 +1874,182 @@
       "[CLEANUP]/isolate_tmp_2:."
     ],
     "infra_step": true,
-    "name": "prepare test: zbi-test-x64 - AEMU.isolate images",
+    "name": "prepare test: zbi-test-arm64 - QEMU.isolate images",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LINK@isolated UI@https://example.isolateserver.appspot.com/browse?namespace=default-gzip&hash=%5Bdummy+hash%5D@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "prepare test: zbi-test-arm64 - Vim2"
+  },
+  {
+    "cmd": [
+      "vpython",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "copy",
+      "[\n  {\n    \"name\": \"zircon-a\", \n    \"device_types\": [\n      \"QEMU\", \n      \"AEMU\", \n      \"Vim2\"\n    ], \n    \"success_string\": \"purple monkey dishwasher\", \n    \"path\": \"zbi-test-arm64.zbi\", \n    \"type\": \"zbi\", \n    \"cpu\": \"arm64\"\n  }\n]",
+      "[CLEANUP]/isolate_tmp_3/images.json"
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-arm64 - Vim2.write image manifest",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_LINE@images.json@[@@@",
+      "@@@STEP_LOG_LINE@images.json@  {@@@",
+      "@@@STEP_LOG_LINE@images.json@    \"name\": \"zircon-a\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"device_types\": [@@@",
+      "@@@STEP_LOG_LINE@images.json@      \"QEMU\", @@@",
+      "@@@STEP_LOG_LINE@images.json@      \"AEMU\", @@@",
+      "@@@STEP_LOG_LINE@images.json@      \"Vim2\"@@@",
+      "@@@STEP_LOG_LINE@images.json@    ], @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"success_string\": \"purple monkey dishwasher\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"path\": \"zbi-test-arm64.zbi\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"type\": \"zbi\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"cpu\": \"arm64\"@@@",
+      "@@@STEP_LOG_LINE@images.json@  }@@@",
+      "@@@STEP_LOG_LINE@images.json@]@@@",
+      "@@@STEP_LOG_END@images.json@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/symlink.py",
+      "--link-json",
+      "{\"[START_DIR]/fuchsia/out/default/../default.zircon/zbi-test-arm64.zbi\": [\"[CLEANUP]/isolate_tmp_3/zbi-test-arm64.zbi\"], \"[START_DIR]/fuchsia/out/default/linux_x64/botanist\": [\"[CLEANUP]/isolate_tmp_3/botanist\"], \"[START_DIR]/fuchsia/out/default/linux_x64/seriallistener\": [\"[CLEANUP]/isolate_tmp_3/seriallistener\"]}"
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-arm64 - Vim2.create tree of images",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[CACHE]/isolated_client/isolated",
+      "archive",
+      "-verbose",
+      "-isolate-server",
+      "https://example.isolateserver.appspot.com",
+      "-namespace",
+      "default-gzip",
+      "-dump-hash",
+      "/path/to/tmp/",
+      "-dirs",
+      "[CLEANUP]/isolate_tmp_3:."
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-arm64 - Vim2.isolate images",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LINK@isolated UI@https://example.isolateserver.appspot.com/browse?namespace=default-gzip&hash=%5Bdummy+hash%5D@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "prepare test: zbi-test-arm64 - AEMU"
+  },
+  {
+    "cmd": [
+      "vpython",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "copy",
+      "[\n  {\n    \"name\": \"zircon-a\", \n    \"device_types\": [\n      \"QEMU\", \n      \"AEMU\", \n      \"Vim2\"\n    ], \n    \"success_string\": \"purple monkey dishwasher\", \n    \"path\": \"zbi-test-arm64.zbi\", \n    \"type\": \"zbi\", \n    \"cpu\": \"arm64\"\n  }, \n  {\n    \"path\": \"multiboot.bin\", \n    \"type\": \"kernel\", \n    \"name\": \"qemu-kernel\"\n  }\n]",
+      "[CLEANUP]/isolate_tmp_4/images.json"
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-arm64 - AEMU.write image manifest",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_LINE@images.json@[@@@",
+      "@@@STEP_LOG_LINE@images.json@  {@@@",
+      "@@@STEP_LOG_LINE@images.json@    \"name\": \"zircon-a\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"device_types\": [@@@",
+      "@@@STEP_LOG_LINE@images.json@      \"QEMU\", @@@",
+      "@@@STEP_LOG_LINE@images.json@      \"AEMU\", @@@",
+      "@@@STEP_LOG_LINE@images.json@      \"Vim2\"@@@",
+      "@@@STEP_LOG_LINE@images.json@    ], @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"success_string\": \"purple monkey dishwasher\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"path\": \"zbi-test-arm64.zbi\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"type\": \"zbi\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"cpu\": \"arm64\"@@@",
+      "@@@STEP_LOG_LINE@images.json@  }, @@@",
+      "@@@STEP_LOG_LINE@images.json@  {@@@",
+      "@@@STEP_LOG_LINE@images.json@    \"path\": \"multiboot.bin\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"type\": \"kernel\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"name\": \"qemu-kernel\"@@@",
+      "@@@STEP_LOG_LINE@images.json@  }@@@",
+      "@@@STEP_LOG_LINE@images.json@]@@@",
+      "@@@STEP_LOG_END@images.json@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "vpython",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "copy",
+      "[\n  {\n    \"target\": \"arm64\", \n    \"kvm\": true, \n    \"memory\": 4096, \n    \"path\": \"./aemu/bin\", \n    \"type\": \"aemu\", \n    \"cpu\": 4\n  }\n]",
+      "[CLEANUP]/isolate_tmp_4/qemu.json"
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-arm64 - AEMU.write qemu config",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_LINE@qemu.json@[@@@",
+      "@@@STEP_LOG_LINE@qemu.json@  {@@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"target\": \"arm64\", @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"kvm\": true, @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"memory\": 4096, @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"path\": \"./aemu/bin\", @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"type\": \"aemu\", @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"cpu\": 4@@@",
+      "@@@STEP_LOG_LINE@qemu.json@  }@@@",
+      "@@@STEP_LOG_LINE@qemu.json@]@@@",
+      "@@@STEP_LOG_END@qemu.json@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/symlink.py",
+      "--link-json",
+      "{\"[START_DIR]/fuchsia/out/default/../default.zircon/zbi-test-arm64.zbi\": [\"[CLEANUP]/isolate_tmp_4/zbi-test-arm64.zbi\"], \"[START_DIR]/fuchsia/out/default/linux_arm64/botanist\": [\"[CLEANUP]/isolate_tmp_4/botanist\"], \"[START_DIR]/fuchsia/out/default/linux_arm64/seriallistener\": [\"[CLEANUP]/isolate_tmp_4/seriallistener\"], \"[START_DIR]/fuchsia/out/default/multiboot.bin\": [\"[CLEANUP]/isolate_tmp_4/multiboot.bin\"]}"
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-arm64 - AEMU.create tree of images",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[CACHE]/isolated_client/isolated",
+      "archive",
+      "-verbose",
+      "-isolate-server",
+      "https://example.isolateserver.appspot.com",
+      "-namespace",
+      "default-gzip",
+      "-dump-hash",
+      "/path/to/tmp/",
+      "-dirs",
+      "[CLEANUP]/isolate_tmp_4:."
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-arm64 - AEMU.isolate images",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LINK@isolated UI@https://example.isolateserver.appspot.com/browse?namespace=default-gzip&hash=%5Bdummy+hash%5D@@@"
@@ -1853,7 +2064,7 @@
     "name": "launch/collect.0",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@1 launched, 1 failed@@@"
+      "@@@STEP_SUMMARY_TEXT@3 launched, 3 passed@@@"
     ]
   },
   {
@@ -1865,7 +2076,7 @@
   },
   {
     "cmd": [],
-    "name": "launch/collect.0.launch.zbi-test-x64 - AEMU (attempt 0)",
+    "name": "launch/collect.0.launch.zbi-test-arm64 - QEMU (attempt 0)",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
       "@@@STEP_LINK@Swarming task@https://example.swarmingserver.appspot.com/task?id=123@@@"
@@ -1873,7 +2084,7 @@
   },
   {
     "cmd": [],
-    "name": "launch/collect.0.launch.zbi-test-x64 - AEMU (attempt 0).ensure swarming",
+    "name": "launch/collect.0.launch.zbi-test-arm64 - QEMU (attempt 0).ensure swarming",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@"
     ]
@@ -1890,7 +2101,7 @@
       "/path/to/tmp/json"
     ],
     "infra_step": true,
-    "name": "launch/collect.0.launch.zbi-test-x64 - AEMU (attempt 0).ensure swarming.ensure_installed",
+    "name": "launch/collect.0.launch.zbi-test-arm64 - QEMU (attempt 0).ensure swarming.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@5@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -1913,27 +2124,103 @@
       "-server",
       "https://example.swarmingserver.appspot.com",
       "-json-input",
-      "{\"requests\": [{\"name\": \"zbi-test-x64 - AEMU\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:AEMU-x64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"cipd_input\": {\"packages\": [{\"package_name\": \"fuchsia/third_party/aemu/${platform}\", \"path\": \"aemu/bin\", \"version\": \"git_revision:de95df869556006ad87f402110aa835d03835060\"}]}, \"command\": [\"./botanist\", \"-level\", \"debug\", \"qemu\", \"-type\", \"aemu\", \"-qemu-dir\", \"./aemu/bin\", \"-images\", \"images.json\", \"-arch\", \"x64\", \"-use-kvm\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"kvm\", \"value\": \"1\"}, {\"key\": \"os\", \"value\": \"Debian\"}, {\"key\": \"cpu\", \"value\": \"x64\"}, {\"key\": \"pool\", \"value\": \"fuchsia.tests\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": []}}]}]}",
+      "{\"requests\": [{\"name\": \"zbi-test-arm64 - QEMU\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:QEMU-arm64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"cipd_input\": {\"packages\": [{\"package_name\": \"fuchsia/third_party/qemu/${platform}\", \"path\": \"qemu\", \"version\": \"git_revision:533bf2563d0213a7e002d9fcde75519d30ffa70f\"}]}, \"command\": [\"./botanist\", \"-level\", \"debug\", \"run\", \"-images\", \"images.json\", \"-serial-log\", \"serial.txt\", \"-config\", \"./qemu.json\", \"-netboot\", \"./seriallistener\", \"-timeout\", \"5m\", \"-stdout=False\", \"-success\", \"purple monkey dishwasher\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"kvm\", \"value\": \"1\"}, {\"key\": \"os\", \"value\": \"Debian\"}, {\"key\": \"cpu\", \"value\": \"arm64\"}, {\"key\": \"pool\", \"value\": \"fuchsia.tests\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": [\"serial.txt\"]}}]}]}",
       "-json-output",
       "/path/to/tmp/json",
       "-cancel-extra-tasks"
     ],
     "infra_step": true,
-    "name": "launch/collect.0.launch.zbi-test-x64 - AEMU (attempt 0).trigger",
+    "name": "launch/collect.0.launch.zbi-test-arm64 - QEMU (attempt 0).trigger",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"tasks\": [@@@",
       "@@@STEP_LOG_LINE@json.output@    {@@@",
       "@@@STEP_LOG_LINE@json.output@      \"request\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"name\": \"zbi-test-x64 - AEMU\"@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"name\": \"zbi-test-arm64 - QEMU\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }, @@@",
       "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"123\"@@@",
       "@@@STEP_LOG_LINE@json.output@    }@@@",
       "@@@STEP_LOG_LINE@json.output@  ]@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
-      "@@@STEP_LINK@task UI: zbi-test-x64 - AEMU@https://example.swarmingserver.appspot.com/task?id=123@@@"
+      "@@@STEP_LINK@task UI: zbi-test-arm64 - QEMU@https://example.swarmingserver.appspot.com/task?id=123@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "launch/collect.0.launch.zbi-test-arm64 - Vim2 (attempt 0)",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@3@@@",
+      "@@@STEP_LINK@Swarming task@https://example.swarmingserver.appspot.com/task?id=125@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[CACHE]/swarming_client/swarming",
+      "spawn-tasks",
+      "-server",
+      "https://example.swarmingserver.appspot.com",
+      "-json-input",
+      "{\"requests\": [{\"name\": \"zbi-test-arm64 - Vim2\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:Vim2-arm64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"command\": [\"./botanist\", \"-level\", \"debug\", \"run\", \"-images\", \"images.json\", \"-serial-log\", \"serial.txt\", \"-config\", \"/etc/botanist/config.json\", \"-netboot\", \"./seriallistener\", \"-timeout\", \"5m\", \"-stdout=True\", \"-success\", \"purple monkey dishwasher\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"pool\", \"value\": \"fuchsia.tests\"}, {\"key\": \"device_type\", \"value\": \"Vim2\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": [\"serial.txt\"]}}]}]}",
+      "-json-output",
+      "/path/to/tmp/json",
+      "-cancel-extra-tasks"
+    ],
+    "infra_step": true,
+    "name": "launch/collect.0.launch.zbi-test-arm64 - Vim2 (attempt 0).trigger",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@4@@@",
+      "@@@STEP_LOG_LINE@json.output@{@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"tasks\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@    {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"request\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"name\": \"zbi-test-arm64 - Vim2\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      }, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"125\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  ]@@@",
+      "@@@STEP_LOG_LINE@json.output@}@@@",
+      "@@@STEP_LOG_END@json.output@@@",
+      "@@@STEP_LINK@task UI: zbi-test-arm64 - Vim2@https://example.swarmingserver.appspot.com/task?id=125@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "launch/collect.0.launch.zbi-test-arm64 - AEMU (attempt 0)",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@3@@@",
+      "@@@STEP_LINK@Swarming task@https://example.swarmingserver.appspot.com/task?id=124@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[CACHE]/swarming_client/swarming",
+      "spawn-tasks",
+      "-server",
+      "https://example.swarmingserver.appspot.com",
+      "-json-input",
+      "{\"requests\": [{\"name\": \"zbi-test-arm64 - AEMU\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:AEMU-arm64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"cipd_input\": {\"packages\": [{\"package_name\": \"fuchsia/third_party/aemu/${platform}\", \"path\": \"aemu/bin\", \"version\": \"git_revision:de95df869556006ad87f402110aa835d03835060\"}]}, \"command\": [\"./botanist\", \"-level\", \"debug\", \"run\", \"-images\", \"images.json\", \"-serial-log\", \"serial.txt\", \"-config\", \"./qemu.json\", \"-netboot\", \"./seriallistener\", \"-timeout\", \"5m\", \"-stdout=False\", \"-success\", \"purple monkey dishwasher\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"kvm\", \"value\": \"1\"}, {\"key\": \"os\", \"value\": \"Debian\"}, {\"key\": \"cpu\", \"value\": \"arm64\"}, {\"key\": \"pool\", \"value\": \"fuchsia.tests\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": [\"serial.txt\"]}}]}]}",
+      "-json-output",
+      "/path/to/tmp/json",
+      "-cancel-extra-tasks"
+    ],
+    "infra_step": true,
+    "name": "launch/collect.0.launch.zbi-test-arm64 - AEMU (attempt 0).trigger",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@4@@@",
+      "@@@STEP_LOG_LINE@json.output@{@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"tasks\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@    {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"request\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"name\": \"zbi-test-arm64 - AEMU\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      }, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"124\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  ]@@@",
+      "@@@STEP_LOG_LINE@json.output@}@@@",
+      "@@@STEP_LOG_END@json.output@@@",
+      "@@@STEP_LINK@task UI: zbi-test-arm64 - AEMU@https://example.swarmingserver.appspot.com/task?id=124@@@"
     ]
   },
   {
@@ -1946,7 +2233,13 @@
       "/path/to/tmp/json",
       "-task-output-stdout",
       "json",
-      "123"
+      "-output-dir",
+      "[CLEANUP]/swarming_tmp_5",
+      "-timeout",
+      "5m",
+      "123",
+      "125",
+      "124"
     ],
     "infra_step": true,
     "name": "launch/collect.0.collect",
@@ -1954,13 +2247,13 @@
       "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"123\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"output\": \"not success\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"output\": \"purple monkey dishwasher\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"outputs\": [], @@@",
       "@@@STEP_LOG_LINE@json.output@    \"results\": {@@@",
       "@@@STEP_LOG_LINE@json.output@      \"bot_id\": \"vm-123\", @@@",
       "@@@STEP_LOG_LINE@json.output@      \"duration\": 62.35, @@@",
       "@@@STEP_LOG_LINE@json.output@      \"exit_code\": 0, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"name\": \"zbi-test-x64 - AEMU\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"name\": \"zbi-test-arm64 - QEMU\", @@@",
       "@@@STEP_LOG_LINE@json.output@      \"outputs_ref\": {@@@",
       "@@@STEP_LOG_LINE@json.output@        \"isolated\": \"abc123\", @@@",
       "@@@STEP_LOG_LINE@json.output@        \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@",
@@ -1969,12 +2262,52 @@
       "@@@STEP_LOG_LINE@json.output@      \"state\": \"COMPLETED\", @@@",
       "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"123\"@@@",
       "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"124\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"output\": \"purple monkey dishwasher\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"outputs\": [], @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"results\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"bot_id\": \"vm-123\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"duration\": 62.35, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"exit_code\": 0, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"name\": \"zbi-test-arm64 - AEMU\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"outputs_ref\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"isolated\": \"abc123\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"namespace\": \"default-gzip\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      }, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"state\": \"COMPLETED\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"124\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"125\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"output\": \"purple monkey dishwasher\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"outputs\": [], @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"results\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"bot_id\": \"vm-123\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"duration\": 62.35, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"exit_code\": 0, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"name\": \"zbi-test-arm64 - Vim2\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"outputs_ref\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"isolated\": \"abc123\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"namespace\": \"default-gzip\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      }, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"state\": \"COMPLETED\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"125\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
-      "@@@STEP_LOG_LINE@task stdout+stderr: zbi-test-x64 - AEMU@not success@@@",
-      "@@@STEP_LOG_END@task stdout+stderr: zbi-test-x64 - AEMU@@@",
-      "@@@STEP_LINK@task isolated outputs: zbi-test-x64 - AEMU@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@"
+      "@@@STEP_LOG_LINE@task stdout+stderr: zbi-test-arm64 - AEMU@purple monkey dishwasher@@@",
+      "@@@STEP_LOG_END@task stdout+stderr: zbi-test-arm64 - AEMU@@@",
+      "@@@STEP_LOG_LINE@task stdout+stderr: zbi-test-arm64 - QEMU@purple monkey dishwasher@@@",
+      "@@@STEP_LOG_END@task stdout+stderr: zbi-test-arm64 - QEMU@@@",
+      "@@@STEP_LOG_LINE@task stdout+stderr: zbi-test-arm64 - Vim2@purple monkey dishwasher@@@",
+      "@@@STEP_LOG_END@task stdout+stderr: zbi-test-arm64 - Vim2@@@",
+      "@@@STEP_LINK@task isolated outputs: zbi-test-arm64 - AEMU@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@",
+      "@@@STEP_LINK@task isolated outputs: zbi-test-arm64 - QEMU@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@",
+      "@@@STEP_LINK@task isolated outputs: zbi-test-arm64 - Vim2@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@"
     ]
   },
   {
@@ -1986,7 +2319,7 @@
   },
   {
     "cmd": [],
-    "name": "launch/collect.0.process results.zbi-test-x64 - AEMU",
+    "name": "launch/collect.0.process results.zbi-test-arm64 - AEMU",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
       "@@@STEP_LOG_LINE@symbolized log@blah@@@",
@@ -2011,8 +2344,78 @@
       "/path/to/tmp/json"
     ],
     "infra_step": true,
-    "name": "launch/collect.0.process results.zbi-test-x64 - AEMU.symbolize logs",
-    "stdin": "not success",
+    "name": "launch/collect.0.process results.zbi-test-arm64 - AEMU.symbolize logs",
+    "stdin": "purple monkey dishwasher",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@4@@@",
+      "@@@STEP_LOG_LINE@json.output[symbolizer-output.json]@{}@@@",
+      "@@@STEP_LOG_END@json.output[symbolizer-output.json]@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "launch/collect.0.process results.zbi-test-arm64 - QEMU",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@3@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_END@symbolized log@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[START_DIR]/fuchsia/out/default/linux_x64/symbolize",
+      "-llvm-symbolizer-restart-interval",
+      "2",
+      "-level",
+      "debug",
+      "-build-id-dir",
+      "[START_DIR]/fuchsia/out/default.zircon/.build-id",
+      "-build-id-dir",
+      "[START_DIR]/fuchsia/prebuilt/third_party/clang/linux-x64/lib/debug/.build-id",
+      "-llvm-symbolizer",
+      "[START_DIR]/fuchsia/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer",
+      "-json-output",
+      "/path/to/tmp/json"
+    ],
+    "infra_step": true,
+    "name": "launch/collect.0.process results.zbi-test-arm64 - QEMU.symbolize logs",
+    "stdin": "purple monkey dishwasher",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@4@@@",
+      "@@@STEP_LOG_LINE@json.output[symbolizer-output.json]@{}@@@",
+      "@@@STEP_LOG_END@json.output[symbolizer-output.json]@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "launch/collect.0.process results.zbi-test-arm64 - Vim2",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@3@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_END@symbolized log@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[START_DIR]/fuchsia/out/default/linux_x64/symbolize",
+      "-llvm-symbolizer-restart-interval",
+      "2",
+      "-level",
+      "debug",
+      "-build-id-dir",
+      "[START_DIR]/fuchsia/out/default.zircon/.build-id",
+      "-build-id-dir",
+      "[START_DIR]/fuchsia/prebuilt/third_party/clang/linux-x64/lib/debug/.build-id",
+      "-llvm-symbolizer",
+      "[START_DIR]/fuchsia/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer",
+      "-json-output",
+      "/path/to/tmp/json"
+    ],
+    "infra_step": true,
+    "name": "launch/collect.0.process results.zbi-test-arm64 - Vim2.symbolize logs",
+    "stdin": "purple monkey dishwasher",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
       "@@@STEP_LOG_LINE@json.output[symbolizer-output.json]@{}@@@",
@@ -2028,183 +2431,33 @@
   },
   {
     "cmd": [],
-    "name": "launch/collect.0.failed tasks",
+    "name": "launch/collect.0.passed tasks",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_LINK@zbi-test-x64 - AEMU (attempt 0)@https://example.swarmingserver.appspot.com/task?id=123@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.1",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@1 launched, 1 passed@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.1.launch",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.1.launch.zbi-test-x64 - AEMU (attempt 1)",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_LINK@Swarming task@https://example.swarmingserver.appspot.com/task?id=456@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[CACHE]/swarming_client/swarming",
-      "spawn-tasks",
-      "-server",
-      "https://example.swarmingserver.appspot.com",
-      "-json-input",
-      "{\"requests\": [{\"name\": \"zbi-test-x64 - AEMU\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:AEMU-x64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"cipd_input\": {\"packages\": [{\"package_name\": \"fuchsia/third_party/aemu/${platform}\", \"path\": \"aemu/bin\", \"version\": \"git_revision:de95df869556006ad87f402110aa835d03835060\"}]}, \"command\": [\"./botanist\", \"-level\", \"debug\", \"qemu\", \"-type\", \"aemu\", \"-qemu-dir\", \"./aemu/bin\", \"-images\", \"images.json\", \"-arch\", \"x64\", \"-use-kvm\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"kvm\", \"value\": \"1\"}, {\"key\": \"os\", \"value\": \"Debian\"}, {\"key\": \"cpu\", \"value\": \"x64\"}, {\"key\": \"pool\", \"value\": \"fuchsia.tests\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": []}}]}]}",
-      "-json-output",
-      "/path/to/tmp/json",
-      "-cancel-extra-tasks"
-    ],
-    "infra_step": true,
-    "name": "launch/collect.1.launch.zbi-test-x64 - AEMU (attempt 1).trigger",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@4@@@",
-      "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"tasks\": [@@@",
-      "@@@STEP_LOG_LINE@json.output@    {@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"request\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"name\": \"zbi-test-x64 - AEMU\"@@@",
-      "@@@STEP_LOG_LINE@json.output@      }, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"456\"@@@",
-      "@@@STEP_LOG_LINE@json.output@    }@@@",
-      "@@@STEP_LOG_LINE@json.output@  ]@@@",
-      "@@@STEP_LOG_LINE@json.output@}@@@",
-      "@@@STEP_LOG_END@json.output@@@",
-      "@@@STEP_LINK@task UI: zbi-test-x64 - AEMU@https://example.swarmingserver.appspot.com/task?id=456@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[CACHE]/swarming_client/swarming",
-      "collect",
-      "-server",
-      "https://example.swarmingserver.appspot.com",
-      "-task-summary-json",
-      "/path/to/tmp/json",
-      "-task-output-stdout",
-      "json",
-      "456"
-    ],
-    "infra_step": true,
-    "name": "launch/collect.1.collect",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"456\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"output\": \"purple monkey dishwasher\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"outputs\": [], @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"results\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"bot_id\": \"vm-123\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"duration\": 62.35, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"exit_code\": 0, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"name\": \"zbi-test-x64 - AEMU\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"outputs_ref\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"isolated\": \"abc123\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"namespace\": \"default-gzip\"@@@",
-      "@@@STEP_LOG_LINE@json.output@      }, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"state\": \"COMPLETED\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"456\"@@@",
-      "@@@STEP_LOG_LINE@json.output@    }@@@",
-      "@@@STEP_LOG_LINE@json.output@  }@@@",
-      "@@@STEP_LOG_LINE@json.output@}@@@",
-      "@@@STEP_LOG_END@json.output@@@",
-      "@@@STEP_LOG_LINE@task stdout+stderr: zbi-test-x64 - AEMU@purple monkey dishwasher@@@",
-      "@@@STEP_LOG_END@task stdout+stderr: zbi-test-x64 - AEMU@@@",
-      "@@@STEP_LINK@task isolated outputs: zbi-test-x64 - AEMU@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.1.process results",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.1.process results.zbi-test-x64 - AEMU",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
-      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
-      "@@@STEP_LOG_END@symbolized log@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[START_DIR]/fuchsia/out/default/linux_x64/symbolize",
-      "-llvm-symbolizer-restart-interval",
-      "2",
-      "-level",
-      "debug",
-      "-build-id-dir",
-      "[START_DIR]/fuchsia/out/default.zircon/.build-id",
-      "-build-id-dir",
-      "[START_DIR]/fuchsia/prebuilt/third_party/clang/linux-x64/lib/debug/.build-id",
-      "-llvm-symbolizer",
-      "[START_DIR]/fuchsia/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer",
-      "-json-output",
-      "/path/to/tmp/json"
-    ],
-    "infra_step": true,
-    "name": "launch/collect.1.process results.zbi-test-x64 - AEMU.symbolize logs",
-    "stdin": "purple monkey dishwasher",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@4@@@",
-      "@@@STEP_LOG_LINE@json.output[symbolizer-output.json]@{}@@@",
-      "@@@STEP_LOG_END@json.output[symbolizer-output.json]@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.1.process results.always pass",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@3@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.1.passed tasks",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_LINK@zbi-test-x64 - AEMU (attempt 1)@https://example.swarmingserver.appspot.com/task?id=456@@@"
+      "@@@STEP_LINK@zbi-test-arm64 - AEMU (attempt 0)@https://example.swarmingserver.appspot.com/task?id=124@@@",
+      "@@@STEP_LINK@zbi-test-arm64 - QEMU (attempt 0)@https://example.swarmingserver.appspot.com/task?id=123@@@",
+      "@@@STEP_LINK@zbi-test-arm64 - Vim2 (attempt 0)@https://example.swarmingserver.appspot.com/task?id=125@@@"
     ]
   },
   {
     "cmd": [],
     "name": "passes",
     "~followup_annotations": [
-      "@@@STEP_SUMMARY_TEXT@1 passed@@@"
+      "@@@STEP_SUMMARY_TEXT@3 passed@@@"
     ]
   },
   {
     "cmd": [],
-    "name": "passes.zbi-test-x64 - AEMU",
+    "name": "passes.zbi-test-arm64 - QEMU",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
   },
   {
     "cmd": [],
-    "name": "passes.zbi-test-x64 - AEMU.attempt 0 (fail)",
+    "name": "passes.zbi-test-arm64 - QEMU.attempt 0 (pass)",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_SUMMARY_TEXT@failed to find success string@@@",
       "@@@STEP_LOG_LINE@symbolized log@blah@@@",
       "@@@STEP_LOG_LINE@symbolized log@blah@@@",
       "@@@STEP_LOG_END@symbolized log@@@",
@@ -2213,50 +2466,45 @@
   },
   {
     "cmd": [],
-    "name": "passes.zbi-test-x64 - AEMU.attempt 1 (pass)",
+    "name": "passes.zbi-test-arm64 - Vim2",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "passes.zbi-test-arm64 - Vim2.attempt 0 (pass)",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@symbolized log@blah@@@",
       "@@@STEP_LOG_LINE@symbolized log@blah@@@",
       "@@@STEP_LOG_END@symbolized log@@@",
-      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=456@@@"
+      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=125@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "passes.zbi-test-arm64 - AEMU",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "passes.zbi-test-arm64 - AEMU.attempt 0 (pass)",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_END@symbolized log@@@",
+      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=124@@@"
     ]
   },
   {
     "cmd": [],
     "name": "flakes",
     "~followup_annotations": [
-      "@@@STEP_SUMMARY_TEXT@1 flaked@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "flakes.zbi-test-x64 - AEMU",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "flakes.zbi-test-x64 - AEMU.attempt 0 (fail)",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_SUMMARY_TEXT@failed to find success string@@@",
-      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
-      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
-      "@@@STEP_LOG_END@symbolized log@@@",
-      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=123@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "flakes.zbi-test-x64 - AEMU.attempt 1 (pass)",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
-      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
-      "@@@STEP_LOG_END@symbolized log@@@",
-      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=456@@@"
+      "@@@STEP_SUMMARY_TEXT@0 flaked@@@"
     ]
   },
   {
diff --git a/recipes/zbi_test.expected/pass-x64-QEMU.json b/recipes/zbi_test.expected/pass-x64-QEMU.json
deleted file mode 100644
index 36e1f49..0000000
--- a/recipes/zbi_test.expected/pass-x64-QEMU.json
+++ /dev/null
@@ -1,2083 +0,0 @@
-[
-  {
-    "cmd": [],
-    "name": "checkout"
-  },
-  {
-    "cmd": [],
-    "name": "checkout.ensure jiri",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "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": "checkout.ensure jiri.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-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",
-      "[START_DIR]/fuchsia"
-    ],
-    "infra_step": true,
-    "name": "checkout.jiri init",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[START_DIR]/cipd/jiri/jiri",
-      "import",
-      "-vv",
-      "-time",
-      "-j=50",
-      "-name",
-      "integration",
-      "-revision",
-      "HEAD",
-      "manifest",
-      "https://fuchsia.googlesource.com/fuchsia"
-    ],
-    "cwd": "[START_DIR]/fuchsia",
-    "infra_step": true,
-    "name": "checkout.jiri import",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[START_DIR]/cipd/jiri/jiri",
-      "override",
-      "-vv",
-      "-time",
-      "-j=50",
-      "-revision",
-      "2d72510e447ab60a9728aeea2362d8be2cbd7789",
-      "fuchsia",
-      "https://fuchsia.googlesource.com/fuchsia"
-    ],
-    "cwd": "[START_DIR]/fuchsia",
-    "infra_step": true,
-    "name": "checkout.jiri override",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[START_DIR]/cipd/jiri/jiri",
-      "update",
-      "-vv",
-      "-time",
-      "-j=50",
-      "-autoupdate=false",
-      "-attempts=3",
-      "-run-hooks=false"
-    ],
-    "cwd": "[START_DIR]/fuchsia",
-    "infra_step": true,
-    "name": "checkout.jiri update",
-    "timeout": 1800,
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[START_DIR]/cipd/jiri/jiri",
-      "run-hooks",
-      "-vv",
-      "-time",
-      "-j=50",
-      "-attempts=3"
-    ],
-    "cwd": "[START_DIR]/fuchsia",
-    "infra_step": true,
-    "name": "checkout.jiri run-hooks",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[START_DIR]/cipd/jiri/jiri",
-      "source-manifest",
-      "-vv",
-      "-time",
-      "-j=50",
-      "/path/to/tmp/json"
-    ],
-    "cwd": "[START_DIR]/fuchsia",
-    "infra_step": true,
-    "name": "checkout.jiri source-manifest",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_LINE@json.output[source manifest]@{@@@",
-      "@@@STEP_LOG_LINE@json.output[source manifest]@  \"directories\": {@@@",
-      "@@@STEP_LOG_LINE@json.output[source manifest]@    \"manifest\": {@@@",
-      "@@@STEP_LOG_LINE@json.output[source manifest]@      \"git_checkout\": {@@@",
-      "@@@STEP_LOG_LINE@json.output[source manifest]@        \"repo_url\": \"https://fuchsia.googlesource.com/manifest\", @@@",
-      "@@@STEP_LOG_LINE@json.output[source manifest]@        \"revision\": \"4c2b0da3c06341db5cebe4d02c78c93c3b2bd78b\"@@@",
-      "@@@STEP_LOG_LINE@json.output[source manifest]@      }@@@",
-      "@@@STEP_LOG_LINE@json.output[source manifest]@    }@@@",
-      "@@@STEP_LOG_LINE@json.output[source manifest]@  }@@@",
-      "@@@STEP_LOG_LINE@json.output[source manifest]@}@@@",
-      "@@@STEP_LOG_END@json.output[source manifest]@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[START_DIR]/cipd/jiri/jiri",
-      "snapshot",
-      "-vv",
-      "-time",
-      "-j=50",
-      "[CLEANUP]/jiri.snapshot"
-    ],
-    "cwd": "[START_DIR]/fuchsia",
-    "infra_step": true,
-    "name": "checkout.jiri snapshot",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[CLEANUP]/jiri.snapshot",
-      "/path/to/tmp/"
-    ],
-    "cwd": "[START_DIR]/fuchsia",
-    "infra_step": true,
-    "name": "checkout.read snapshot",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_END@jiri.snapshot@@@",
-      "@@@STEP_LOG_LINE@snapshot_contents@@@@",
-      "@@@STEP_LOG_END@snapshot_contents@@@"
-    ]
-  },
-  {
-    "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]/fuchsia/prebuilt/third_party/gn/linux-x64/gn",
-      "gen",
-      "[START_DIR]/fuchsia/out/default",
-      "--check",
-      "--args=import(\"//products/bringup.gni\")  base_package_labels+=[\"//garnet/tests/zircon:zbi_tests\",\"//bundles:infratools\"] goma_dir=\"[CACHE]/goma/client\" is_debug=true select_variant=[\"clang\"] target_cpu=\"x64\" use_goma=true"
-    ],
-    "cwd": "[START_DIR]/fuchsia",
-    "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]/fuchsia/out/default/zircon.json",
-      "/path/to/tmp/json"
-    ],
-    "cwd": "[START_DIR]/fuchsia",
-    "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]/fuchsia/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": [
-      "python",
-      "-u",
-      "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n",
-      "[START_DIR]/fuchsia/out/default/images.json",
-      "/path/to/tmp/json"
-    ],
-    "name": "build.read image manifest",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_LINE@json.output@[@@@",
-      "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"bootserver_pave\": [@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"--boot\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"--zircona\"@@@",
-      "@@@STEP_LOG_LINE@json.output@    ], @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"name\": \"zircon-a\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"fuchsia.zbi\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"type\": \"zbi\"@@@",
-      "@@@STEP_LOG_LINE@json.output@  }, @@@",
-      "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"name\": \"storage-full\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"fvm.blk\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"type\": \"blk\"@@@",
-      "@@@STEP_LOG_LINE@json.output@  }, @@@",
-      "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"bootserver_pave\": [@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"--fvm\"@@@",
-      "@@@STEP_LOG_LINE@json.output@    ], @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"name\": \"storage-sparse\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"fvm.sparse.blk\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"type\": \"blk\"@@@",
-      "@@@STEP_LOG_LINE@json.output@  }, @@@",
-      "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"bootserver_pave\": [@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"--efi\"@@@",
-      "@@@STEP_LOG_LINE@json.output@    ], @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"name\": \"efi\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"fuchsia.esp.blk\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"type\": \"blk\"@@@",
-      "@@@STEP_LOG_LINE@json.output@  }, @@@",
-      "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"bootserver_netboot\": [@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"--boot\"@@@",
-      "@@@STEP_LOG_LINE@json.output@    ], @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"name\": \"netboot\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"netboot.zbi\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"type\": \"zbi\"@@@",
-      "@@@STEP_LOG_LINE@json.output@  }, @@@",
-      "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"name\": \"archive\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"build-archive.tgz\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"type\": \"tgz\"@@@",
-      "@@@STEP_LOG_LINE@json.output@  }, @@@",
-      "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"name\": \"archive\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"build-archive.zip\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"type\": \"zip\"@@@",
-      "@@@STEP_LOG_LINE@json.output@  }, @@@",
-      "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"name\": \"qemu-kernel\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"multiboot.bin\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"type\": \"kernel\"@@@",
-      "@@@STEP_LOG_LINE@json.output@  }, @@@",
-      "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"name\": \"symbol-archive\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"symbol-archive.tgz\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"type\": \"tgz\"@@@",
-      "@@@STEP_LOG_LINE@json.output@  }, @@@",
-      "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"bootserver_pave\": [@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"--zircon-r\"@@@",
-      "@@@STEP_LOG_LINE@json.output@    ], @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"name\": \"zircon-r\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"zircon-r.zbi\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"type\": \"zbi\"@@@",
-      "@@@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]/fuchsia/out/default/zbi_tests.json",
-      "/path/to/tmp/json"
-    ],
-    "name": "build.read zbi test 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@    \"name\": \"zbi-test-x64\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"path\": \"../default.zircon/zbi-test-x64.zbi\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"success_string\": \"purple monkey dishwasher\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"task_name\": \"zbi-test-x64 - QEMU\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"type\": \"zbi\"@@@",
-      "@@@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]/fuchsia/prebuilt/third_party/ninja/linux_x64/ninja",
-      "-C",
-      "[START_DIR]/fuchsia/out/default.zircon",
-      "-j",
-      "80",
-      "legacy-host_tests",
-      "manifest-$cpu",
-      "zbi-test-x64.zbi"
-    ],
-    "name": "build.ninja.zircon",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@"
-    ]
-  },
-  {
-    "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]/fuchsia/prebuilt/third_party/ninja/linux_x64/ninja",
-      "-C",
-      "[START_DIR]/fuchsia/out/default",
-      "-j",
-      "80",
-      "bundles:infratools",
-      "multiboot.bin"
-    ],
-    "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": [
-      "vpython",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "{\"build_info\": {\"build_id\": 8945511751514863184, \"time_stamp\": \"2012-05-14 12:53:21.500000\", \"builder\": \"builder\", \"time_stamp_int\": 1337000003000}}",
-      "[CACHE]/goma/client/goma_stats.json"
-    ],
-    "infra_step": true,
-    "name": "build.ninja.post_goma.write goma_stats.json",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_LOG_LINE@goma_stats.json@{\"build_info\": {\"build_id\": 8945511751514863184, \"time_stamp\": \"2012-05-14 12:53:21.500000\", \"builder\": \"builder\", \"time_stamp_int\": 1337000003000}}@@@",
-      "@@@STEP_LOG_END@goma_stats.json@@@",
-      "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"build_info\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"build_id\": 8945511751514863184, @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"time_stamp\": \"2012-05-14 12:53:21.500000\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"builder\": \"builder\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"time_stamp_int\": 1337000003000@@@",
-      "@@@STEP_LOG_LINE@json.output@    }@@@",
-      "@@@STEP_LOG_LINE@json.output@}@@@",
-      "@@@STEP_LOG_END@json.output@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "build.ninja.post_goma.ensure bqupload",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@3@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "cipd",
-      "ensure",
-      "-root",
-      "[START_DIR]/cipd/bqupload",
-      "-ensure-file",
-      "infra/tools/bqupload/${platform} git_revision:d85fe78f303c3e969f815121e17c8b08868039ef",
-      "-json-output",
-      "/path/to/tmp/json"
-    ],
-    "infra_step": true,
-    "name": "build.ninja.post_goma.ensure bqupload.ensure_installed",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@4@@@",
-      "@@@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:d85\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"package\": \"infra/tools/bqupload/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/bqupload/bqupload",
-      "fuchsia-infra.artifacts.builds_beta_goma",
-      "[CACHE]/goma/client/goma_stats.json"
-    ],
-    "name": "build.ninja.post_goma.upload goma_stats_to BQ: fuchsia-infra/artifacts/builds_beta_goma",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@3@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "prepare test: zbi-test-x64 - QEMU"
-  },
-  {
-    "cmd": [
-      "python",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/symlink.py",
-      "--link-json",
-      "{\"[START_DIR]/fuchsia/out/default/../default.zircon/zbi-test-x64.zbi\": [\"[CLEANUP]/isolate_tmp_2/zbi-test-x64.zbi\"], \"[START_DIR]/fuchsia/out/default/linux_x64/botanist\": [\"[CLEANUP]/isolate_tmp_2/botanist\"], \"[START_DIR]/fuchsia/out/default/multiboot.bin\": [\"[CLEANUP]/isolate_tmp_2/multiboot.bin\"]}"
-    ],
-    "infra_step": true,
-    "name": "prepare test: zbi-test-x64 - QEMU.create tree of images",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
-      "--json-output",
-      "/path/to/tmp/json",
-      "copy",
-      "[\n  {\n    \"name\": \"zircon-a\", \n    \"success_string\": \"purple monkey dishwasher\", \n    \"task_name\": \"zbi-test-x64 - QEMU\", \n    \"path\": \"zbi-test-x64.zbi\", \n    \"type\": \"zbi\", \n    \"cpu\": \"x64\"\n  }, \n  {\n    \"path\": \"multiboot.bin\", \n    \"type\": \"kernel\", \n    \"name\": \"qemu-kernel\"\n  }\n]",
-      "[CLEANUP]/isolate_tmp_2/images.json"
-    ],
-    "infra_step": true,
-    "name": "prepare test: zbi-test-x64 - QEMU.write image manifest",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LOG_LINE@images.json@[@@@",
-      "@@@STEP_LOG_LINE@images.json@  {@@@",
-      "@@@STEP_LOG_LINE@images.json@    \"name\": \"zircon-a\", @@@",
-      "@@@STEP_LOG_LINE@images.json@    \"success_string\": \"purple monkey dishwasher\", @@@",
-      "@@@STEP_LOG_LINE@images.json@    \"task_name\": \"zbi-test-x64 - QEMU\", @@@",
-      "@@@STEP_LOG_LINE@images.json@    \"path\": \"zbi-test-x64.zbi\", @@@",
-      "@@@STEP_LOG_LINE@images.json@    \"type\": \"zbi\", @@@",
-      "@@@STEP_LOG_LINE@images.json@    \"cpu\": \"x64\"@@@",
-      "@@@STEP_LOG_LINE@images.json@  }, @@@",
-      "@@@STEP_LOG_LINE@images.json@  {@@@",
-      "@@@STEP_LOG_LINE@images.json@    \"path\": \"multiboot.bin\", @@@",
-      "@@@STEP_LOG_LINE@images.json@    \"type\": \"kernel\", @@@",
-      "@@@STEP_LOG_LINE@images.json@    \"name\": \"qemu-kernel\"@@@",
-      "@@@STEP_LOG_LINE@images.json@  }@@@",
-      "@@@STEP_LOG_LINE@images.json@]@@@",
-      "@@@STEP_LOG_END@images.json@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "prepare test: zbi-test-x64 - QEMU.ensure isolated",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "cipd",
-      "ensure",
-      "-root",
-      "[CACHE]/isolated_client",
-      "-ensure-file",
-      "infra/tools/luci/isolated/${platform} git_revision:305e79001db1846906c7136d90a863bee5bd3bfc",
-      "-json-output",
-      "/path/to/tmp/json"
-    ],
-    "infra_step": true,
-    "name": "prepare test: zbi-test-x64 - QEMU.ensure isolated.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-git_revision:305\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"package\": \"infra/tools/luci/isolated/resolved-platform\"@@@",
-      "@@@STEP_LOG_LINE@json.output@      }@@@",
-      "@@@STEP_LOG_LINE@json.output@    ]@@@",
-      "@@@STEP_LOG_LINE@json.output@  }@@@",
-      "@@@STEP_LOG_LINE@json.output@}@@@",
-      "@@@STEP_LOG_END@json.output@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[CACHE]/isolated_client/isolated",
-      "archive",
-      "-verbose",
-      "-isolate-server",
-      "https://example.isolateserver.appspot.com",
-      "-namespace",
-      "default-gzip",
-      "-dump-hash",
-      "/path/to/tmp/",
-      "-dirs",
-      "[CLEANUP]/isolate_tmp_2:."
-    ],
-    "infra_step": true,
-    "name": "prepare test: zbi-test-x64 - QEMU.isolate images",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LINK@isolated UI@https://example.isolateserver.appspot.com/browse?namespace=default-gzip&hash=%5Bdummy+hash%5D@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect"
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.0",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@1 launched, 1 passed@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.0.launch",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.0.launch.zbi-test-x64 - QEMU (attempt 0)",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_LINK@Swarming task@https://example.swarmingserver.appspot.com/task?id=123@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.0.launch.zbi-test-x64 - QEMU (attempt 0).ensure swarming",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@4@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "cipd",
-      "ensure",
-      "-root",
-      "[CACHE]/swarming_client",
-      "-ensure-file",
-      "infra/tools/luci/swarming/${platform} git_revision:67b11ada44a625008a2db5cb49ad453494b16ba1",
-      "-json-output",
-      "/path/to/tmp/json"
-    ],
-    "infra_step": true,
-    "name": "launch/collect.0.launch.zbi-test-x64 - QEMU (attempt 0).ensure swarming.ensure_installed",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@5@@@",
-      "@@@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:67b\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"package\": \"infra/tools/luci/swarming/resolved-platform\"@@@",
-      "@@@STEP_LOG_LINE@json.output@      }@@@",
-      "@@@STEP_LOG_LINE@json.output@    ]@@@",
-      "@@@STEP_LOG_LINE@json.output@  }@@@",
-      "@@@STEP_LOG_LINE@json.output@}@@@",
-      "@@@STEP_LOG_END@json.output@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[CACHE]/swarming_client/swarming",
-      "spawn-tasks",
-      "-server",
-      "https://example.swarmingserver.appspot.com",
-      "-json-input",
-      "{\"requests\": [{\"name\": \"zbi-test-x64 - QEMU\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:QEMU-x64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"cipd_input\": {\"packages\": [{\"package_name\": \"fuchsia/third_party/qemu/${platform}\", \"path\": \"qemu\", \"version\": \"git_revision:533bf2563d0213a7e002d9fcde75519d30ffa70f\"}]}, \"command\": [\"./botanist\", \"-level\", \"debug\", \"qemu\", \"-type\", \"qemu\", \"-qemu-dir\", \"./qemu/bin\", \"-images\", \"images.json\", \"-arch\", \"x64\", \"-use-kvm\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"kvm\", \"value\": \"1\"}, {\"key\": \"os\", \"value\": \"Debian\"}, {\"key\": \"cpu\", \"value\": \"x64\"}, {\"key\": \"pool\", \"value\": \"fuchsia.tests\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": []}}]}]}",
-      "-json-output",
-      "/path/to/tmp/json",
-      "-cancel-extra-tasks"
-    ],
-    "infra_step": true,
-    "name": "launch/collect.0.launch.zbi-test-x64 - QEMU (attempt 0).trigger",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@4@@@",
-      "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"tasks\": [@@@",
-      "@@@STEP_LOG_LINE@json.output@    {@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"request\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"name\": \"zbi-test-x64 - QEMU\"@@@",
-      "@@@STEP_LOG_LINE@json.output@      }, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"123\"@@@",
-      "@@@STEP_LOG_LINE@json.output@    }@@@",
-      "@@@STEP_LOG_LINE@json.output@  ]@@@",
-      "@@@STEP_LOG_LINE@json.output@}@@@",
-      "@@@STEP_LOG_END@json.output@@@",
-      "@@@STEP_LINK@task UI: zbi-test-x64 - QEMU@https://example.swarmingserver.appspot.com/task?id=123@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[CACHE]/swarming_client/swarming",
-      "collect",
-      "-server",
-      "https://example.swarmingserver.appspot.com",
-      "-task-summary-json",
-      "/path/to/tmp/json",
-      "-task-output-stdout",
-      "json",
-      "123"
-    ],
-    "infra_step": true,
-    "name": "launch/collect.0.collect",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"123\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"output\": \"purple monkey dishwasher\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"outputs\": [], @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"results\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"bot_id\": \"vm-123\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"duration\": 62.35, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"exit_code\": 0, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"name\": \"zbi-test-x64 - QEMU\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"outputs_ref\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"isolated\": \"abc123\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"namespace\": \"default-gzip\"@@@",
-      "@@@STEP_LOG_LINE@json.output@      }, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"state\": \"COMPLETED\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"123\"@@@",
-      "@@@STEP_LOG_LINE@json.output@    }@@@",
-      "@@@STEP_LOG_LINE@json.output@  }@@@",
-      "@@@STEP_LOG_LINE@json.output@}@@@",
-      "@@@STEP_LOG_END@json.output@@@",
-      "@@@STEP_LOG_LINE@task stdout+stderr: zbi-test-x64 - QEMU@purple monkey dishwasher@@@",
-      "@@@STEP_LOG_END@task stdout+stderr: zbi-test-x64 - QEMU@@@",
-      "@@@STEP_LINK@task isolated outputs: zbi-test-x64 - QEMU@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.0.process results",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.0.process results.zbi-test-x64 - QEMU",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
-      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
-      "@@@STEP_LOG_END@symbolized log@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[START_DIR]/fuchsia/out/default/linux_x64/symbolize",
-      "-llvm-symbolizer-restart-interval",
-      "2",
-      "-level",
-      "debug",
-      "-build-id-dir",
-      "[START_DIR]/fuchsia/out/default.zircon/.build-id",
-      "-build-id-dir",
-      "[START_DIR]/fuchsia/prebuilt/third_party/clang/linux-x64/lib/debug/.build-id",
-      "-llvm-symbolizer",
-      "[START_DIR]/fuchsia/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer",
-      "-json-output",
-      "/path/to/tmp/json"
-    ],
-    "infra_step": true,
-    "name": "launch/collect.0.process results.zbi-test-x64 - QEMU.symbolize logs",
-    "stdin": "purple monkey dishwasher",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@4@@@",
-      "@@@STEP_LOG_LINE@json.output[symbolizer-output.json]@{}@@@",
-      "@@@STEP_LOG_END@json.output[symbolizer-output.json]@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.0.process results.always pass",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@3@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.0.passed tasks",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_LINK@zbi-test-x64 - QEMU (attempt 0)@https://example.swarmingserver.appspot.com/task?id=123@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "passes",
-    "~followup_annotations": [
-      "@@@STEP_SUMMARY_TEXT@1 passed@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "passes.zbi-test-x64 - QEMU",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "passes.zbi-test-x64 - QEMU.attempt 0 (pass)",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
-      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
-      "@@@STEP_LOG_END@symbolized log@@@",
-      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=123@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "flakes",
-    "~followup_annotations": [
-      "@@@STEP_SUMMARY_TEXT@0 flaked@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "failures",
-    "~followup_annotations": [
-      "@@@STEP_SUMMARY_TEXT@0 failed@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "all tasks passed"
-  },
-  {
-    "name": "$result"
-  }
-]
\ No newline at end of file
diff --git a/recipes/zbi_test.expected/flake-x64-AEMU.json b/recipes/zbi_test.expected/pass-x64.json
similarity index 85%
copy from recipes/zbi_test.expected/flake-x64-AEMU.json
copy to recipes/zbi_test.expected/pass-x64.json
index 08ed7fe..35b20bf 100644
--- a/recipes/zbi_test.expected/flake-x64-AEMU.json
+++ b/recipes/zbi_test.expected/pass-x64.json
@@ -1448,10 +1448,14 @@
       "@@@STEP_LOG_LINE@json.output@[@@@",
       "@@@STEP_LOG_LINE@json.output@  {@@@",
       "@@@STEP_LOG_LINE@json.output@    \"cpu\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"device_types\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"QEMU\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"AEMU\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"Intel NUC Kit NUC7i5DNHE\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    ], @@@",
       "@@@STEP_LOG_LINE@json.output@    \"name\": \"zbi-test-x64\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"path\": \"../default.zircon/zbi-test-x64.zbi\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"success_string\": \"purple monkey dishwasher\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"task_name\": \"zbi-test-x64 - AEMU\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"type\": \"zbi\"@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@]@@@",
@@ -1739,21 +1743,7 @@
   },
   {
     "cmd": [],
-    "name": "prepare test: zbi-test-x64 - AEMU"
-  },
-  {
-    "cmd": [
-      "python",
-      "-u",
-      "RECIPE_MODULE[recipe_engine::file]/resources/symlink.py",
-      "--link-json",
-      "{\"[START_DIR]/fuchsia/out/default/../default.zircon/zbi-test-x64.zbi\": [\"[CLEANUP]/isolate_tmp_2/zbi-test-x64.zbi\"], \"[START_DIR]/fuchsia/out/default/linux_x64/botanist\": [\"[CLEANUP]/isolate_tmp_2/botanist\"], \"[START_DIR]/fuchsia/out/default/multiboot.bin\": [\"[CLEANUP]/isolate_tmp_2/multiboot.bin\"]}"
-    ],
-    "infra_step": true,
-    "name": "prepare test: zbi-test-x64 - AEMU.create tree of images",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
+    "name": "prepare test: zbi-test-x64 - QEMU"
   },
   {
     "cmd": [
@@ -1763,18 +1753,22 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "[\n  {\n    \"name\": \"zircon-a\", \n    \"success_string\": \"purple monkey dishwasher\", \n    \"task_name\": \"zbi-test-x64 - AEMU\", \n    \"path\": \"zbi-test-x64.zbi\", \n    \"type\": \"zbi\", \n    \"cpu\": \"x64\"\n  }, \n  {\n    \"path\": \"multiboot.bin\", \n    \"type\": \"kernel\", \n    \"name\": \"qemu-kernel\"\n  }\n]",
+      "[\n  {\n    \"name\": \"zircon-a\", \n    \"device_types\": [\n      \"QEMU\", \n      \"AEMU\", \n      \"Intel NUC Kit NUC7i5DNHE\"\n    ], \n    \"success_string\": \"purple monkey dishwasher\", \n    \"path\": \"zbi-test-x64.zbi\", \n    \"type\": \"zbi\", \n    \"cpu\": \"x64\"\n  }, \n  {\n    \"path\": \"multiboot.bin\", \n    \"type\": \"kernel\", \n    \"name\": \"qemu-kernel\"\n  }\n]",
       "[CLEANUP]/isolate_tmp_2/images.json"
     ],
     "infra_step": true,
-    "name": "prepare test: zbi-test-x64 - AEMU.write image manifest",
+    "name": "prepare test: zbi-test-x64 - QEMU.write image manifest",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@images.json@[@@@",
       "@@@STEP_LOG_LINE@images.json@  {@@@",
       "@@@STEP_LOG_LINE@images.json@    \"name\": \"zircon-a\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"device_types\": [@@@",
+      "@@@STEP_LOG_LINE@images.json@      \"QEMU\", @@@",
+      "@@@STEP_LOG_LINE@images.json@      \"AEMU\", @@@",
+      "@@@STEP_LOG_LINE@images.json@      \"Intel NUC Kit NUC7i5DNHE\"@@@",
+      "@@@STEP_LOG_LINE@images.json@    ], @@@",
       "@@@STEP_LOG_LINE@images.json@    \"success_string\": \"purple monkey dishwasher\", @@@",
-      "@@@STEP_LOG_LINE@images.json@    \"task_name\": \"zbi-test-x64 - AEMU\", @@@",
       "@@@STEP_LOG_LINE@images.json@    \"path\": \"zbi-test-x64.zbi\", @@@",
       "@@@STEP_LOG_LINE@images.json@    \"type\": \"zbi\", @@@",
       "@@@STEP_LOG_LINE@images.json@    \"cpu\": \"x64\"@@@",
@@ -1789,8 +1783,50 @@
     ]
   },
   {
+    "cmd": [
+      "vpython",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "copy",
+      "[\n  {\n    \"target\": \"x64\", \n    \"kvm\": true, \n    \"memory\": 4096, \n    \"path\": \"./qemu/bin\", \n    \"type\": \"qemu\", \n    \"cpu\": 4\n  }\n]",
+      "[CLEANUP]/isolate_tmp_2/qemu.json"
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-x64 - QEMU.write qemu config",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_LINE@qemu.json@[@@@",
+      "@@@STEP_LOG_LINE@qemu.json@  {@@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"target\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"kvm\": true, @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"memory\": 4096, @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"path\": \"./qemu/bin\", @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"type\": \"qemu\", @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"cpu\": 4@@@",
+      "@@@STEP_LOG_LINE@qemu.json@  }@@@",
+      "@@@STEP_LOG_LINE@qemu.json@]@@@",
+      "@@@STEP_LOG_END@qemu.json@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/symlink.py",
+      "--link-json",
+      "{\"[START_DIR]/fuchsia/out/default/../default.zircon/zbi-test-x64.zbi\": [\"[CLEANUP]/isolate_tmp_2/zbi-test-x64.zbi\"], \"[START_DIR]/fuchsia/out/default/linux_x64/botanist\": [\"[CLEANUP]/isolate_tmp_2/botanist\"], \"[START_DIR]/fuchsia/out/default/linux_x64/seriallistener\": [\"[CLEANUP]/isolate_tmp_2/seriallistener\"], \"[START_DIR]/fuchsia/out/default/multiboot.bin\": [\"[CLEANUP]/isolate_tmp_2/multiboot.bin\"]}"
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-x64 - QEMU.create tree of images",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
     "cmd": [],
-    "name": "prepare test: zbi-test-x64 - AEMU.ensure isolated",
+    "name": "prepare test: zbi-test-x64 - QEMU.ensure isolated",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
@@ -1807,7 +1843,7 @@
       "/path/to/tmp/json"
     ],
     "infra_step": true,
-    "name": "prepare test: zbi-test-x64 - AEMU.ensure isolated.ensure_installed",
+    "name": "prepare test: zbi-test-x64 - QEMU.ensure isolated.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -1838,6 +1874,181 @@
       "[CLEANUP]/isolate_tmp_2:."
     ],
     "infra_step": true,
+    "name": "prepare test: zbi-test-x64 - QEMU.isolate images",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LINK@isolated UI@https://example.isolateserver.appspot.com/browse?namespace=default-gzip&hash=%5Bdummy+hash%5D@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "prepare test: zbi-test-x64 - Intel NUC Kit NUC7i5DNHE"
+  },
+  {
+    "cmd": [
+      "vpython",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "copy",
+      "[\n  {\n    \"name\": \"zircon-a\", \n    \"device_types\": [\n      \"QEMU\", \n      \"AEMU\", \n      \"Intel NUC Kit NUC7i5DNHE\"\n    ], \n    \"success_string\": \"purple monkey dishwasher\", \n    \"path\": \"zbi-test-x64.zbi\", \n    \"type\": \"zbi\", \n    \"cpu\": \"x64\"\n  }\n]",
+      "[CLEANUP]/isolate_tmp_3/images.json"
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-x64 - Intel NUC Kit NUC7i5DNHE.write image manifest",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_LINE@images.json@[@@@",
+      "@@@STEP_LOG_LINE@images.json@  {@@@",
+      "@@@STEP_LOG_LINE@images.json@    \"name\": \"zircon-a\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"device_types\": [@@@",
+      "@@@STEP_LOG_LINE@images.json@      \"QEMU\", @@@",
+      "@@@STEP_LOG_LINE@images.json@      \"AEMU\", @@@",
+      "@@@STEP_LOG_LINE@images.json@      \"Intel NUC Kit NUC7i5DNHE\"@@@",
+      "@@@STEP_LOG_LINE@images.json@    ], @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"success_string\": \"purple monkey dishwasher\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"path\": \"zbi-test-x64.zbi\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"type\": \"zbi\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"cpu\": \"x64\"@@@",
+      "@@@STEP_LOG_LINE@images.json@  }@@@",
+      "@@@STEP_LOG_LINE@images.json@]@@@",
+      "@@@STEP_LOG_END@images.json@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/symlink.py",
+      "--link-json",
+      "{\"[START_DIR]/fuchsia/out/default/../default.zircon/zbi-test-x64.zbi\": [\"[CLEANUP]/isolate_tmp_3/zbi-test-x64.zbi\"], \"[START_DIR]/fuchsia/out/default/linux_x64/botanist\": [\"[CLEANUP]/isolate_tmp_3/botanist\"], \"[START_DIR]/fuchsia/out/default/linux_x64/seriallistener\": [\"[CLEANUP]/isolate_tmp_3/seriallistener\"]}"
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-x64 - Intel NUC Kit NUC7i5DNHE.create tree of images",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[CACHE]/isolated_client/isolated",
+      "archive",
+      "-verbose",
+      "-isolate-server",
+      "https://example.isolateserver.appspot.com",
+      "-namespace",
+      "default-gzip",
+      "-dump-hash",
+      "/path/to/tmp/",
+      "-dirs",
+      "[CLEANUP]/isolate_tmp_3:."
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-x64 - Intel NUC Kit NUC7i5DNHE.isolate images",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LINK@isolated UI@https://example.isolateserver.appspot.com/browse?namespace=default-gzip&hash=%5Bdummy+hash%5D@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "prepare test: zbi-test-x64 - AEMU"
+  },
+  {
+    "cmd": [
+      "vpython",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "copy",
+      "[\n  {\n    \"name\": \"zircon-a\", \n    \"device_types\": [\n      \"QEMU\", \n      \"AEMU\", \n      \"Intel NUC Kit NUC7i5DNHE\"\n    ], \n    \"success_string\": \"purple monkey dishwasher\", \n    \"path\": \"zbi-test-x64.zbi\", \n    \"type\": \"zbi\", \n    \"cpu\": \"x64\"\n  }, \n  {\n    \"path\": \"multiboot.bin\", \n    \"type\": \"kernel\", \n    \"name\": \"qemu-kernel\"\n  }\n]",
+      "[CLEANUP]/isolate_tmp_4/images.json"
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-x64 - AEMU.write image manifest",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_LINE@images.json@[@@@",
+      "@@@STEP_LOG_LINE@images.json@  {@@@",
+      "@@@STEP_LOG_LINE@images.json@    \"name\": \"zircon-a\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"device_types\": [@@@",
+      "@@@STEP_LOG_LINE@images.json@      \"QEMU\", @@@",
+      "@@@STEP_LOG_LINE@images.json@      \"AEMU\", @@@",
+      "@@@STEP_LOG_LINE@images.json@      \"Intel NUC Kit NUC7i5DNHE\"@@@",
+      "@@@STEP_LOG_LINE@images.json@    ], @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"success_string\": \"purple monkey dishwasher\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"path\": \"zbi-test-x64.zbi\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"type\": \"zbi\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"cpu\": \"x64\"@@@",
+      "@@@STEP_LOG_LINE@images.json@  }, @@@",
+      "@@@STEP_LOG_LINE@images.json@  {@@@",
+      "@@@STEP_LOG_LINE@images.json@    \"path\": \"multiboot.bin\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"type\": \"kernel\", @@@",
+      "@@@STEP_LOG_LINE@images.json@    \"name\": \"qemu-kernel\"@@@",
+      "@@@STEP_LOG_LINE@images.json@  }@@@",
+      "@@@STEP_LOG_LINE@images.json@]@@@",
+      "@@@STEP_LOG_END@images.json@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "vpython",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "copy",
+      "[\n  {\n    \"target\": \"x64\", \n    \"kvm\": true, \n    \"memory\": 4096, \n    \"path\": \"./aemu/bin\", \n    \"type\": \"aemu\", \n    \"cpu\": 4\n  }\n]",
+      "[CLEANUP]/isolate_tmp_4/qemu.json"
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-x64 - AEMU.write qemu config",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_LINE@qemu.json@[@@@",
+      "@@@STEP_LOG_LINE@qemu.json@  {@@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"target\": \"x64\", @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"kvm\": true, @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"memory\": 4096, @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"path\": \"./aemu/bin\", @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"type\": \"aemu\", @@@",
+      "@@@STEP_LOG_LINE@qemu.json@    \"cpu\": 4@@@",
+      "@@@STEP_LOG_LINE@qemu.json@  }@@@",
+      "@@@STEP_LOG_LINE@qemu.json@]@@@",
+      "@@@STEP_LOG_END@qemu.json@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/symlink.py",
+      "--link-json",
+      "{\"[START_DIR]/fuchsia/out/default/../default.zircon/zbi-test-x64.zbi\": [\"[CLEANUP]/isolate_tmp_4/zbi-test-x64.zbi\"], \"[START_DIR]/fuchsia/out/default/linux_x64/botanist\": [\"[CLEANUP]/isolate_tmp_4/botanist\"], \"[START_DIR]/fuchsia/out/default/linux_x64/seriallistener\": [\"[CLEANUP]/isolate_tmp_4/seriallistener\"], \"[START_DIR]/fuchsia/out/default/multiboot.bin\": [\"[CLEANUP]/isolate_tmp_4/multiboot.bin\"]}"
+    ],
+    "infra_step": true,
+    "name": "prepare test: zbi-test-x64 - AEMU.create tree of images",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[CACHE]/isolated_client/isolated",
+      "archive",
+      "-verbose",
+      "-isolate-server",
+      "https://example.isolateserver.appspot.com",
+      "-namespace",
+      "default-gzip",
+      "-dump-hash",
+      "/path/to/tmp/",
+      "-dirs",
+      "[CLEANUP]/isolate_tmp_4:."
+    ],
+    "infra_step": true,
     "name": "prepare test: zbi-test-x64 - AEMU.isolate images",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
@@ -1853,7 +2064,7 @@
     "name": "launch/collect.0",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@1 launched, 1 failed@@@"
+      "@@@STEP_SUMMARY_TEXT@3 launched, 3 passed@@@"
     ]
   },
   {
@@ -1865,7 +2076,7 @@
   },
   {
     "cmd": [],
-    "name": "launch/collect.0.launch.zbi-test-x64 - AEMU (attempt 0)",
+    "name": "launch/collect.0.launch.zbi-test-x64 - QEMU (attempt 0)",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
       "@@@STEP_LINK@Swarming task@https://example.swarmingserver.appspot.com/task?id=123@@@"
@@ -1873,7 +2084,7 @@
   },
   {
     "cmd": [],
-    "name": "launch/collect.0.launch.zbi-test-x64 - AEMU (attempt 0).ensure swarming",
+    "name": "launch/collect.0.launch.zbi-test-x64 - QEMU (attempt 0).ensure swarming",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@"
     ]
@@ -1890,7 +2101,7 @@
       "/path/to/tmp/json"
     ],
     "infra_step": true,
-    "name": "launch/collect.0.launch.zbi-test-x64 - AEMU (attempt 0).ensure swarming.ensure_installed",
+    "name": "launch/collect.0.launch.zbi-test-x64 - QEMU (attempt 0).ensure swarming.ensure_installed",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@5@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -1913,7 +2124,83 @@
       "-server",
       "https://example.swarmingserver.appspot.com",
       "-json-input",
-      "{\"requests\": [{\"name\": \"zbi-test-x64 - AEMU\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:AEMU-x64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"cipd_input\": {\"packages\": [{\"package_name\": \"fuchsia/third_party/aemu/${platform}\", \"path\": \"aemu/bin\", \"version\": \"git_revision:de95df869556006ad87f402110aa835d03835060\"}]}, \"command\": [\"./botanist\", \"-level\", \"debug\", \"qemu\", \"-type\", \"aemu\", \"-qemu-dir\", \"./aemu/bin\", \"-images\", \"images.json\", \"-arch\", \"x64\", \"-use-kvm\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"kvm\", \"value\": \"1\"}, {\"key\": \"os\", \"value\": \"Debian\"}, {\"key\": \"cpu\", \"value\": \"x64\"}, {\"key\": \"pool\", \"value\": \"fuchsia.tests\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": []}}]}]}",
+      "{\"requests\": [{\"name\": \"zbi-test-x64 - QEMU\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:QEMU-x64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"cipd_input\": {\"packages\": [{\"package_name\": \"fuchsia/third_party/qemu/${platform}\", \"path\": \"qemu\", \"version\": \"git_revision:533bf2563d0213a7e002d9fcde75519d30ffa70f\"}]}, \"command\": [\"./botanist\", \"-level\", \"debug\", \"run\", \"-images\", \"images.json\", \"-serial-log\", \"serial.txt\", \"-config\", \"./qemu.json\", \"-netboot\", \"./seriallistener\", \"-timeout\", \"5m\", \"-stdout=False\", \"-success\", \"purple monkey dishwasher\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"kvm\", \"value\": \"1\"}, {\"key\": \"os\", \"value\": \"Debian\"}, {\"key\": \"cpu\", \"value\": \"x64\"}, {\"key\": \"pool\", \"value\": \"fuchsia.tests\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": [\"serial.txt\"]}}]}]}",
+      "-json-output",
+      "/path/to/tmp/json",
+      "-cancel-extra-tasks"
+    ],
+    "infra_step": true,
+    "name": "launch/collect.0.launch.zbi-test-x64 - QEMU (attempt 0).trigger",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@4@@@",
+      "@@@STEP_LOG_LINE@json.output@{@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"tasks\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@    {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"request\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"name\": \"zbi-test-x64 - QEMU\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      }, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"123\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  ]@@@",
+      "@@@STEP_LOG_LINE@json.output@}@@@",
+      "@@@STEP_LOG_END@json.output@@@",
+      "@@@STEP_LINK@task UI: zbi-test-x64 - QEMU@https://example.swarmingserver.appspot.com/task?id=123@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "launch/collect.0.launch.zbi-test-x64 - Intel NUC Kit NUC7i5DNHE (attempt 0)",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@3@@@",
+      "@@@STEP_LINK@Swarming task@https://example.swarmingserver.appspot.com/task?id=125@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[CACHE]/swarming_client/swarming",
+      "spawn-tasks",
+      "-server",
+      "https://example.swarmingserver.appspot.com",
+      "-json-input",
+      "{\"requests\": [{\"name\": \"zbi-test-x64 - Intel NUC Kit NUC7i5DNHE\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:Intel NUC Kit NUC7i5DNHE-x64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"command\": [\"./botanist\", \"-level\", \"debug\", \"run\", \"-images\", \"images.json\", \"-serial-log\", \"serial.txt\", \"-config\", \"/etc/botanist/config.json\", \"-netboot\", \"./seriallistener\", \"-timeout\", \"5m\", \"-stdout=True\", \"-success\", \"purple monkey dishwasher\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"pool\", \"value\": \"fuchsia.tests\"}, {\"key\": \"device_type\", \"value\": \"Intel NUC Kit NUC7i5DNHE\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": [\"serial.txt\"]}}]}]}",
+      "-json-output",
+      "/path/to/tmp/json",
+      "-cancel-extra-tasks"
+    ],
+    "infra_step": true,
+    "name": "launch/collect.0.launch.zbi-test-x64 - Intel NUC Kit NUC7i5DNHE (attempt 0).trigger",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@4@@@",
+      "@@@STEP_LOG_LINE@json.output@{@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"tasks\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@    {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"request\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"name\": \"zbi-test-x64 - Intel NUC Kit NUC7i5DNHE\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      }, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"125\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  ]@@@",
+      "@@@STEP_LOG_LINE@json.output@}@@@",
+      "@@@STEP_LOG_END@json.output@@@",
+      "@@@STEP_LINK@task UI: zbi-test-x64 - Intel NUC Kit NUC7i5DNHE@https://example.swarmingserver.appspot.com/task?id=125@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "launch/collect.0.launch.zbi-test-x64 - AEMU (attempt 0)",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@3@@@",
+      "@@@STEP_LINK@Swarming task@https://example.swarmingserver.appspot.com/task?id=124@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[CACHE]/swarming_client/swarming",
+      "spawn-tasks",
+      "-server",
+      "https://example.swarmingserver.appspot.com",
+      "-json-input",
+      "{\"requests\": [{\"name\": \"zbi-test-x64 - AEMU\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:AEMU-x64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"cipd_input\": {\"packages\": [{\"package_name\": \"fuchsia/third_party/aemu/${platform}\", \"path\": \"aemu/bin\", \"version\": \"git_revision:de95df869556006ad87f402110aa835d03835060\"}]}, \"command\": [\"./botanist\", \"-level\", \"debug\", \"run\", \"-images\", \"images.json\", \"-serial-log\", \"serial.txt\", \"-config\", \"./qemu.json\", \"-netboot\", \"./seriallistener\", \"-timeout\", \"5m\", \"-stdout=False\", \"-success\", \"purple monkey dishwasher\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"kvm\", \"value\": \"1\"}, {\"key\": \"os\", \"value\": \"Debian\"}, {\"key\": \"cpu\", \"value\": \"x64\"}, {\"key\": \"pool\", \"value\": \"fuchsia.tests\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": [\"serial.txt\"]}}]}]}",
       "-json-output",
       "/path/to/tmp/json",
       "-cancel-extra-tasks"
@@ -1928,12 +2215,12 @@
       "@@@STEP_LOG_LINE@json.output@      \"request\": {@@@",
       "@@@STEP_LOG_LINE@json.output@        \"name\": \"zbi-test-x64 - AEMU\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"123\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"124\"@@@",
       "@@@STEP_LOG_LINE@json.output@    }@@@",
       "@@@STEP_LOG_LINE@json.output@  ]@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
-      "@@@STEP_LINK@task UI: zbi-test-x64 - AEMU@https://example.swarmingserver.appspot.com/task?id=123@@@"
+      "@@@STEP_LINK@task UI: zbi-test-x64 - AEMU@https://example.swarmingserver.appspot.com/task?id=124@@@"
     ]
   },
   {
@@ -1946,7 +2233,13 @@
       "/path/to/tmp/json",
       "-task-output-stdout",
       "json",
-      "123"
+      "-output-dir",
+      "[CLEANUP]/swarming_tmp_5",
+      "-timeout",
+      "5m",
+      "123",
+      "125",
+      "124"
     ],
     "infra_step": true,
     "name": "launch/collect.0.collect",
@@ -1954,7 +2247,24 @@
       "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"123\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"output\": \"not success\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"output\": \"purple monkey dishwasher\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"outputs\": [], @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"results\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"bot_id\": \"vm-123\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"duration\": 62.35, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"exit_code\": 0, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"name\": \"zbi-test-x64 - QEMU\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"outputs_ref\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"isolated\": \"abc123\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"namespace\": \"default-gzip\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      }, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"state\": \"COMPLETED\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"123\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"124\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"output\": \"purple monkey dishwasher\", @@@",
       "@@@STEP_LOG_LINE@json.output@    \"outputs\": [], @@@",
       "@@@STEP_LOG_LINE@json.output@    \"results\": {@@@",
       "@@@STEP_LOG_LINE@json.output@      \"bot_id\": \"vm-123\", @@@",
@@ -1967,14 +2277,37 @@
       "@@@STEP_LOG_LINE@json.output@        \"namespace\": \"default-gzip\"@@@",
       "@@@STEP_LOG_LINE@json.output@      }, @@@",
       "@@@STEP_LOG_LINE@json.output@      \"state\": \"COMPLETED\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"123\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"124\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }, @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"125\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"output\": \"purple monkey dishwasher\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"outputs\": [], @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"results\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"bot_id\": \"vm-123\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"duration\": 62.35, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"exit_code\": 0, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"name\": \"zbi-test-x64 - Intel NUC Kit NUC7i5DNHE\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"outputs_ref\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"isolated\": \"abc123\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"namespace\": \"default-gzip\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      }, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"state\": \"COMPLETED\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"125\"@@@",
       "@@@STEP_LOG_LINE@json.output@    }@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
-      "@@@STEP_LOG_LINE@task stdout+stderr: zbi-test-x64 - AEMU@not success@@@",
+      "@@@STEP_LOG_LINE@task stdout+stderr: zbi-test-x64 - AEMU@purple monkey dishwasher@@@",
       "@@@STEP_LOG_END@task stdout+stderr: zbi-test-x64 - AEMU@@@",
-      "@@@STEP_LINK@task isolated outputs: zbi-test-x64 - AEMU@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@"
+      "@@@STEP_LOG_LINE@task stdout+stderr: zbi-test-x64 - Intel NUC Kit NUC7i5DNHE@purple monkey dishwasher@@@",
+      "@@@STEP_LOG_END@task stdout+stderr: zbi-test-x64 - Intel NUC Kit NUC7i5DNHE@@@",
+      "@@@STEP_LOG_LINE@task stdout+stderr: zbi-test-x64 - QEMU@purple monkey dishwasher@@@",
+      "@@@STEP_LOG_END@task stdout+stderr: zbi-test-x64 - QEMU@@@",
+      "@@@STEP_LINK@task isolated outputs: zbi-test-x64 - AEMU@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@",
+      "@@@STEP_LINK@task isolated outputs: zbi-test-x64 - Intel NUC Kit NUC7i5DNHE@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@",
+      "@@@STEP_LINK@task isolated outputs: zbi-test-x64 - QEMU@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@"
     ]
   },
   {
@@ -2012,7 +2345,7 @@
     ],
     "infra_step": true,
     "name": "launch/collect.0.process results.zbi-test-x64 - AEMU.symbolize logs",
-    "stdin": "not success",
+    "stdin": "purple monkey dishwasher",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
       "@@@STEP_LOG_LINE@json.output[symbolizer-output.json]@{}@@@",
@@ -2021,123 +2354,7 @@
   },
   {
     "cmd": [],
-    "name": "launch/collect.0.process results.always pass",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@3@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.0.failed tasks",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_LINK@zbi-test-x64 - AEMU (attempt 0)@https://example.swarmingserver.appspot.com/task?id=123@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.1",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@1 launched, 1 passed@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.1.launch",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.1.launch.zbi-test-x64 - AEMU (attempt 1)",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_LINK@Swarming task@https://example.swarmingserver.appspot.com/task?id=456@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[CACHE]/swarming_client/swarming",
-      "spawn-tasks",
-      "-server",
-      "https://example.swarmingserver.appspot.com",
-      "-json-input",
-      "{\"requests\": [{\"name\": \"zbi-test-x64 - AEMU\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:AEMU-x64\"], \"task_slices\": [{\"expiration_secs\": \"18000\", \"properties\": {\"cipd_input\": {\"packages\": [{\"package_name\": \"fuchsia/third_party/aemu/${platform}\", \"path\": \"aemu/bin\", \"version\": \"git_revision:de95df869556006ad87f402110aa835d03835060\"}]}, \"command\": [\"./botanist\", \"-level\", \"debug\", \"qemu\", \"-type\", \"aemu\", \"-qemu-dir\", \"./aemu/bin\", \"-images\", \"images.json\", \"-arch\", \"x64\", \"-use-kvm\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"kvm\", \"value\": \"1\"}, {\"key\": \"os\", \"value\": \"Debian\"}, {\"key\": \"cpu\", \"value\": \"x64\"}, {\"key\": \"pool\", \"value\": \"fuchsia.tests\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"600\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"180\", \"outputs\": []}}]}]}",
-      "-json-output",
-      "/path/to/tmp/json",
-      "-cancel-extra-tasks"
-    ],
-    "infra_step": true,
-    "name": "launch/collect.1.launch.zbi-test-x64 - AEMU (attempt 1).trigger",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@4@@@",
-      "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"tasks\": [@@@",
-      "@@@STEP_LOG_LINE@json.output@    {@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"request\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"name\": \"zbi-test-x64 - AEMU\"@@@",
-      "@@@STEP_LOG_LINE@json.output@      }, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"456\"@@@",
-      "@@@STEP_LOG_LINE@json.output@    }@@@",
-      "@@@STEP_LOG_LINE@json.output@  ]@@@",
-      "@@@STEP_LOG_LINE@json.output@}@@@",
-      "@@@STEP_LOG_END@json.output@@@",
-      "@@@STEP_LINK@task UI: zbi-test-x64 - AEMU@https://example.swarmingserver.appspot.com/task?id=456@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[CACHE]/swarming_client/swarming",
-      "collect",
-      "-server",
-      "https://example.swarmingserver.appspot.com",
-      "-task-summary-json",
-      "/path/to/tmp/json",
-      "-task-output-stdout",
-      "json",
-      "456"
-    ],
-    "infra_step": true,
-    "name": "launch/collect.1.collect",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"456\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"output\": \"purple monkey dishwasher\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"outputs\": [], @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"results\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"bot_id\": \"vm-123\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"duration\": 62.35, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"exit_code\": 0, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"name\": \"zbi-test-x64 - AEMU\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"outputs_ref\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"isolated\": \"abc123\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"namespace\": \"default-gzip\"@@@",
-      "@@@STEP_LOG_LINE@json.output@      }, @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"state\": \"COMPLETED\", @@@",
-      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"456\"@@@",
-      "@@@STEP_LOG_LINE@json.output@    }@@@",
-      "@@@STEP_LOG_LINE@json.output@  }@@@",
-      "@@@STEP_LOG_LINE@json.output@}@@@",
-      "@@@STEP_LOG_END@json.output@@@",
-      "@@@STEP_LOG_LINE@task stdout+stderr: zbi-test-x64 - AEMU@purple monkey dishwasher@@@",
-      "@@@STEP_LOG_END@task stdout+stderr: zbi-test-x64 - AEMU@@@",
-      "@@@STEP_LINK@task isolated outputs: zbi-test-x64 - AEMU@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.1.process results",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "launch/collect.1.process results.zbi-test-x64 - AEMU",
+    "name": "launch/collect.0.process results.zbi-test-x64 - Intel NUC Kit NUC7i5DNHE",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
       "@@@STEP_LOG_LINE@symbolized log@blah@@@",
@@ -2162,7 +2379,7 @@
       "/path/to/tmp/json"
     ],
     "infra_step": true,
-    "name": "launch/collect.1.process results.zbi-test-x64 - AEMU.symbolize logs",
+    "name": "launch/collect.0.process results.zbi-test-x64 - Intel NUC Kit NUC7i5DNHE.symbolize logs",
     "stdin": "purple monkey dishwasher",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
@@ -2172,24 +2389,97 @@
   },
   {
     "cmd": [],
-    "name": "launch/collect.1.process results.always pass",
+    "name": "launch/collect.0.process results.zbi-test-x64 - QEMU",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@3@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_END@symbolized log@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[START_DIR]/fuchsia/out/default/linux_x64/symbolize",
+      "-llvm-symbolizer-restart-interval",
+      "2",
+      "-level",
+      "debug",
+      "-build-id-dir",
+      "[START_DIR]/fuchsia/out/default.zircon/.build-id",
+      "-build-id-dir",
+      "[START_DIR]/fuchsia/prebuilt/third_party/clang/linux-x64/lib/debug/.build-id",
+      "-llvm-symbolizer",
+      "[START_DIR]/fuchsia/prebuilt/third_party/llvm-symbolizer/linux_x64/llvm-symbolizer",
+      "-json-output",
+      "/path/to/tmp/json"
+    ],
+    "infra_step": true,
+    "name": "launch/collect.0.process results.zbi-test-x64 - QEMU.symbolize logs",
+    "stdin": "purple monkey dishwasher",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@4@@@",
+      "@@@STEP_LOG_LINE@json.output[symbolizer-output.json]@{}@@@",
+      "@@@STEP_LOG_END@json.output[symbolizer-output.json]@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "launch/collect.0.process results.always pass",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@"
     ]
   },
   {
     "cmd": [],
-    "name": "launch/collect.1.passed tasks",
+    "name": "launch/collect.0.passed tasks",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_LINK@zbi-test-x64 - AEMU (attempt 1)@https://example.swarmingserver.appspot.com/task?id=456@@@"
+      "@@@STEP_LINK@zbi-test-x64 - AEMU (attempt 0)@https://example.swarmingserver.appspot.com/task?id=124@@@",
+      "@@@STEP_LINK@zbi-test-x64 - Intel NUC Kit NUC7i5DNHE (attempt 0)@https://example.swarmingserver.appspot.com/task?id=125@@@",
+      "@@@STEP_LINK@zbi-test-x64 - QEMU (attempt 0)@https://example.swarmingserver.appspot.com/task?id=123@@@"
     ]
   },
   {
     "cmd": [],
     "name": "passes",
     "~followup_annotations": [
-      "@@@STEP_SUMMARY_TEXT@1 passed@@@"
+      "@@@STEP_SUMMARY_TEXT@3 passed@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "passes.zbi-test-x64 - QEMU",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "passes.zbi-test-x64 - QEMU.attempt 0 (pass)",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_END@symbolized log@@@",
+      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=123@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "passes.zbi-test-x64 - Intel NUC Kit NUC7i5DNHE",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "passes.zbi-test-x64 - Intel NUC Kit NUC7i5DNHE.attempt 0 (pass)",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
+      "@@@STEP_LOG_END@symbolized log@@@",
+      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=125@@@"
     ]
   },
   {
@@ -2201,62 +2491,20 @@
   },
   {
     "cmd": [],
-    "name": "passes.zbi-test-x64 - AEMU.attempt 0 (fail)",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_SUMMARY_TEXT@failed to find success string@@@",
-      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
-      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
-      "@@@STEP_LOG_END@symbolized log@@@",
-      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=123@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "passes.zbi-test-x64 - AEMU.attempt 1 (pass)",
+    "name": "passes.zbi-test-x64 - AEMU.attempt 0 (pass)",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@symbolized log@blah@@@",
       "@@@STEP_LOG_LINE@symbolized log@blah@@@",
       "@@@STEP_LOG_END@symbolized log@@@",
-      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=456@@@"
+      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=124@@@"
     ]
   },
   {
     "cmd": [],
     "name": "flakes",
     "~followup_annotations": [
-      "@@@STEP_SUMMARY_TEXT@1 flaked@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "flakes.zbi-test-x64 - AEMU",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "flakes.zbi-test-x64 - AEMU.attempt 0 (fail)",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_SUMMARY_TEXT@failed to find success string@@@",
-      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
-      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
-      "@@@STEP_LOG_END@symbolized log@@@",
-      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=123@@@"
-    ]
-  },
-  {
-    "cmd": [],
-    "name": "flakes.zbi-test-x64 - AEMU.attempt 1 (pass)",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@",
-      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
-      "@@@STEP_LOG_LINE@symbolized log@blah@@@",
-      "@@@STEP_LOG_END@symbolized log@@@",
-      "@@@STEP_LINK@task UI@https://example.swarmingserver.appspot.com/task?id=456@@@"
+      "@@@STEP_SUMMARY_TEXT@0 flaked@@@"
     ]
   },
   {
diff --git a/recipes/zbi_test.py b/recipes/zbi_test.py
index b6f691f..66ea197 100644
--- a/recipes/zbi_test.py
+++ b/recipes/zbi_test.py
@@ -17,6 +17,8 @@
     'fuchsia/status_check',
     'fuchsia/swarming_retry',
     'fuchsia/symbolize',
+    'fuchsia/testing',
+    'fuchsia/testing_requests',
     'recipe_engine/buildbucket',
     'recipe_engine/cipd',
     'recipe_engine/context',
@@ -44,6 +46,8 @@
 # How long the test is allowed to run before swarming kills it.
 TEST_EXECUTION_TIMEOUT_SECS = 600
 
+BOTANIST_DEVICE_CONFIG = '/etc/botanist/config.json'
+IMAGES_JSON = 'images.json'
 QEMU_KERNEL_NAME = 'qemu-kernel'
 
 # The log level to use for botanist invocations in test tasks. Can be one of
@@ -60,11 +64,8 @@
         Property(kind=Enum(*TARGETS), help='Target to build'),
     'variants':
         Property(kind=List(basestring), help='Variants to use'),
-    'device_type':
-        Property(
-            kind=str,
-            help='Device type to use, currently only emulators (QEMU or AEMU)',
-            default='QEMU')
+    'allowed_device_types':
+        Property(kind=List(basestring), help='Allowed device types to run on')
 }
 
 
@@ -78,7 +79,7 @@
   return checkout_root.join('prebuilt', *path)
 
 
-def create_qemu_task(api, **kwargs):
+def create_task(api, **kwargs):
   """Create a Task object.
 
   The base class of the class is inside the api object, so it can't be
@@ -91,17 +92,21 @@
   class Task(api.swarming_retry.TriggeredTask):
 
     def __init__(self, api, name, zbi_test, checkout_root, gn_results,
-                 target_cpu, device_type, **kwargs):
+                 target_cpu, device_type, deprecated, **kwargs):
       super(Task, self).__init__(api=api, name=name, request=None, **kwargs)
       self._checkout_root = checkout_root
       self._gn_results = gn_results
       self._target_cpu = target_cpu
       self._zbi_test = copy.deepcopy(zbi_test)
       self._device_type = device_type
+      self._deprecated = deprecated
 
-      self._create_request()
+      if deprecated:
+        self._create_deprecated_request()
+      else:
+        self._create_request()
 
-    def _create_request(self):
+    def _create_deprecated_request(self):
       isolate_tree = api.file.symlink_tree(
           root=self._api.path.mkdtemp('isolate'))
       isolate_tree.register_link(
@@ -131,8 +136,7 @@
       self._zbi_test['name'] = 'zircon-a'
       self._zbi_test['path'] = os.path.basename(self._zbi_test['path'])
 
-      image_manifest_name = 'images.json'
-      image_manifest_path = isolate_tree.root.join(image_manifest_name)
+      image_manifest_path = isolate_tree.root.join(IMAGES_JSON)
       image_manifest = [self._zbi_test, qemu_kernel]
       self._api.file.write_json(
           'write image manifest', image_manifest_path, image_manifest, indent=2)
@@ -143,9 +147,7 @@
 
       ensure_file = self._api.cipd.EnsureFile()
 
-      if self._device_type == 'AEMU':
-        self._api.emu.add_aemu_to_ensure_file(ensure_file, subdir='aemu/bin')
-      elif self._device_type == 'QEMU':
+      if self._device_type == 'QEMU':
         self._api.emu.add_qemu_to_ensure_file(ensure_file, subdir='qemu')
 
       dimensions = {
@@ -161,7 +163,7 @@
           'qemu',
           '-type', '%s' % self._device_type.lower(),
           '-qemu-dir', './%s/bin' % self._device_type.lower(),
-          '-images', image_manifest_name,
+          '-images', IMAGES_JSON,
           '-arch', self._zbi_test['cpu'],
           '-use-kvm',
       ]  # yapf: disable
@@ -180,6 +182,126 @@
           .with_cipd_ensure_file(ensure_file)
       )  # yapf: disable
 
+    def _create_request(self):
+      isolate_tree = api.file.symlink_tree(
+          root=self._api.path.mkdtemp('isolate'))
+      isolate_tree.register_link(
+          target=self._gn_results.fuchsia_build_dir.join(
+              self._zbi_test['path']),
+          linkname=isolate_tree.root.join(
+              os.path.basename(self._zbi_test['path'])))
+
+      is_emu_type = api.emu.is_emulator_type(self._device_type)
+
+      test_bot_cpu = 'x64'
+      if is_emu_type:
+        test_bot_cpu = self._target_cpu
+
+      isolate_tree.register_link(
+          target=self._gn_results.tool('botanist', test_bot_cpu),
+          linkname=isolate_tree.root.join('botanist'),
+      )
+      isolate_tree.register_link(
+          target=self._gn_results.tool('seriallistener', test_bot_cpu),
+          linkname=isolate_tree.root.join('seriallistener'),
+      )
+
+      # TODO(IN-1420) botanist expects test to be named 'zircon-a'
+      self._zbi_test['name'] = 'zircon-a'
+      self._zbi_test['path'] = os.path.basename(self._zbi_test['path'])
+
+      image_manifest_path = isolate_tree.root.join(IMAGES_JSON)
+      image_manifest = [self._zbi_test]
+      if is_emu_type:
+        qemu_kernel = copy.deepcopy([
+            image for image in self._gn_results.image_manifest
+            if image['name'] == QEMU_KERNEL_NAME
+        ][0])
+
+        qemu_kernel_basename = api.path.basename(qemu_kernel['path'])
+        isolate_tree.register_link(
+            target=self._gn_results.fuchsia_build_dir.join(qemu_kernel['path']),
+            linkname=isolate_tree.root.join(qemu_kernel_basename))
+        qemu_kernel['path'] = qemu_kernel_basename
+        image_manifest += [qemu_kernel]
+      self._api.file.write_json(
+          'write image manifest', image_manifest_path, image_manifest, indent=2)
+
+      ensure_file = self._api.cipd.EnsureFile()
+
+      if self._device_type == 'AEMU':
+        self._api.emu.add_aemu_to_ensure_file(ensure_file, subdir='aemu/bin')
+      elif self._device_type == 'QEMU':
+        self._api.emu.add_qemu_to_ensure_file(ensure_file, subdir='qemu')
+
+      config = BOTANIST_DEVICE_CONFIG
+      dimensions = {
+          'pool': 'fuchsia.tests',
+      }
+      if is_emu_type:
+        dimensions.update({
+            'os': 'Debian',
+            'cpu': self._zbi_test['cpu'],
+            'kvm': '1',
+        })
+        config = './qemu.json'
+        qemu_config = [{
+            'type': self._device_type.lower(),
+            'path': './%s/bin' % self._device_type.lower(),
+            'target': self._zbi_test['cpu'],
+            'cpu': 4,
+            'memory': 4096,
+            'kvm': True,
+        }]
+        self._api.file.write_json(
+            'write qemu config',
+            isolate_tree.root.join('qemu.json'),
+            qemu_config,
+            indent=2)
+      else:
+        dimensions.update({
+            'device_type': self._device_type,
+            # TODO(ihuh): Uncomment once all devices with serial are advertising
+            # this dimension.
+            #'serial': '1',
+        })
+
+      cmd = [
+          './botanist',
+          '-level', BOTANIST_LOG_LEVEL,
+          'run',
+          '-images', IMAGES_JSON,
+          '-serial-log', self._api.testing_requests.SERIAL_LOG_NAME,
+          '-config', config,
+          '-netboot',
+          './seriallistener',
+          '-timeout', '5m',
+          # If of emulator_type, then we are already redirecting serial to
+          # stdout. Do not double redirect.
+          '-stdout=%s' % (not is_emu_type),
+          '-success', self._zbi_test['success_string'],
+      ] # yapf: disable
+
+      isolate_tree.create_links('create tree of images')
+      isolated = self._api.isolated.isolated(isolate_tree.root)
+      isolated.add_dir(isolate_tree.root)
+      isolated_hash = isolated.archive('isolate images')
+
+      outputs = [self._api.testing_requests.SERIAL_LOG_NAME]
+      env_name = '%s-%s' % (self._device_type, self._zbi_test['cpu'])
+      tags = {'test_environment_name': [env_name]}
+      request = api.swarming.task_request().with_name(self.name).with_tags(tags)
+      self._request = request.with_slice(0, request[0].
+          with_command(cmd).
+          with_isolated(isolated_hash).
+          with_dimensions(**dimensions).
+          with_execution_timeout_secs(TEST_EXECUTION_TIMEOUT_SECS).
+          with_expiration_secs(TEST_EXPIRATION_TIMEOUT_SECS).
+          with_io_timeout_secs(TEST_IO_TIMEOUT_SECS).
+          with_cipd_ensure_file(ensure_file).
+          with_outputs(outputs)
+      )  # yapf: disable
+
     def process_result(self):
       attempt = self.attempts[-1]
       assert attempt.result
@@ -214,7 +336,8 @@
 
         # TODO(mohrr) abstract this out because qemu and devices will
         # differ.
-        if self._zbi_test['success_string'] not in result.output:
+        if self._deprecated and self._zbi_test[
+            'success_string'] not in result.output:
           attempt.failure_reason = 'failed to find success string'
 
     def present_attempt(self, task_step, attempt, **kwargs):
@@ -230,7 +353,7 @@
   return Task(api=api, **kwargs)
 
 
-def RunSteps(api, manifest, remote, target_cpu, variants, device_type):
+def RunSteps(api, manifest, remote, target_cpu, variants, allowed_device_types):
   """Builds and executes Zircon tests in QEMU on a different machine."""
 
   with api.context(infra_steps=True):
@@ -268,100 +391,106 @@
 
   tasks = []
   for name, zbi_test in gn_results.zbi_tests.iteritems():
-    task_name = '%s - %s' % (name, device_type)
-    with api.step.nest('prepare test: %s' % task_name):
-      tasks.append(
-          create_qemu_task(
-              api,
-              name=task_name,
-              zbi_test=zbi_test,
-              checkout_root=checkout.root_dir,
-              gn_results=gn_results,
-              target_cpu=target_cpu,
-              device_type=device_type))
+    # TODO(ihuh): Remove once device_types are added to zbi_tests.
+    deprecated = len(zbi_test.get('device_types', [])) == 0
+    allowed = set(allowed_device_types)
+    specified = set(zbi_test.get('device_types', ['QEMU']))
+    device_types = allowed.intersection(specified)
 
+    for device_type in device_types:
+      task_name = '%s - %s' % (name, device_type)
+      with api.step.nest('prepare test: %s' % task_name):
+        tasks.append(
+            create_task(
+                api,
+                name=task_name,
+                zbi_test=zbi_test,
+                checkout_root=checkout.root_dir,
+                gn_results=gn_results,
+                target_cpu=target_cpu,
+                device_type=device_type,
+                deprecated=deprecated,
+            ))
+
+  output_dir = api.path.mkdtemp('swarming')
   with api.swarming_retry.retry(tasks) as retry:
-    retry.run_tasks()
+    retry.run_tasks(collect_output_dir=output_dir)
     retry.present_tasks()
     retry.raise_failures()
 
 
 def GenTests(api):
 
-  def test(name, zbi_test, status, device_type):
-    full_name = '%s-%s-%s' % (name, zbi_test['cpu'], device_type)
-
-    # This entry isn't used by RunSteps but makes writing tests a little
-    # cleaner.
-    zbi_test['task_name'] = '%s - %s' % (zbi_test['name'], device_type)
+  def test(name, zbi_test, status, output):
+    deprecated = False
+    if 'device_types' not in zbi_test:
+      deprecated = True
+      device_type = 'QEMU'
+      full_name = '%s-%s-%s' % (name, zbi_test['cpu'], device_type)
+      device_types = [device_type]
+    else:
+      full_name = '%s-%s' % (name, zbi_test['cpu'])
+      device_types = zbi_test['device_types']
 
     test = api.status_check.test(full_name, status=status)
     test += api.buildbucket.ci_build(
         git_repo='https://fuchsia.googlesource.com/fuchsia')
 
     test += api.properties(
-        project='zircon',
         manifest='manifest',
         remote='https://fuchsia.googlesource.com/fuchsia',
         target_cpu=zbi_test['cpu'],
         variants=['clang'],
-        device_type=device_type)
+        allowed_device_types=device_types,
+    )
 
     test += api.step_data('build.read zbi test manifest',
                           api.json.output([zbi_test]))
+
+    def get_task_data(task_name, device_type, task_id, output):
+      if zbi_test['success_string'] not in output and not deprecated:
+        return api.swarming_retry.failed_task(
+            task_name, task_id=task_id, output=output)
+      return api.swarming_retry.passed_task(
+          task_name, task_id=task_id, output=output)
+
+    task_id = 123
+    task_data = []
+    task_retry_data = []
+    failed_first_attempt = len(output) > 1
+    for device in device_types:
+      task_name = '%s - %s' % (zbi_test['name'], device)
+      test += api.swarming_retry.trigger_data(
+          name=task_name, task_id=task_id, iteration=0)
+      task_data.append(
+          get_task_data(task_name, device, task_id=task_id, output=output[0]))
+      if failed_first_attempt:
+        task_id += 1
+        test += api.swarming_retry.trigger_data(
+            name=task_name, task_id=task_id, iteration=1)
+        task_retry_data.append(
+            get_task_data(task_name, device, task_id=task_id, output=output[1]))
+      task_id += 1
+
+    test += api.swarming_retry.collect_data(task_data, iteration=0)
+    if failed_first_attempt:
+      test += api.swarming_retry.collect_data(task_retry_data, iteration=1)
     return test
 
-  zbi_test = api.build.mock_zbi_test('arm64')
-  for device_type in ['AEMU', 'QEMU']:
+  for cpu in ['arm64', 'x64']:
+    zbi_test = api.build.mock_zbi_test(cpu)
     yield (
-        test('pass', zbi_test, 'success', device_type) +
-        api.swarming_retry.trigger_data(
-            name=zbi_test['task_name'], task_id=123, iteration=0) +
-        api.swarming_retry.collect_data([
-            api.swarming_retry.passed_task(zbi_test['task_name'],
-                                            task_id=123,
-                                            output=zbi_test['success_string']),
-        ], iteration=0) +
+        test('pass', zbi_test, 'success', [zbi_test['success_string']]) +
         api.post_process(StatusSuccess)
     )  # yapf: disable
 
-    zbi_test = api.build.mock_zbi_test('x64')
     yield (
-        test('fail', zbi_test, 'failure', device_type) +
-        api.swarming_retry.trigger_data(
-            name=zbi_test['task_name'], task_id=123, iteration=0) +
-        api.swarming_retry.collect_data([
-            api.swarming_retry.passed_task(zbi_test['task_name'],
-                                            task_id=123,
-                                            output='not success'),
-        ], iteration=0) +
-        api.swarming_retry.trigger_data(
-            name=zbi_test['task_name'], task_id=456, iteration=1) +
-        api.swarming_retry.collect_data([
-            api.swarming_retry.passed_task(zbi_test['task_name'],
-                                            task_id=456,
-                                            output='not success'),
-        ], iteration=1) +
+        test('fail', zbi_test, 'failure', ['not success', 'not success']) +
         api.post_process(StatusFailure)
     )  # yapf: disable
 
-    zbi_test = api.build.mock_zbi_test('x64')
     yield (
-        test('flake', zbi_test, 'success', device_type) +
-        api.swarming_retry.trigger_data(
-            name=zbi_test['task_name'], task_id=123, iteration=0) +
-        api.swarming_retry.collect_data([
-            api.swarming_retry.passed_task(zbi_test['task_name'],
-                                            task_id=123,
-                                            output='not success'),
-        ], iteration=0) +
-        api.swarming_retry.trigger_data(
-            name=zbi_test['task_name'], task_id=456, iteration=1) +
-        api.swarming_retry.collect_data([
-            api.swarming_retry.passed_task(zbi_test['task_name'],
-                                            task_id=456,
-                                            output=zbi_test['success_string']),
-        ], iteration=1) +
+        test('flake', zbi_test, 'success', ['not success', zbi_test['success_string']]) +
         api.post_process(StatusSuccess)
     )  # yapf: disable
 
@@ -369,22 +498,14 @@
     # that this fails because of the kernel panic and not because the
     # success string is not present.
     output = zbi_test['success_string'] + 'KERNEL PANIC'
-    zbi_test = api.build.mock_zbi_test('x64')
     yield (
-        test('kernel_panic', zbi_test, 'failure', device_type) +
-        api.swarming_retry.trigger_data(
-            name=zbi_test['task_name'], task_id=123, iteration=0) +
-        api.swarming_retry.collect_data([
-            api.swarming_retry.passed_task(zbi_test['task_name'],
-                                            task_id=123,
-                                            output=output),
-        ], iteration=0) +
-        api.swarming_retry.trigger_data(
-            name=zbi_test['task_name'], task_id=456, iteration=1) +
-        api.swarming_retry.collect_data([
-            api.swarming_retry.passed_task(zbi_test['task_name'],
-                                            task_id=456,
-                                            output=output),
-        ], iteration=1) +
+        test('kernel_panic', zbi_test, 'failure', [output, output]) +
         api.post_process(StatusFailure)
     )  # yapf: disable
+
+  # TODO(ihuh): Remove when device_types are added to zbi_tests.
+  zbi_test = api.build.mock_zbi_test('arm64', with_devices=False)
+  yield (
+      test('pass', zbi_test, 'success', ['not success', zbi_test['success_string']]) +
+      api.post_process(StatusSuccess)
+  )  # yapf: disable