roll.go: add a flag to send the CL to the gardener

Bug: dawn:1940
Change-Id: I720d8f6507a18bfd50dcaa1ae8db34b566c7c469
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/147542
Auto-Submit: Austin Eng <enga@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Austin Eng <enga@chromium.org>
diff --git a/tools/src/gerrit/gerrit.go b/tools/src/gerrit/gerrit.go
index 2777530..066b156 100644
--- a/tools/src/gerrit/gerrit.go
+++ b/tools/src/gerrit/gerrit.go
@@ -19,6 +19,7 @@
 	"context"
 	"flag"
 	"fmt"
+	"log"
 	"net/url"
 	"strconv"
 	"strings"
@@ -311,12 +312,24 @@
 }
 
 // SetReadyForReview marks the change as ready for review.
-func (g *Gerrit) SetReadyForReview(changeID, message string) error {
+func (g *Gerrit) SetReadyForReview(changeID, message, reviewer string) error {
 	resp, err := g.client.Changes.SetReadyForReview(changeID, &gerrit.ReadyForReviewInput{
 		Message: message,
 	})
 	if err != nil && resp.StatusCode != 409 { // 409: already ready
 		return err
 	}
+	if reviewer != "" {
+		// Log the reviewer and then replace with enga@.
+		// TODO(crbug.com/dawn/1940): Use the actual reviewer when the bot is stable.
+		log.Printf("Got reviewer %s", reviewer)
+		reviewer = "enga@chromium.org"
+		_, resp, err = g.client.Changes.AddReviewer(changeID, &gerrit.ReviewerInput{
+			Reviewer: reviewer,
+		})
+		if err != nil && resp.StatusCode != 409 { // 409: already ready
+			return err
+		}
+	}
 	return nil
 }