github.com/ssube/gitlab-ci-multi-runner@v1.2.1-0.20160607142738-b8d1285632e6/common/version.go (about) 1 package common 2 3 import ( 4 "fmt" 5 "runtime" 6 "time" 7 8 "github.com/codegangsta/cli" 9 ) 10 11 var NAME = "gitlab-ci-multi-runner" 12 var VERSION = "dev" 13 var REVISION = "HEAD" 14 var BUILT = "now" 15 var BRANCH = "HEAD" 16 17 func VersionPrinter(c *cli.Context) { 18 fmt.Print(ExtendedVersion()) 19 } 20 21 func VersionLine() string { 22 return fmt.Sprintf("%s %s (%s)", NAME, VERSION, REVISION) 23 } 24 25 func VersionUserAgent() string { 26 return fmt.Sprintf("%s %s (%s; %s; %s/%s)", NAME, VERSION, BRANCH, runtime.Version(), runtime.GOOS, runtime.GOARCH) 27 } 28 29 func ExtendedVersion() string { 30 built := time.Now() 31 if BUILT != "now" { 32 built, _ = time.Parse(time.RFC3339, BUILT) 33 } 34 35 version := fmt.Sprintf("Version: %s\n", VERSION) 36 version += fmt.Sprintf("Git revision: %s\n", REVISION) 37 version += fmt.Sprintf("Git branch: %s\n", BRANCH) 38 version += fmt.Sprintf("GO version: %s\n", runtime.Version()) 39 version += fmt.Sprintf("Built: %s\n", built.Format(time.RFC1123Z)) 40 version += fmt.Sprintf("OS/Arch: %s/%s\n", runtime.GOOS, runtime.GOARCH) 41 42 return version 43 }