sudo: false

language: go

go:
  - master
  - 1.11.x
  - 1.10.x
  - 1.9.x
  - 1.8.x

matrix:
  allow_failures:
    - go: master

env:
  - DEP_VERSION="0.5.0"

before_install:
  - curl -L -o $GOPATH/bin/dep https://github.com/golang/dep/releases/download/v$DEP_VERSION/dep-linux-amd64 && chmod +x $GOPATH/bin/dep

install:
  - go get -u github.com/golang/lint/golint
  - go get -u github.com/stretchr/testify
  - go get -u github.com/GoASTScanner/gas
  - dep ensure

script:
  - grep -L -r --include *.go --exclude-dir vendor -P "Copyright (\d{4}|\(c\)) Microsoft" ./ | tee /dev/stderr | test -z "$(< /dev/stdin)"
  - if [[ $TRAVIS_GO_VERSION == 1.11* ]]; then test -z "$(gofmt -s -l -w ./autorest/. | tee /dev/stderr)"; fi
  - test -z "$(golint ./autorest/... |  tee /dev/stderr)"
  - go vet ./autorest/...
  - test -z "$(gas ./autorest/... | tee /dev/stderr | grep Error)"
  - go build -v ./autorest/...
  - go test -v ./autorest/...
