machine:
  pre:
    - curl -sSL https://s3.amazonaws.com/circle-downloads/install-circleci-docker.sh | bash -s -- 1.10.0

  environment:
    GOVERSION: "1.8.3"
    GOPATH:  "${HOME}/.go_workspace"
    WORKDIR: "${GOPATH}/src/k8s.io/helm"
    PROJECT_NAME: "kubernetes-helm"

  services:
    - docker

dependencies:
  cache_directories:
    - "~/.glide"

  pre:
    # remove old go files
    - sudo rm -rf /usr/local/go
    - rm -rf "$GOPATH"

  override:
    # install go
    - wget "https://storage.googleapis.com/golang/go${GOVERSION}.linux-amd64.tar.gz" -O "${HOME}/go${GOVERSION}.tar.gz"
    - sudo tar -C /usr/local -xzf "${HOME}/go${GOVERSION}.tar.gz"

    # move repository to the canonical import path
    - mkdir -p "$(dirname ${WORKDIR})"
    - cp -R "${HOME}/helm" "${WORKDIR}"

    # install dependencies
    - cd "${WORKDIR}" && make bootstrap

  post:
    - go env

test:
  override:
    - cd "${WORKDIR}" && ./scripts/ci.sh:
        parallel: true

deployment:
  release:
    tag: /.*/
    commands:
      - cd "${WORKDIR}" && ./scripts/ci/deploy.sh

  canary:
    branch: master
    commands:
      - cd "${WORKDIR}" && ./scripts/ci/deploy.sh