sudo: false

language: go
go:
  - 1.7
  - 1.8
  - 1.9

install:
  - go get -u github.com/golang/lint/golint
  - go get -u github.com/Masterminds/glide
  - go get -u golang.org/x/net/context
  - go get -u gopkg.in/godo.v2/cmd/godo
  - export GO15VENDOREXPERIMENT=1
  - glide install

script:
  - bash rungas.sh
  - grep -L -r --include *.go --exclude-dir vendor -P "Copyright (\d{4}|\(c\)) Microsoft" ./ | tee /dev/stderr | test -z "$(< /dev/stdin)"
  - test -z "$(gofmt -s -l $(find ./arm/* -type d -print) | tee /dev/stderr)"
  - test -z "$(gofmt -s -l -w management | tee /dev/stderr)"
  - test -z "$(gofmt -s -l -w storage | tee /dev/stderr)"
  - test -z "$(gofmt -s -l -w Gododir | tee /dev/stderr)"
  - test -z "$(gofmt -s -l -w $(find ./datalake-store/* -type d -print) | tee /dev/stderr)"
  # - test -z "$(gofmt -s -l -w $(find ./dataplane/* -type d -print) | tee /dev/stderr)"
  - test -z "$(go build $(find ./* -type d -print | grep -v '^./vendor$' | grep -v '^./storage$') | tee /dev/stderr)"
  - test -z "$(go vet $(find ./arm/* -type d -print) | tee /dev/stderr)"
  - test -z "$(golint ./arm/... | tee /dev/stderr)"
  - go build ./arm/examples/...
  - go test -v ./management/...
  - go test -v ./arm/...
  - go test -v ./storage/...
  - go test -v ./datalake-store/...
  - go test -v ./dataplane/...
  - test -z "$(golint ./management/... |  grep -v 'should have comment' | grep -v 'stutters' | tee /dev/stderr)"
  - test -z "$(golint ./storage/... | tee /dev/stderr)"
  # - test -z "$(golint ./datalake-store/... | tee /dev/stderr)"
  # - test -z "$(golint ./dataplane/... | tee /dev/stderr)"
  - go vet ./management/...
  - go vet ./storage/...
  - go vet ./datalake-store/...
  - go vet ./dataplane/...
  - test -z "$(golint ./Gododir/... | tee /dev/stderr)"
  - go vet ./Gododir/...