[build] Don't upload fuchsia_gn_trace if not set in fint_set_artifacts

fint_set_artifacts will not have a value for gn_trace_path if `gn gen`
was not run.

Bug: 81011
Change-Id: If5a13375b73937789bc7d6da0af4ae1c862aa20f
Reviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/561137
Reviewed-by: Oliver Newman <olivernewman@google.com>
Commit-Queue: Anthony Fandrianto <atyfto@google.com>
diff --git a/recipe_modules/build/api.py b/recipe_modules/build/api.py
index b4c11d2..3575472 100644
--- a/recipe_modules/build/api.py
+++ b/recipe_modules/build/api.py
@@ -1273,9 +1273,11 @@
 
     def _upload_tracing_data(self, build_results, gcs_bucket, build_id):
         """Uploads GN and ninja tracing results for this build to GCS."""
-        paths_to_upload = [
-            ("fuchsia_gn_trace.json", build_results.gn_results.gn_trace_path),
-        ]
+        paths_to_upload = []
+        if build_results.gn_results.gn_trace_path:
+            paths_to_upload += [
+                ("fuchsia_gn_trace.json", build_results.gn_results.gn_trace_path),
+            ]
         with self.m.step.nest("extract ninja traces"):
             paths_to_upload += [
                 (
diff --git a/recipe_modules/build/examples/full.expected/custom_toolchains.json b/recipe_modules/build/examples/full.expected/custom_toolchains.json
index e9e58e8..869b3c5 100644
--- a/recipe_modules/build/examples/full.expected/custom_toolchains.json
+++ b/recipe_modules/build/examples/full.expected/custom_toolchains.json
@@ -670,30 +670,6 @@
       "GSUtil:software_update_check_period=0",
       "cp",
       "-n",
-      "",
-      "gs://artifact_gcs_bucket/builds/namespace/fuchsia_gn_trace.json"
-    ],
-    "infra_step": true,
-    "name": "upload traces.upload fuchsia_gn_trace.json to artifact_gcs_bucket",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LINK@fuchsia_gn_trace.json@https://storage.cloud.google.com/artifact_gcs_bucket/builds/namespace/fuchsia_gn_trace.json@@@",
-      "@@@STEP_LINK@perfetto_ui@https://ui.perfetto.dev/#!?url=https://storage.googleapis.com/artifact_gcs_bucket/builds/namespace/fuchsia_gn_trace.json@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython",
-      "-vpython-spec",
-      "RECIPE_MODULE[fuchsia::gsutil]/resources/gsutil.vpython",
-      "-u",
-      "[CACHE]/cipd/infra/3pp/tools/gsutil/version%3A4.60/gsutil",
-      "-h",
-      "Custom-Time:2012-05-14T12:53:24.500000Z",
-      "-o",
-      "GSUtil:software_update_check_period=0",
-      "cp",
-      "-n",
       "[CLEANUP]/ninja-trace_tmp_1/fuchsia_ninja_trace.json",
       "gs://artifact_gcs_bucket/builds/namespace/fuchsia_ninja_trace.json"
     ],
@@ -717,7 +693,7 @@
       "-u",
       "[CACHE]/cipd/infra/3pp/tools/gsutil/version%3A4.60/gsutil",
       "-h",
-      "Custom-Time:2012-05-14T12:53:26.000000Z",
+      "Custom-Time:2012-05-14T12:53:24.500000Z",
       "-o",
       "GSUtil:software_update_check_period=0",
       "cp",
@@ -817,7 +793,7 @@
       "-u",
       "[CACHE]/cipd/infra/3pp/tools/gsutil/version%3A4.60/gsutil",
       "-h",
-      "Custom-Time:2012-05-14T12:53:27.500000Z",
+      "Custom-Time:2012-05-14T12:53:26.000000Z",
       "-o",
       "GSUtil:software_update_check_period=0",
       "-m",
diff --git a/recipe_modules/build/examples/full.expected/no_skip_for_integration_change.json b/recipe_modules/build/examples/full.expected/no_skip_for_integration_change.json
index 29ec5d5..43a6cb6 100644
--- a/recipe_modules/build/examples/full.expected/no_skip_for_integration_change.json
+++ b/recipe_modules/build/examples/full.expected/no_skip_for_integration_change.json
@@ -869,30 +869,6 @@
       "GSUtil:software_update_check_period=0",
       "cp",
       "-n",
-      "",
-      "gs://artifact_gcs_bucket/builds/namespace/fuchsia_gn_trace.json"
-    ],
-    "infra_step": true,
-    "name": "upload traces.upload fuchsia_gn_trace.json to artifact_gcs_bucket",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LINK@fuchsia_gn_trace.json@https://storage.cloud.google.com/artifact_gcs_bucket/builds/namespace/fuchsia_gn_trace.json@@@",
-      "@@@STEP_LINK@perfetto_ui@https://ui.perfetto.dev/#!?url=https://storage.googleapis.com/artifact_gcs_bucket/builds/namespace/fuchsia_gn_trace.json@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython",
-      "-vpython-spec",
-      "RECIPE_MODULE[fuchsia::gsutil]/resources/gsutil.vpython",
-      "-u",
-      "[CACHE]/cipd/infra/3pp/tools/gsutil/version%3A4.60/gsutil",
-      "-h",
-      "Custom-Time:2012-05-14T12:53:27.500000Z",
-      "-o",
-      "GSUtil:software_update_check_period=0",
-      "cp",
-      "-n",
       "[CLEANUP]/ninja-trace_tmp_1/fuchsia_ninja_trace.json",
       "gs://artifact_gcs_bucket/builds/namespace/fuchsia_ninja_trace.json"
     ],
@@ -916,7 +892,7 @@
       "-u",
       "[CACHE]/cipd/infra/3pp/tools/gsutil/version%3A4.60/gsutil",
       "-h",
-      "Custom-Time:2012-05-14T12:53:29.000000Z",
+      "Custom-Time:2012-05-14T12:53:27.500000Z",
       "-o",
       "GSUtil:software_update_check_period=0",
       "cp",
@@ -961,7 +937,7 @@
       "-u",
       "[CACHE]/cipd/infra/3pp/tools/gsutil/version%3A4.60/gsutil",
       "-h",
-      "Custom-Time:2012-05-14T12:53:30.500000Z",
+      "Custom-Time:2012-05-14T12:53:29.000000Z",
       "-o",
       "GSUtil:software_update_check_period=0",
       "-m",
diff --git a/recipe_modules/build/examples/full.expected/no_skip_if_recipe_testing_enabled.json b/recipe_modules/build/examples/full.expected/no_skip_if_recipe_testing_enabled.json
index db2ac5b..86b69eb 100644
--- a/recipe_modules/build/examples/full.expected/no_skip_if_recipe_testing_enabled.json
+++ b/recipe_modules/build/examples/full.expected/no_skip_if_recipe_testing_enabled.json
@@ -869,30 +869,6 @@
       "GSUtil:software_update_check_period=0",
       "cp",
       "-n",
-      "",
-      "gs://artifact_gcs_bucket/builds/namespace/fuchsia_gn_trace.json"
-    ],
-    "infra_step": true,
-    "name": "upload traces.upload fuchsia_gn_trace.json to artifact_gcs_bucket",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LINK@fuchsia_gn_trace.json@https://storage.cloud.google.com/artifact_gcs_bucket/builds/namespace/fuchsia_gn_trace.json@@@",
-      "@@@STEP_LINK@perfetto_ui@https://ui.perfetto.dev/#!?url=https://storage.googleapis.com/artifact_gcs_bucket/builds/namespace/fuchsia_gn_trace.json@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython",
-      "-vpython-spec",
-      "RECIPE_MODULE[fuchsia::gsutil]/resources/gsutil.vpython",
-      "-u",
-      "[CACHE]/cipd/infra/3pp/tools/gsutil/version%3A4.60/gsutil",
-      "-h",
-      "Custom-Time:2012-05-14T12:53:27.500000Z",
-      "-o",
-      "GSUtil:software_update_check_period=0",
-      "cp",
-      "-n",
       "[CLEANUP]/ninja-trace_tmp_1/fuchsia_ninja_trace.json",
       "gs://artifact_gcs_bucket/builds/namespace/fuchsia_ninja_trace.json"
     ],
@@ -916,7 +892,7 @@
       "-u",
       "[CACHE]/cipd/infra/3pp/tools/gsutil/version%3A4.60/gsutil",
       "-h",
-      "Custom-Time:2012-05-14T12:53:29.000000Z",
+      "Custom-Time:2012-05-14T12:53:27.500000Z",
       "-o",
       "GSUtil:software_update_check_period=0",
       "cp",
@@ -961,7 +937,7 @@
       "-u",
       "[CACHE]/cipd/infra/3pp/tools/gsutil/version%3A4.60/gsutil",
       "-h",
-      "Custom-Time:2012-05-14T12:53:30.500000Z",
+      "Custom-Time:2012-05-14T12:53:29.000000Z",
       "-o",
       "GSUtil:software_update_check_period=0",
       "-m",
diff --git a/recipes/fuchsia/build.expected/default.json b/recipes/fuchsia/build.expected/default.json
index 7461fc5..1d4111c 100644
--- a/recipes/fuchsia/build.expected/default.json
+++ b/recipes/fuchsia/build.expected/default.json
@@ -1075,30 +1075,6 @@
       "GSUtil:software_update_check_period=0",
       "cp",
       "-n",
-      "",
-      "gs://fuchsia-infra-artifacts/builds/8945511751514863184/fuchsia_gn_trace.json"
-    ],
-    "infra_step": true,
-    "name": "upload traces.upload fuchsia_gn_trace.json to fuchsia-infra-artifacts",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_LINK@fuchsia_gn_trace.json@https://storage.cloud.google.com/fuchsia-infra-artifacts/builds/8945511751514863184/fuchsia_gn_trace.json@@@",
-      "@@@STEP_LINK@perfetto_ui@https://ui.perfetto.dev/#!?url=https://storage.googleapis.com/fuchsia-infra-artifacts/builds/8945511751514863184/fuchsia_gn_trace.json@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "vpython",
-      "-vpython-spec",
-      "RECIPE_MODULE[fuchsia::gsutil]/resources/gsutil.vpython",
-      "-u",
-      "[CACHE]/cipd/infra/3pp/tools/gsutil/version%3A4.60/gsutil",
-      "-h",
-      "Custom-Time:2012-05-14T12:53:30.500000Z",
-      "-o",
-      "GSUtil:software_update_check_period=0",
-      "cp",
-      "-n",
       "[CLEANUP]/ninja-trace_tmp_1/fuchsia_ninja_trace.json",
       "gs://fuchsia-infra-artifacts/builds/8945511751514863184/fuchsia_ninja_trace.json"
     ],
@@ -1122,7 +1098,7 @@
       "-u",
       "[CACHE]/cipd/infra/3pp/tools/gsutil/version%3A4.60/gsutil",
       "-h",
-      "Custom-Time:2012-05-14T12:53:32.000000Z",
+      "Custom-Time:2012-05-14T12:53:30.500000Z",
       "-o",
       "GSUtil:software_update_check_period=0",
       "cp",
@@ -1184,7 +1160,7 @@
       "-u",
       "[CACHE]/cipd/infra/3pp/tools/gsutil/version%3A4.60/gsutil",
       "-h",
-      "Custom-Time:2012-05-14T12:53:33.500000Z",
+      "Custom-Time:2012-05-14T12:53:32.000000Z",
       "-o",
       "GSUtil:software_update_check_period=0",
       "-m",
@@ -1501,7 +1477,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "[\n  {\n    \"name\": \"Vim2\", \n    \"priority\": \"200\", \n    \"service_account\": \"service_account\", \n    \"tags\": [\n      \"role:tester\", \n      \"task_name:Vim2\", \n      \"test_environment_name:Khadas Vim2 Max-\", \n      \"variants:profile\"\n    ], \n    \"task_slices\": [\n      {\n        \"expiration_secs\": \"600\", \n        \"properties\": {\n          \"cas_input_root\": {\n            \"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \n            \"digest\": {\n              \"hash\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\", \n              \"size_bytes\": \"0\"\n            }\n          }, \n          \"cipd_input\": {\n            \"packages\": [\n              {\n                \"package_name\": \"infra/tools/luci-auth/${platform}\", \n                \"path\": \"out/not-default\", \n                \"version\": \"latest\"\n              }, \n              {\n                \"package_name\": \"fuchsia/infra/catalyst/${platform}\", \n                \"path\": \"out/not-default\", \n                \"version\": \"git_revision:d0f1c217a82b83a5566b8a66427a8c80a75c0293\"\n              }\n            ]\n          }, \n          \"command\": [\n            \"./luci-auth\", \n            \"context\", \n            \"--\", \n            \"./catalyst\", \n            \"./botanist\", \n            \"-level\", \n            \"trace\", \n            \"run\", \n            \"-images\", \n            \"gs://fuchsia-infra-artifacts/builds/8945511751514863184/images/images.json\", \n            \"-timeout\", \n            \"1800s\", \n            \"-serial-log\", \n            \"../../serial_log.txt\", \n            \"-syslog\", \n            \"../../syslog.txt\", \n            \"-repo\", \n            \"http://$GCS_PROXY_HOST/fuchsia-infra-artifacts/builds/8945511751514863184/packages/repository\", \n            \"-blobs\", \n            \"http://$GCS_PROXY_HOST/fuchsia-infra-artifacts/blobs\", \n            \"-config\", \n            \"/etc/botanist/config.json\", \n            \"./testrunner\", \n            \"-level\", \n            \"debug\", \n            \"-out-dir\", \n            \"out\", \n            \"-snapshot-output\", \n            \"snapshot.zip\", \n            \"tests.json\"\n          ], \n          \"containment\": {\n            \"containment_type\": \"NONE\", \n            \"limit_processes\": \"0\", \n            \"limit_total_committed_memory\": \"0\", \n            \"lower_priority\": false\n          }, \n          \"dimensions\": [\n            {\n              \"key\": \"device_type\", \n              \"value\": \"Khadas Vim2 Max\"\n            }, \n            {\n              \"key\": \"kvm\", \n              \"value\": \"1\"\n            }, \n            {\n              \"key\": \"pool\", \n              \"value\": \"fuchsia.tests\"\n            }, \n            {\n              \"key\": \"serial\", \n              \"value\": \"1\"\n            }\n          ], \n          \"env\": [\n            {\n              \"key\": \"ASAN_SYMBOLIZER_PATH\", \n              \"value\": \"llvm-symbolizer\"\n            }, \n            {\n              \"key\": \"BOOTSERVER_PATH\", \n              \"value\": \"./bootserver_new\"\n            }, \n            {\n              \"key\": \"BUILDBUCKET_ID\", \n              \"value\": \"8945511751514863184\"\n            }, \n            {\n              \"key\": \"BUILD_CREATE_TIME\", \n              \"value\": \"1337000015\"\n            }, \n            {\n              \"key\": \"FUCHSIA_DEVICE_TYPE\", \n              \"value\": \"Khadas Vim2 Max\"\n            }, \n            {\n              \"key\": \"FUCHSIA_TEST_OUTDIR\", \n              \"value\": \"${ISOLATED_OUTDIR}\"\n            }, \n            {\n              \"key\": \"IMAGE_MANIFEST_PATH\", \n              \"value\": \"gs://fuchsia-infra-artifacts/builds/8945511751514863184/images/images.json\"\n            }, \n            {\n              \"key\": \"INPUT_COMMIT_HOST\", \n              \"value\": \"fuchsia.googlesource.com\"\n            }, \n            {\n              \"key\": \"INPUT_COMMIT_PROJECT\", \n              \"value\": \"fuchsia\"\n            }, \n            {\n              \"key\": \"INPUT_COMMIT_REF\", \n              \"value\": \"refs/heads/main\"\n            }, \n            {\n              \"key\": \"LSAN_SYMBOLIZER_PATH\", \n              \"value\": \"llvm-symbolizer\"\n            }, \n            {\n              \"key\": \"SWARMING_BOT_FILE\", \n              \"value\": \"${SWARMING_BOT_FILE}\"\n            }, \n            {\n              \"key\": \"UBSAN_SYMBOLIZER_PATH\", \n              \"value\": \"llvm-symbolizer\"\n            }\n          ], \n          \"env_prefixes\": [], \n          \"execution_timeout_secs\": \"1800\", \n          \"grace_period_secs\": \"30\", \n          \"idempotent\": false, \n          \"io_timeout_secs\": \"300\", \n          \"outputs\": [\n            \"serial_log.txt\", \n            \"syslog.txt\"\n          ], \n          \"relative_cwd\": \"out/not-default\"\n        }, \n        \"wait_for_capacity\": false\n      }\n    ]\n  }\n]",
+      "[\n  {\n    \"name\": \"Vim2\", \n    \"priority\": \"200\", \n    \"service_account\": \"service_account\", \n    \"tags\": [\n      \"role:tester\", \n      \"task_name:Vim2\", \n      \"test_environment_name:Khadas Vim2 Max-\", \n      \"variants:profile\"\n    ], \n    \"task_slices\": [\n      {\n        \"expiration_secs\": \"600\", \n        \"properties\": {\n          \"cas_input_root\": {\n            \"cas_instance\": \"projects/example-cas-server/instances/default_instance\", \n            \"digest\": {\n              \"hash\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\", \n              \"size_bytes\": \"0\"\n            }\n          }, \n          \"cipd_input\": {\n            \"packages\": [\n              {\n                \"package_name\": \"infra/tools/luci-auth/${platform}\", \n                \"path\": \"out/not-default\", \n                \"version\": \"latest\"\n              }, \n              {\n                \"package_name\": \"fuchsia/infra/catalyst/${platform}\", \n                \"path\": \"out/not-default\", \n                \"version\": \"git_revision:d0f1c217a82b83a5566b8a66427a8c80a75c0293\"\n              }\n            ]\n          }, \n          \"command\": [\n            \"./luci-auth\", \n            \"context\", \n            \"--\", \n            \"./catalyst\", \n            \"./botanist\", \n            \"-level\", \n            \"trace\", \n            \"run\", \n            \"-images\", \n            \"gs://fuchsia-infra-artifacts/builds/8945511751514863184/images/images.json\", \n            \"-timeout\", \n            \"1800s\", \n            \"-serial-log\", \n            \"../../serial_log.txt\", \n            \"-syslog\", \n            \"../../syslog.txt\", \n            \"-repo\", \n            \"http://$GCS_PROXY_HOST/fuchsia-infra-artifacts/builds/8945511751514863184/packages/repository\", \n            \"-blobs\", \n            \"http://$GCS_PROXY_HOST/fuchsia-infra-artifacts/blobs\", \n            \"-config\", \n            \"/etc/botanist/config.json\", \n            \"./testrunner\", \n            \"-level\", \n            \"debug\", \n            \"-out-dir\", \n            \"out\", \n            \"-snapshot-output\", \n            \"snapshot.zip\", \n            \"tests.json\"\n          ], \n          \"containment\": {\n            \"containment_type\": \"NONE\", \n            \"limit_processes\": \"0\", \n            \"limit_total_committed_memory\": \"0\", \n            \"lower_priority\": false\n          }, \n          \"dimensions\": [\n            {\n              \"key\": \"device_type\", \n              \"value\": \"Khadas Vim2 Max\"\n            }, \n            {\n              \"key\": \"kvm\", \n              \"value\": \"1\"\n            }, \n            {\n              \"key\": \"pool\", \n              \"value\": \"fuchsia.tests\"\n            }, \n            {\n              \"key\": \"serial\", \n              \"value\": \"1\"\n            }\n          ], \n          \"env\": [\n            {\n              \"key\": \"ASAN_SYMBOLIZER_PATH\", \n              \"value\": \"llvm-symbolizer\"\n            }, \n            {\n              \"key\": \"BOOTSERVER_PATH\", \n              \"value\": \"./bootserver_new\"\n            }, \n            {\n              \"key\": \"BUILDBUCKET_ID\", \n              \"value\": \"8945511751514863184\"\n            }, \n            {\n              \"key\": \"BUILD_CREATE_TIME\", \n              \"value\": \"1337000013\"\n            }, \n            {\n              \"key\": \"FUCHSIA_DEVICE_TYPE\", \n              \"value\": \"Khadas Vim2 Max\"\n            }, \n            {\n              \"key\": \"FUCHSIA_TEST_OUTDIR\", \n              \"value\": \"${ISOLATED_OUTDIR}\"\n            }, \n            {\n              \"key\": \"IMAGE_MANIFEST_PATH\", \n              \"value\": \"gs://fuchsia-infra-artifacts/builds/8945511751514863184/images/images.json\"\n            }, \n            {\n              \"key\": \"INPUT_COMMIT_HOST\", \n              \"value\": \"fuchsia.googlesource.com\"\n            }, \n            {\n              \"key\": \"INPUT_COMMIT_PROJECT\", \n              \"value\": \"fuchsia\"\n            }, \n            {\n              \"key\": \"INPUT_COMMIT_REF\", \n              \"value\": \"refs/heads/main\"\n            }, \n            {\n              \"key\": \"LSAN_SYMBOLIZER_PATH\", \n              \"value\": \"llvm-symbolizer\"\n            }, \n            {\n              \"key\": \"SWARMING_BOT_FILE\", \n              \"value\": \"${SWARMING_BOT_FILE}\"\n            }, \n            {\n              \"key\": \"UBSAN_SYMBOLIZER_PATH\", \n              \"value\": \"llvm-symbolizer\"\n            }\n          ], \n          \"env_prefixes\": [], \n          \"execution_timeout_secs\": \"1800\", \n          \"grace_period_secs\": \"30\", \n          \"idempotent\": false, \n          \"io_timeout_secs\": \"300\", \n          \"outputs\": [\n            \"serial_log.txt\", \n            \"syslog.txt\"\n          ], \n          \"relative_cwd\": \"out/not-default\"\n        }, \n        \"wait_for_capacity\": false\n      }\n    ]\n  }\n]",
       "[CLEANUP]/test-orchestration-inputs_tmp_1/task_requests.json"
     ],
     "infra_step": true,
@@ -1615,7 +1591,7 @@
       "@@@STEP_LOG_LINE@task_requests.json@            }, @@@",
       "@@@STEP_LOG_LINE@task_requests.json@            {@@@",
       "@@@STEP_LOG_LINE@task_requests.json@              \"key\": \"BUILD_CREATE_TIME\", @@@",
-      "@@@STEP_LOG_LINE@task_requests.json@              \"value\": \"1337000015\"@@@",
+      "@@@STEP_LOG_LINE@task_requests.json@              \"value\": \"1337000013\"@@@",
       "@@@STEP_LOG_LINE@task_requests.json@            }, @@@",
       "@@@STEP_LOG_LINE@task_requests.json@            {@@@",
       "@@@STEP_LOG_LINE@task_requests.json@              \"key\": \"FUCHSIA_DEVICE_TYPE\", @@@",