github.com/ssube/gitlab-ci-multi-runner@v1.2.1-0.20160607142738-b8d1285632e6/apps/gitlab-runner-helper/main.go (about) 1 package main 2 3 import ( 4 "os" 5 "path" 6 7 "github.com/Sirupsen/logrus" 8 "github.com/codegangsta/cli" 9 "gitlab.com/gitlab-org/gitlab-ci-multi-runner/common" 10 "gitlab.com/gitlab-org/gitlab-ci-multi-runner/helpers/cli" 11 "gitlab.com/gitlab-org/gitlab-ci-multi-runner/helpers/formatter" 12 13 _ "gitlab.com/gitlab-org/gitlab-ci-multi-runner/commands/helpers" 14 ) 15 16 var NAME = "gitlab-ci-multi-runner" 17 var VERSION = "dev" 18 var REVISION = "HEAD" 19 var BUILT = "new" 20 var BRANCH = "HEAD" 21 22 func init() { 23 common.NAME = NAME 24 common.VERSION = VERSION 25 common.REVISION = REVISION 26 common.BUILT = BUILT 27 common.BRANCH = BRANCH 28 } 29 30 func main() { 31 defer func() { 32 if r := recover(); r != nil { 33 // log panics forces exit 34 if _, ok := r.(*logrus.Entry); ok { 35 os.Exit(1) 36 } 37 panic(r) 38 } 39 }() 40 41 formatter.SetRunnerFormatter() 42 43 app := cli.NewApp() 44 app.Name = path.Base(os.Args[0]) 45 app.Usage = "a GitLab Runner Helper" 46 cli.VersionPrinter = common.VersionPrinter 47 app.Authors = []cli.Author{ 48 cli.Author{ 49 Name: "Kamil TrzciĆski", 50 Email: "ayufan@ayufan.eu", 51 }, 52 } 53 cli_helpers.SetupLogLevelOptions(app) 54 app.Commands = common.GetCommands() 55 app.CommandNotFound = func(context *cli.Context, command string) { 56 logrus.Fatalln("Command", command, "not found") 57 } 58 59 if err := app.Run(os.Args); err != nil { 60 logrus.Fatal(err) 61 } 62 }