|  | package main | 
|  |  | 
|  | import ( | 
|  | "flag" | 
|  | "fmt" | 
|  | "log" | 
|  |  | 
|  | "github.com/bazelbuild/continuous-integration/pipegen/config" | 
|  | ) | 
|  |  | 
|  | var ( | 
|  | apiToken   = flag.String("token", "", "Buildkite API access token that grants access to the GraphQL API. See https://buildkite.com/docs/apis/rest-api#authentication") | 
|  | org        = flag.String("org", "bazel", "Buildkite orginization slug") | 
|  | debug      = flag.Bool("debug", false, "Enable debugging") | 
|  | configPath = flag.String("config", "", "Location to read the pipeline configuration from.") | 
|  | ) | 
|  |  | 
|  | func main() { | 
|  | flag.Parse() | 
|  |  | 
|  | fileConfig, err := config.ReadConfig(*configPath) | 
|  | if err != nil { | 
|  | log.Fatalf("Failed to retrieve config: %s", err) | 
|  | } | 
|  |  | 
|  | deployedConfig, err := config.ReadFromBuildkite(*org, *apiToken, *debug) | 
|  | if err != nil { | 
|  | log.Fatalf("Cannot retrieve configuration from Buildkite: %s", err) | 
|  | } | 
|  |  | 
|  | result, err := fileConfig.Compare(deployedConfig) | 
|  | if err != nil { | 
|  | fmt.Printf("Cannot compare configurations: %v", err) | 
|  | } | 
|  | fmt.Println(result) | 
|  | } |