language: go
go:
    - 1.10.2
    - tip
matrix:
  allow_failures:
    - go: tip

notifications:
    email:
        recipients: dean.karn@gmail.com
        on_success: change
        on_failure: always

before_install:
  - go get -u github.com/go-playground/overalls
  - go get -u github.com/mattn/goveralls
  - go get -u golang.org/x/tools/cmd/cover
  - go get -u github.com/golang/lint/golint
  - go get -u github.com/gordonklaus/ineffassign
  - mkdir -p $GOPATH/src/gopkg.in
  - ln -s $GOPATH/src/github.com/$TRAVIS_REPO_SLUG $GOPATH/src/gopkg.in/webhooks.v2
  - ln -s $GOPATH/src/github.com/$TRAVIS_REPO_SLUG $GOPATH/src/gopkg.in/webhooks.v3

before_script:
  - go vet ./...

script:
 - gofmt -d -s .
 - golint ./...
 - ineffassign ./
 - go test -v ./...
 - go test -race

after_success: |
  [ $TRAVIS_GO_VERSION = 1.10.2 ] &&
  overalls -project="github.com/go-playground/webhooks" -covermode=count -ignore=.git,examples -debug &&
  goveralls -coverprofile=overalls.coverprofile -service travis-ci -repotoken $COVERALLS_TOKEN