sudo: required

services:
  - docker

language: go
go:
  - master
  - 1.9
  - 1.8
  - 1.7

cache:
  directories:
    - ${HOME}/source

before_install:
  - pushd ${HOME}/source
  - if [[ ! -d "./make-4.0" ]]; then
      wget http://ftp.gnu.org/gnu/make/make-4.0.tar.gz &&
      tar -vxzf make-4.0.tar.gz &&
      pushd make-4.0 && ./configure && make && popd;
    fi
  - pushd make-4.0 && sudo make install && popd
  - if [[ ! -d "./glide-v0.12.3" ]]; then
      wget https://github.com/Masterminds/glide/releases/download/v0.12.3/glide-v0.12.3-linux-amd64.tar.gz &&
      tar -vxzf glide-v0.12.3-linux-amd64.tar.gz &&
      mv linux-amd64 glide-v0.12.3;
    fi
  - pushd glide-v0.12.3 && sudo cp glide /usr/local/bin && popd
  - if [[ ! -d "./snips-v0.2.8" ]]; then
      wget https://github.com/yunify/snips/releases/download/v0.2.8/snips-v0.2.8-linux_amd64.tar.gz &&
      mkdir snips-v0.2.8 &&
      pushd snips-v0.2.8 &&
      tar -vxzf ../snips-v0.2.8-linux_amd64.tar.gz &&
      popd;
    fi
  - pushd snips-v0.2.8 && sudo cp snips /usr/local/bin && popd
  - popd
  - /usr/local/bin/make --version
  - /usr/local/bin/glide --version

install:
  - go get -u github.com/golang/lint/golint;
  - glide install
  - git submodule init

before_script:
  - /usr/local/bin/make update
  - /usr/local/bin/make generate

script:
  - /usr/local/bin/make check
  - /usr/local/bin/make release
  - /usr/local/bin/make build test test-coverage