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  }