machine:
  node:
    version: 6.9.2
  python:
    version: 2.7.3
  services:
    - docker
  environment:
    GOPATH: "/home/ubuntu/.go_workspace"
    ORG_PATH: "github.com/grafana"
    REPO_PATH: "${ORG_PATH}/grafana"
    GODIST: "go1.8.linux-amd64.tar.gz"
  post:
    - mkdir -p ~/download
    - mkdir -p ~/docker
    - test -e download/$GODIST || curl -o download/$GODIST https://storage.googleapis.com/golang/$GODIST
    - sudo rm -rf /usr/local/go
    - sudo tar -C /usr/local -xzf download/$GODIST

dependencies:
  cache_directories:
    - "~/docker"
    - "~/download"
  override:
    - rm -rf ${GOPATH}/src/${REPO_PATH}
    - mkdir -p ${GOPATH}/src/${ORG_PATH}
    - cp -r ~/grafana ${GOPATH}/src/${ORG_PATH}
  pre:
    - pip install awscli
    - sudo apt-get update; sudo apt-get install rpm; sudo apt-get install expect
    - ./scripts/build/build_container.sh


test:
  override:
    - bash scripts/circle-test.sh

deployment:
  gh_branch:
    branch: master
    commands:
      - ./scripts/build/deploy.sh
      - ./scripts/build/sign_packages.sh
      - go run build.go sha-dist
      - aws s3 sync ./dist s3://$BUCKET_NAME/master
      - ./scripts/trigger_windows_build.sh ${APPVEYOR_TOKEN} ${CIRCLE_SHA1} master
      - ./scripts/trigger_docker_build.sh ${TRIGGER_GRAFANA_PACKER_CIRCLECI_TOKEN}
      - go run ./scripts/build/publish.go -apiKey ${GRAFANA_COM_API_KEY}
  gh_tag:
    tag: /^v[0-9]+(\.[0-9]+){2}(-.+|[^-.]*)$/
    commands:
      - ./scripts/build/deploy.sh
      - ./scripts/build/sign_packages.sh
      - go run build.go sha-dist
      - aws s3 sync ./dist s3://$BUCKET_NAME/release
      - ./scripts/trigger_windows_build.sh ${APPVEYOR_TOKEN} ${CIRCLE_SHA1} release
      - ./scripts/trigger_docker_build.sh ${TRIGGER_GRAFANA_PACKER_CIRCLECI_TOKEN} ${CIRCLE_TAG}
