From fb62c6decb74862b9618d815ca6c277dbc30b8ae Mon Sep 17 00:00:00 2001 From: Vincent Batts Date: Tue, 5 Apr 2016 13:16:40 -0400 Subject: [PATCH] travis: adding checks for basic regressions * go vet * golint * whether the tool builds * tests (there are none yet) Signed-off-by: Vincent Batts --- .travis.yml | 20 ++++++++++++++++++++ main.go | 13 ++++++++++++- 2 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..29fa26f --- /dev/null +++ b/.travis.yml @@ -0,0 +1,20 @@ +language: go +go: + - 1.6 + - 1.5.3 + +sudo: false + +before_install: + - go get golang.org/x/tools/cmd/vet + - go get -u github.com/golang/lint/golint + - mkdir -p $GOPATH/src/github.com/vbatts && ln -sf $(pwd) $GOPATH/src/github.com/vbatts/git-validation && go get ./... + +install: true + +script: + - go vet -x ./... + - golint ./... + - go build . + - go test -v ./... + diff --git a/main.go b/main.go index 875e480..9ff0322 100644 --- a/main.go +++ b/main.go @@ -5,6 +5,7 @@ import ( "fmt" "log" "os" + "strings" _ "github.com/vbatts/git-validation/rules/dco" _ "github.com/vbatts/git-validation/rules/shortsubject" @@ -19,6 +20,7 @@ var ( flDebug = flag.Bool("D", false, "debug output") flQuiet = flag.Bool("q", false, "less output") flDir = flag.String("d", ".", "git directory to validate from") + flNoTravis = flag.Bool("no-travis", false, "disables travis environment checks (when env TRAVIS=true is set)") ) func main() { @@ -44,7 +46,16 @@ func main() { rules = validate.FilterRules(rules, validate.SanitizeFilters(*flRun)) } - runner, err := validate.NewRunner(*flDir, rules, *flCommitRange, *flVerbose) + var commitRange = *flCommitRange + if strings.ToLower(os.Getenv("TRAVIS")) == "true" && !*flNoTravis { + if os.Getenv("TRAVIS_COMMIT_RANGE") != "" { + commitRange = os.Getenv("TRAVIS_COMMIT_RANGE") + } else if os.Getenv("TRAVIS_COMMIT") != "" { + commitRange = os.Getenv("TRAVIS_COMMIT") + } + } + + runner, err := validate.NewRunner(*flDir, rules, commitRange, *flVerbose) if err != nil { log.Fatal(err) }