[fuchsia/build] Only create shards when running tests

The testsharder step takes less than a second, but it's confusing to
create shards in build-only builds.

Similarly, skip creating shards if test_in_shards is False.

Expectation file diffs are a result of either skipping the testsharder
step, or executing it one step later than before.

Change-Id: I3459654a6f7a65e20dcdf4b817a261e9c21539d2
diff --git a/recipes/fuchsia/build.expected/build_type_release_not_run_tests.json b/recipes/fuchsia/build.expected/build_type_release_not_run_tests.json
index 2bbd3fe..48560c5 100644
--- a/recipes/fuchsia/build.expected/build_type_release_not_run_tests.json
+++ b/recipes/fuchsia/build.expected/build_type_release_not_run_tests.json
@@ -2298,39 +2298,6 @@
   },
   {
     "cmd": [
-      "[START_DIR]/fuchsia/out/default/linux_x64/testsharder",
-      "-build-dir",
-      "[START_DIR]/fuchsia/out/default",
-      "-output-file",
-      "/path/to/tmp/json"
-    ],
-    "name": "create test shards",
-    "~followup_annotations": [
-      "@@@STEP_LOG_LINE@json.output@[@@@",
-      "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"deps\": [], @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"environment\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"dimensions\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"device_type\": \"Khadas Vim2 Max\"@@@",
-      "@@@STEP_LOG_LINE@json.output@      }@@@",
-      "@@@STEP_LOG_LINE@json.output@    }, @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"name\": \"Vim2\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"tests\": [@@@",
-      "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/test\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"label\": \"//path/to/test:test(//toolchain)\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"name\": \"test\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"os\": \"linux\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/test\"@@@",
-      "@@@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/out/default/linux_x64/artifactory",
       "up",
       "-bucket",
diff --git a/recipes/fuchsia/build.expected/default.json b/recipes/fuchsia/build.expected/default.json
index f01556d..232ab8c 100644
--- a/recipes/fuchsia/build.expected/default.json
+++ b/recipes/fuchsia/build.expected/default.json
@@ -2305,41 +2305,6 @@
   },
   {
     "cmd": [
-      "[START_DIR]/fuchsia/out/default/linux_x64/testsharder",
-      "-build-dir",
-      "[START_DIR]/fuchsia/out/default",
-      "-output-file",
-      "/path/to/tmp/json",
-      "-target-duration-secs",
-      "600"
-    ],
-    "name": "create test shards",
-    "~followup_annotations": [
-      "@@@STEP_LOG_LINE@json.output@[@@@",
-      "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"deps\": [], @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"environment\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"dimensions\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"device_type\": \"Khadas Vim2 Max\"@@@",
-      "@@@STEP_LOG_LINE@json.output@      }@@@",
-      "@@@STEP_LOG_LINE@json.output@    }, @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"name\": \"Vim2\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"tests\": [@@@",
-      "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/test\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"label\": \"//path/to/test:test(//toolchain)\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"name\": \"test\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"os\": \"linux\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/test\"@@@",
-      "@@@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": [
       "bb",
       "batch",
       "-host",
@@ -2375,6 +2340,41 @@
     ]
   },
   {
+    "cmd": [
+      "[START_DIR]/fuchsia/out/default/linux_x64/testsharder",
+      "-build-dir",
+      "[START_DIR]/fuchsia/out/default",
+      "-output-file",
+      "/path/to/tmp/json",
+      "-target-duration-secs",
+      "600"
+    ],
+    "name": "create test shards",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@json.output@[@@@",
+      "@@@STEP_LOG_LINE@json.output@  {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"deps\": [], @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"environment\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"dimensions\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"device_type\": \"Khadas Vim2 Max\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      }@@@",
+      "@@@STEP_LOG_LINE@json.output@    }, @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"name\": \"Vim2\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"tests\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@      {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/test\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"label\": \"//path/to/test:test(//toolchain)\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"name\": \"test\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"os\": \"linux\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/test\"@@@",
+      "@@@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": [],
     "name": "shard Vim2"
   },
diff --git a/recipes/fuchsia/build.expected/default_cq.json b/recipes/fuchsia/build.expected/default_cq.json
index c35814e..6857df8 100644
--- a/recipes/fuchsia/build.expected/default_cq.json
+++ b/recipes/fuchsia/build.expected/default_cq.json
@@ -2168,6 +2168,42 @@
   },
   {
     "cmd": [
+      "bb",
+      "batch",
+      "-host",
+      "cr-buildbucket.appspot.com"
+    ],
+    "infra_step": true,
+    "name": "buildbucket.get",
+    "stdin": "{\"requests\": [{\"getBuild\": {\"fields\": \"builder,createTime,createdBy,critical,endTime,id,input,number,output,startTime,status,updateTime\", \"id\": \"8945511751514863184\"}}]}",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@json.output@{@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"responses\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@    {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"getBuild\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"id\": \"8945511751514863184\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"status\": \"SUCCESS\"@@@",
+      "@@@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@@@",
+      "@@@STEP_LOG_LINE@request@{@@@",
+      "@@@STEP_LOG_LINE@request@  \"requests\": [@@@",
+      "@@@STEP_LOG_LINE@request@    {@@@",
+      "@@@STEP_LOG_LINE@request@      \"getBuild\": {@@@",
+      "@@@STEP_LOG_LINE@request@        \"fields\": \"builder,createTime,createdBy,critical,endTime,id,input,number,output,startTime,status,updateTime\", @@@",
+      "@@@STEP_LOG_LINE@request@        \"id\": \"8945511751514863184\"@@@",
+      "@@@STEP_LOG_LINE@request@      }@@@",
+      "@@@STEP_LOG_LINE@request@    }@@@",
+      "@@@STEP_LOG_LINE@request@  ]@@@",
+      "@@@STEP_LOG_LINE@request@}@@@",
+      "@@@STEP_LOG_END@request@@@",
+      "@@@STEP_LINK@8945511751514863184@https://cr-buildbucket.appspot.com/build/8945511751514863184@@@"
+    ]
+  },
+  {
+    "cmd": [
       "[START_DIR]/fuchsia/out/default/linux_x64/testsharder",
       "-build-dir",
       "[START_DIR]/fuchsia/out/default",
@@ -2204,42 +2240,6 @@
     ]
   },
   {
-    "cmd": [
-      "bb",
-      "batch",
-      "-host",
-      "cr-buildbucket.appspot.com"
-    ],
-    "infra_step": true,
-    "name": "buildbucket.get",
-    "stdin": "{\"requests\": [{\"getBuild\": {\"fields\": \"builder,createTime,createdBy,critical,endTime,id,input,number,output,startTime,status,updateTime\", \"id\": \"8945511751514863184\"}}]}",
-    "~followup_annotations": [
-      "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"responses\": [@@@",
-      "@@@STEP_LOG_LINE@json.output@    {@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"getBuild\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"id\": \"8945511751514863184\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"status\": \"SUCCESS\"@@@",
-      "@@@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@@@",
-      "@@@STEP_LOG_LINE@request@{@@@",
-      "@@@STEP_LOG_LINE@request@  \"requests\": [@@@",
-      "@@@STEP_LOG_LINE@request@    {@@@",
-      "@@@STEP_LOG_LINE@request@      \"getBuild\": {@@@",
-      "@@@STEP_LOG_LINE@request@        \"fields\": \"builder,createTime,createdBy,critical,endTime,id,input,number,output,startTime,status,updateTime\", @@@",
-      "@@@STEP_LOG_LINE@request@        \"id\": \"8945511751514863184\"@@@",
-      "@@@STEP_LOG_LINE@request@      }@@@",
-      "@@@STEP_LOG_LINE@request@    }@@@",
-      "@@@STEP_LOG_LINE@request@  ]@@@",
-      "@@@STEP_LOG_LINE@request@}@@@",
-      "@@@STEP_LOG_END@request@@@",
-      "@@@STEP_LINK@8945511751514863184@https://cr-buildbucket.appspot.com/build/8945511751514863184@@@"
-    ]
-  },
-  {
     "cmd": [],
     "name": "shard Vim2"
   },
diff --git a/recipes/fuchsia/build.expected/not_test_in_shards.json b/recipes/fuchsia/build.expected/not_test_in_shards.json
index 6f3c443..f5c2c54 100644
--- a/recipes/fuchsia/build.expected/not_test_in_shards.json
+++ b/recipes/fuchsia/build.expected/not_test_in_shards.json
@@ -1962,41 +1962,6 @@
   },
   {
     "cmd": [
-      "[START_DIR]/fuchsia/out/default/linux_x64/testsharder",
-      "-build-dir",
-      "[START_DIR]/fuchsia/out/default",
-      "-output-file",
-      "/path/to/tmp/json",
-      "-target-duration-secs",
-      "600"
-    ],
-    "name": "create test shards",
-    "~followup_annotations": [
-      "@@@STEP_LOG_LINE@json.output@[@@@",
-      "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"deps\": [], @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"environment\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"dimensions\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"device_type\": \"Khadas Vim2 Max\"@@@",
-      "@@@STEP_LOG_LINE@json.output@      }@@@",
-      "@@@STEP_LOG_LINE@json.output@    }, @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"name\": \"Vim2\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"tests\": [@@@",
-      "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/test\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"label\": \"//path/to/test:test(//toolchain)\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"name\": \"test\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"os\": \"linux\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/test\"@@@",
-      "@@@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": [
       "bb",
       "batch",
       "-host",
diff --git a/recipes/fuchsia/build.expected/sdk.json b/recipes/fuchsia/build.expected/sdk.json
index 09fc932..d092f6b 100644
--- a/recipes/fuchsia/build.expected/sdk.json
+++ b/recipes/fuchsia/build.expected/sdk.json
@@ -2011,39 +2011,6 @@
   },
   {
     "cmd": [
-      "[START_DIR]/fuchsia/out/default/linux_x64/testsharder",
-      "-build-dir",
-      "[START_DIR]/fuchsia/out/default",
-      "-output-file",
-      "/path/to/tmp/json"
-    ],
-    "name": "create test shards",
-    "~followup_annotations": [
-      "@@@STEP_LOG_LINE@json.output@[@@@",
-      "@@@STEP_LOG_LINE@json.output@  {@@@",
-      "@@@STEP_LOG_LINE@json.output@    \"deps\": [], @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"environment\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"dimensions\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"device_type\": \"Khadas Vim2 Max\"@@@",
-      "@@@STEP_LOG_LINE@json.output@      }@@@",
-      "@@@STEP_LOG_LINE@json.output@    }, @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"name\": \"Vim2\", @@@",
-      "@@@STEP_LOG_LINE@json.output@    \"tests\": [@@@",
-      "@@@STEP_LOG_LINE@json.output@      {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"install_path\": \"/path/to/test\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"label\": \"//path/to/test:test(//toolchain)\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"name\": \"test\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"os\": \"linux\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"path\": \"/path/to/test\"@@@",
-      "@@@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/out/default/linux_x64/artifactory",
       "up",
       "-bucket",
diff --git a/recipes/fuchsia/build.expected/spec_remote_cq.json b/recipes/fuchsia/build.expected/spec_remote_cq.json
index e58ad01..11bc7d4 100644
--- a/recipes/fuchsia/build.expected/spec_remote_cq.json
+++ b/recipes/fuchsia/build.expected/spec_remote_cq.json
@@ -2190,6 +2190,42 @@
   },
   {
     "cmd": [
+      "bb",
+      "batch",
+      "-host",
+      "cr-buildbucket.appspot.com"
+    ],
+    "infra_step": true,
+    "name": "buildbucket.get",
+    "stdin": "{\"requests\": [{\"getBuild\": {\"fields\": \"builder,createTime,createdBy,critical,endTime,id,input,number,output,startTime,status,updateTime\", \"id\": \"8945511751514863184\"}}]}",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@json.output@{@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"responses\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@    {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"getBuild\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"id\": \"8945511751514863184\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"status\": \"SUCCESS\"@@@",
+      "@@@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@@@",
+      "@@@STEP_LOG_LINE@request@{@@@",
+      "@@@STEP_LOG_LINE@request@  \"requests\": [@@@",
+      "@@@STEP_LOG_LINE@request@    {@@@",
+      "@@@STEP_LOG_LINE@request@      \"getBuild\": {@@@",
+      "@@@STEP_LOG_LINE@request@        \"fields\": \"builder,createTime,createdBy,critical,endTime,id,input,number,output,startTime,status,updateTime\", @@@",
+      "@@@STEP_LOG_LINE@request@        \"id\": \"8945511751514863184\"@@@",
+      "@@@STEP_LOG_LINE@request@      }@@@",
+      "@@@STEP_LOG_LINE@request@    }@@@",
+      "@@@STEP_LOG_LINE@request@  ]@@@",
+      "@@@STEP_LOG_LINE@request@}@@@",
+      "@@@STEP_LOG_END@request@@@",
+      "@@@STEP_LINK@8945511751514863184@https://cr-buildbucket.appspot.com/build/8945511751514863184@@@"
+    ]
+  },
+  {
+    "cmd": [
       "[START_DIR]/fuchsia/out/default/linux_x64/testsharder",
       "-build-dir",
       "[START_DIR]/fuchsia/out/default",
@@ -2226,42 +2262,6 @@
     ]
   },
   {
-    "cmd": [
-      "bb",
-      "batch",
-      "-host",
-      "cr-buildbucket.appspot.com"
-    ],
-    "infra_step": true,
-    "name": "buildbucket.get",
-    "stdin": "{\"requests\": [{\"getBuild\": {\"fields\": \"builder,createTime,createdBy,critical,endTime,id,input,number,output,startTime,status,updateTime\", \"id\": \"8945511751514863184\"}}]}",
-    "~followup_annotations": [
-      "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"responses\": [@@@",
-      "@@@STEP_LOG_LINE@json.output@    {@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"getBuild\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"id\": \"8945511751514863184\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"status\": \"SUCCESS\"@@@",
-      "@@@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@@@",
-      "@@@STEP_LOG_LINE@request@{@@@",
-      "@@@STEP_LOG_LINE@request@  \"requests\": [@@@",
-      "@@@STEP_LOG_LINE@request@    {@@@",
-      "@@@STEP_LOG_LINE@request@      \"getBuild\": {@@@",
-      "@@@STEP_LOG_LINE@request@        \"fields\": \"builder,createTime,createdBy,critical,endTime,id,input,number,output,startTime,status,updateTime\", @@@",
-      "@@@STEP_LOG_LINE@request@        \"id\": \"8945511751514863184\"@@@",
-      "@@@STEP_LOG_LINE@request@      }@@@",
-      "@@@STEP_LOG_LINE@request@    }@@@",
-      "@@@STEP_LOG_LINE@request@  ]@@@",
-      "@@@STEP_LOG_LINE@request@}@@@",
-      "@@@STEP_LOG_END@request@@@",
-      "@@@STEP_LINK@8945511751514863184@https://cr-buildbucket.appspot.com/build/8945511751514863184@@@"
-    ]
-  },
-  {
     "cmd": [],
     "name": "shard Vim2"
   },
diff --git a/recipes/fuchsia/build.expected/spec_remote_cq_with_spec_revision.json b/recipes/fuchsia/build.expected/spec_remote_cq_with_spec_revision.json
index 896183d..93e2796 100644
--- a/recipes/fuchsia/build.expected/spec_remote_cq_with_spec_revision.json
+++ b/recipes/fuchsia/build.expected/spec_remote_cq_with_spec_revision.json
@@ -2190,6 +2190,42 @@
   },
   {
     "cmd": [
+      "bb",
+      "batch",
+      "-host",
+      "cr-buildbucket.appspot.com"
+    ],
+    "infra_step": true,
+    "name": "buildbucket.get",
+    "stdin": "{\"requests\": [{\"getBuild\": {\"fields\": \"builder,createTime,createdBy,critical,endTime,id,input,number,output,startTime,status,updateTime\", \"id\": \"8945511751514863184\"}}]}",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@json.output@{@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"responses\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@    {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"getBuild\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"id\": \"8945511751514863184\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"status\": \"SUCCESS\"@@@",
+      "@@@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@@@",
+      "@@@STEP_LOG_LINE@request@{@@@",
+      "@@@STEP_LOG_LINE@request@  \"requests\": [@@@",
+      "@@@STEP_LOG_LINE@request@    {@@@",
+      "@@@STEP_LOG_LINE@request@      \"getBuild\": {@@@",
+      "@@@STEP_LOG_LINE@request@        \"fields\": \"builder,createTime,createdBy,critical,endTime,id,input,number,output,startTime,status,updateTime\", @@@",
+      "@@@STEP_LOG_LINE@request@        \"id\": \"8945511751514863184\"@@@",
+      "@@@STEP_LOG_LINE@request@      }@@@",
+      "@@@STEP_LOG_LINE@request@    }@@@",
+      "@@@STEP_LOG_LINE@request@  ]@@@",
+      "@@@STEP_LOG_LINE@request@}@@@",
+      "@@@STEP_LOG_END@request@@@",
+      "@@@STEP_LINK@8945511751514863184@https://cr-buildbucket.appspot.com/build/8945511751514863184@@@"
+    ]
+  },
+  {
+    "cmd": [
       "[START_DIR]/fuchsia/out/default/linux_x64/testsharder",
       "-build-dir",
       "[START_DIR]/fuchsia/out/default",
@@ -2226,42 +2262,6 @@
     ]
   },
   {
-    "cmd": [
-      "bb",
-      "batch",
-      "-host",
-      "cr-buildbucket.appspot.com"
-    ],
-    "infra_step": true,
-    "name": "buildbucket.get",
-    "stdin": "{\"requests\": [{\"getBuild\": {\"fields\": \"builder,createTime,createdBy,critical,endTime,id,input,number,output,startTime,status,updateTime\", \"id\": \"8945511751514863184\"}}]}",
-    "~followup_annotations": [
-      "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"responses\": [@@@",
-      "@@@STEP_LOG_LINE@json.output@    {@@@",
-      "@@@STEP_LOG_LINE@json.output@      \"getBuild\": {@@@",
-      "@@@STEP_LOG_LINE@json.output@        \"id\": \"8945511751514863184\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"status\": \"SUCCESS\"@@@",
-      "@@@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@@@",
-      "@@@STEP_LOG_LINE@request@{@@@",
-      "@@@STEP_LOG_LINE@request@  \"requests\": [@@@",
-      "@@@STEP_LOG_LINE@request@    {@@@",
-      "@@@STEP_LOG_LINE@request@      \"getBuild\": {@@@",
-      "@@@STEP_LOG_LINE@request@        \"fields\": \"builder,createTime,createdBy,critical,endTime,id,input,number,output,startTime,status,updateTime\", @@@",
-      "@@@STEP_LOG_LINE@request@        \"id\": \"8945511751514863184\"@@@",
-      "@@@STEP_LOG_LINE@request@      }@@@",
-      "@@@STEP_LOG_LINE@request@    }@@@",
-      "@@@STEP_LOG_LINE@request@  ]@@@",
-      "@@@STEP_LOG_LINE@request@}@@@",
-      "@@@STEP_LOG_END@request@@@",
-      "@@@STEP_LINK@8945511751514863184@https://cr-buildbucket.appspot.com/build/8945511751514863184@@@"
-    ]
-  },
-  {
     "cmd": [],
     "name": "shard Vim2"
   },
diff --git a/recipes/fuchsia/build.py b/recipes/fuchsia/build.py
index 2d4c00e..48ed0c2 100644
--- a/recipes/fuchsia/build.py
+++ b/recipes/fuchsia/build.py
@@ -216,18 +216,6 @@
   if spec.build.enforce_size_limits:
     build.check_filesystem_sizes()
 
-  # Run the testsharder to collect test specifications and shard them.
-  # Always create shards regardless test_in_shards in true or not.
-  shards = api.testsharder.execute(
-      'create test shards',
-      testsharder_path=build.tool('testsharder'),
-      build_dir=build.fuchsia_build_dir,
-      max_shard_size=spec.test.max_shard_size,
-      target_duration_secs=spec.test.target_shard_duration_secs,
-      multipliers=multipliers_path,
-      tags=spec.build.environment_tags,
-  )
-
   # Must be set before testing.shard_requests() is called.
   api.artifacts.gcs_bucket = spec.artifact_gcs_bucket
   api.artifacts.uuid = parent_id or api.buildbucket_util.id
@@ -248,6 +236,15 @@
       buildbucket_build = bb_build
 
     if spec.test.test_in_shards:
+      shards = api.testsharder.execute(
+          'create test shards',
+          testsharder_path=build.tool('testsharder'),
+          build_dir=build.fuchsia_build_dir,
+          max_shard_size=spec.test.max_shard_size,
+          target_duration_secs=spec.test.target_shard_duration_secs,
+          multipliers=multipliers_path,
+          tags=spec.build.environment_tags,
+      )
       shard_requests = api.testing_requests.shard_requests(
           build,
           buildbucket_build,
@@ -412,7 +409,7 @@
 
   yield (
     api.checkout.test('build_type_release_not_run_tests', tryjob=False) +
-    api.build.test('default') +
+    api.build.test('default', create_shards=False) +
     spec_data(build_type='release', gcs_bucket='fuchsia-infra',
               run_tests=False, enforce_size_limits=True) +
     api.properties(**properties)
@@ -423,13 +420,14 @@
   # yapf: enable
 
   yield (api.checkout.test('sdk', tryjob=False) +
-         api.build.test('sdk', tryjob=False) + spec_data(
+         api.build.test('sdk', tryjob=False, create_shards=False) + spec_data(
              run_tests=False,
              ninja_targets=[
                  'sdk/archive/core.tar.gz', 'sdk/archive/fuchsia_dart.tar.gz'
              ],
              sdk_subbuild=True) + api.properties(parent_id='sdk-id'))
 
-  yield (api.checkout.test('not_test_in_shards') + api.build.test('') +
+  yield (api.checkout.test('not_test_in_shards') +
+         api.build.test('', create_shards=False) +
          spec_data(run_tests=True, test_in_shards=False) +
          api.properties(**properties))