language: go

go:
  - 1.12.x

# Only clone the most recent commit.
git:
  depth: 1

# Force-enable Go modules. This will be unnecessary when Go 1.12 lands.
env:
  global:
   - GO111MODULE=on
   - REGION=sh
   - ZONE=sh001
   - DEPLOY_ENV=dev
   - DISCOVERY_NODES=127.0.0.1:7171

# Skip the install step. Don't `go get` dependencies. Only build with the code
# in vendor/
install: true

# Anything in before_script that returns a nonzero exit code will flunk the
# build and immediately stop. It's sorta like having set -e enabled in bash.
# Make sure golangci-lint is vendored.
before_script:
  - curl -sfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh| sh -s -- -b $GOPATH/bin
  - curl -sfL https://raw.githubusercontent.com/bilibili/discovery/master/install.sh | sh -s -- -b $GOPATH/bin
  - curl -sfL https://raw.githubusercontent.com/bilibili/discovery/master/cmd/discovery/discovery-example.toml -o $GOPATH/bin/discovery.toml
  - nohup bash -c "$GOPATH/bin/discovery -conf $GOPATH/bin/discovery.toml &"

script:
  - go build ./...
  - go test ./...

after_success:
  - golangci-lint run       # run a bunch of code checkers/linters in parallel 
