| 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) | |
| } |