Schedule a master build too
This should help us catch merge conflicts on master faster
Change-Id: I9e249c0015f536ad60ffeacb0df508d4851163fc
diff --git a/tools/ci/buildkite_gerrit_trigger.go b/tools/ci/buildkite_gerrit_trigger.go
index 7d789f0..2e3681d 100644
--- a/tools/ci/buildkite_gerrit_trigger.go
+++ b/tools/ci/buildkite_gerrit_trigger.go
@@ -89,7 +89,12 @@
Author *User `json:"author"`
Uploader *User `json:"uploader"`
Reviewer *User `json:"reviewer"`
+ Adder *User `json:"adder"`
+ Remover *User `json:"remover"`
Submitter User `json:"submitter,omitempty"`
+ NewRev string `json:"newRev,omitempty"`
+ Ref string `json:"ref,omitempty"`
+ TargetNode string `json:"targetNode,omitempty"`
Approvals []Approval `json:"approvals,omitempty"`
Comment string `json:"comment,omitempty"`
PatchSet *PatchSet `json:"patchSet"`
@@ -437,7 +442,22 @@
case "change-abandoned":
case "change-deleted":
case "change-merged":
- // TODO(austin): Trigger a master build?
+ if eventInfo.RefName == "refs/heads/master" && eventInfo.Change.Status == "MERGED" {
+ if build, _, err := client.Builds.Create(
+ "spartan-robotics", "971-robot-code", &buildkite.CreateBuild{
+ Commit: eventInfo.NewRev,
+ Branch: "master",
+ Author: buildkite.Author{
+ Name: eventInfo.Submitter.Name,
+ Email: eventInfo.Submitter.Email,
+ },
+ }); err == nil {
+ log.Printf("Scheduled master build %s\n", *build.ID)
+ } else {
+ log.Printf("Failed to schedule master build %v", err)
+ // TODO(austin): Notify failure to build. Stephan should be able to pick this up in nagios.
+ }
+ }
case "change-restored":
case "comment-added":
if matched, _ := regexp.MatchString(`(?m)^retest$`, eventInfo.Comment); !matched {