os: linux
dist: xenial
language: go

branches:
  only:
  - main
  - future

go:
  - "1.15.x"

env:
  global:
    - GO_USR_DIRS=$(go list -f {{.Dir}} ./... | grep -E -v "/gen-go/|/vendor/")

services:
  - docker

before_install:
  - go get golang.org/x/tools/cmd/goimports
  - test -z "`for d in $GO_USR_DIRS; do goimports -d $d/*.go | tee /dev/stderr; done`"

install:
  - go mod download
  - docker-compose up -d

script:
  - go test -timeout 30m -race -coverprofile=coverage.txt -covermode=atomic -v github.com/paypal/gorealis

after_success:
  - bash <(curl -s https://codecov.io/bash)