language: go

matrix:
  fast_finish: true
  include:
  - go: 1.7
  - go: 1.8
  - go: master
  allow_failures:
  - go: master
before_install:
  - go get -u -v github.com/axw/gocov/gocov
  - go get -u -v github.com/mattn/goveralls
  - go get -u -v github.com/golang/lint/golint

script:
  - diff -u <(echo -n) <(gofmt -s -d ./)
  - diff -u <(echo -n) <(go vet ./...)
  - diff -u <(echo -n) <(golint ./...)
  - go test -v -race -covermode=atomic -coverprofile=coverage.out

after_success:
  - goveralls -coverprofile=coverage.out -service=travis-ci -repotoken $COVERALLS_TOKEN
