[pinpoint] only add bot ID to request if botID is not nil

BotID can occasionally be nil, such as when `run_benchmark` retries on
`no_resource`. Before `createSwarmingRequest` will attach `dims` even if
they are nil, which leads to a swarming error as Swarming expects valid
strings.

Bug: b/327033086
Change-Id: I81cb4601b607d12b05b5210ed9b313ccbd3146aa
Reviewed-on: https://skia-review.googlesource.com/c/buildbot/+/851240
Reviewed-by: Hao Wu <haowoo@google.com>
Auto-Submit: Leina Sun <sunxiaodi@google.com>
Commit-Queue: Leina Sun <sunxiaodi@google.com>
diff --git a/pinpoint/go/run_benchmark/run_benchmark.go b/pinpoint/go/run_benchmark/run_benchmark.go
index de6485e..9271d89 100644
--- a/pinpoint/go/run_benchmark/run_benchmark.go
+++ b/pinpoint/go/run_benchmark/run_benchmark.go
@@ -91,7 +91,11 @@
 		return nil, skerr.Wrapf(err, "Failed to prepare benchmark test for execution")
 	}
 
-	dims := append(botConfig.Dimensions, botID)
+	dims := botConfig.Dimensions
+	// botID can be nil upon retry or testing smaller workflows
+	if botID != nil {
+		dims = append(dims, botID)
+	}
 	swarmingRequest := createSwarmingRequest(jobID, bt.GetCommand(), buildArtifact, dims)
 
 	resp := make([]*spb.SwarmingRpcsTaskRequestMetadata, 0)