language: go go: - 1.12.x - 1.13.x services: - docker # 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 - HTTP_PERF=tcp://0.0.0.0:0 - DOCKER_COMPOSE_VERSION=1.24.1 before_install: - sudo rm /usr/local/bin/docker-compose - curl -L https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-`uname -s`-`uname -m` > docker-compose - chmod +x docker-compose - sudo mv docker-compose /usr/local/bin # 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