diff options
Diffstat (limited to 'third_party/gerrit-queue/main.go')
-rw-r--r-- | third_party/gerrit-queue/main.go | 137 |
1 files changed, 0 insertions, 137 deletions
diff --git a/third_party/gerrit-queue/main.go b/third_party/gerrit-queue/main.go deleted file mode 100644 index eaa792c95828..000000000000 --- a/third_party/gerrit-queue/main.go +++ /dev/null @@ -1,137 +0,0 @@ -package main - -import ( - "os" - "time" - - "net/http" - - "github.com/tweag/gerrit-queue/frontend" - "github.com/tweag/gerrit-queue/gerrit" - "github.com/tweag/gerrit-queue/misc" - "github.com/tweag/gerrit-queue/submitqueue" - - "github.com/urfave/cli" - - "github.com/apex/log" - "github.com/apex/log/handlers/multi" - "github.com/apex/log/handlers/text" -) - -func main() { - var URL, username, password, projectName, branchName string - var fetchOnly bool - var triggerInterval int - - app := cli.NewApp() - app.Name = "gerrit-queue" - - app.Flags = []cli.Flag{ - cli.StringFlag{ - Name: "url", - Usage: "URL to the gerrit instance", - EnvVar: "GERRIT_URL", - Destination: &URL, - Required: true, - }, - cli.StringFlag{ - Name: "username", - Usage: "Username to use to login to gerrit", - EnvVar: "GERRIT_USERNAME", - Destination: &username, - Required: true, - }, - cli.StringFlag{ - Name: "password", - Usage: "Password to use to login to gerrit", - EnvVar: "GERRIT_PASSWORD", - Destination: &password, - Required: true, - }, - cli.StringFlag{ - Name: "project", - Usage: "Gerrit project name to run the submit queue for", - EnvVar: "GERRIT_PROJECT", - Destination: &projectName, - Required: true, - }, - cli.StringFlag{ - Name: "branch", - Usage: "Destination branch", - EnvVar: "GERRIT_BRANCH", - Destination: &branchName, - Value: "master", - }, - cli.IntFlag{ - Name: "trigger-interval", - Usage: "How often we should trigger ourselves (interval in seconds)", - EnvVar: "SUBMIT_QUEUE_TRIGGER_INTERVAL", - Destination: &triggerInterval, - Value: 600, - }, - cli.BoolFlag{ - Name: "fetch-only", - Usage: "Only fetch changes and assemble queue, but don't actually write", - EnvVar: "SUBMIT_QUEUE_FETCH_ONLY", - Destination: &fetchOnly, - }, - } - - rotatingLogHandler := misc.NewRotatingLogHandler(10000) - l := &log.Logger{ - Handler: multi.New( - text.New(os.Stderr), - rotatingLogHandler, - ), - Level: log.DebugLevel, - } - - app.Action = func(c *cli.Context) error { - gerrit, err := gerrit.NewClient(l, URL, username, password, projectName, branchName) - if err != nil { - return err - } - log.Infof("Successfully connected to gerrit at %s", URL) - - runner := submitqueue.NewRunner(l, gerrit) - - handler := frontend.MakeFrontend(rotatingLogHandler, gerrit, runner) - - // fetch only on first run - err = runner.Trigger(fetchOnly) - if err != nil { - log.Error(err.Error()) - } - - // ticker - go func() { - for { - time.Sleep(time.Duration(triggerInterval) * time.Second) - err = runner.Trigger(fetchOnly) - if err != nil { - log.Error(err.Error()) - } - } - }() - - server := http.Server{ - Addr: ":8080", - Handler: handler, - } - - server.ListenAndServe() - if err != nil { - log.Fatalf(err.Error()) - } - - return nil - } - - err := app.Run(os.Args) - if err != nil { - log.Fatal(err.Error()) - } - - // TODOS: - // - handle event log, either by accepting webhooks, or by streaming events? -} |