circle.yml 2.65 KiB
machine:
  pre:
    - curl -sSL https://s3.amazonaws.com/circle-downloads/install-circleci-docker.sh | bash -s -- 1.10.0
  environment:
    GOVERSION: "1.7"
    GOPATH:  "${HOME}/.go_workspace"
    WORKDIR: "${GOPATH}/src/k8s.io/helm"
    PROJECT_NAME: "kubernetes-helm"
  services:
    - docker
dependencies:
  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"
    - sudo tar -C /usr/local -xzf "go${GOVERSION}.linux-amd64.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:
      # setup gcloud tools
      - sudo /opt/google-cloud-sdk/bin/gcloud --quiet components update
      - echo "${GCLOUD_SERVICE_KEY}" | base64 --decode > "${HOME}/gcloud-service-key.json"
      - sudo /opt/google-cloud-sdk/bin/gcloud auth activate-service-account --key-file "${HOME}/gcloud-service-key.json"
      - sudo /opt/google-cloud-sdk/bin/gcloud config set project "${PROJECT_NAME}"
      - docker login -e 1234@5678.com -u _json_key -p "$(cat ${HOME}/gcloud-service-key.json)" https://gcr.io
      # build canary tiller image and push
      - make docker-build VERSION="${CIRCLE_TAG}"
      - docker push "gcr.io/kubernetes-helm/tiller:${CIRCLE_TAG}"
      - docker push gcr.io/kubernetes-helm/tiller:canary
      # build canary helm binaries and push
      - make build-cross
      - make dist VERSION="${CIRCLE_TAG}"
      - sudo /opt/google-cloud-sdk/bin/gsutil cp ./_dist/* "gs://${PROJECT_NAME}"
  canary:
    branch: master
    commands:
      # setup gcloud tools
      - sudo /opt/google-cloud-sdk/bin/gcloud --quiet components update
      - echo "${GCLOUD_SERVICE_KEY}" | base64 --decode > "${HOME}/gcloud-service-key.json"
      - sudo /opt/google-cloud-sdk/bin/gcloud auth activate-service-account --key-file "${HOME}/gcloud-service-key.json"
      - sudo /opt/google-cloud-sdk/bin/gcloud config set project "${PROJECT_NAME}"
      - docker login -e 1234@5678.com -u _json_key -p "$(cat ${HOME}/gcloud-service-key.json)" https://gcr.io
717273747576777879
# build canary tiller image and push - make docker-build - docker push gcr.io/kubernetes-helm/tiller:canary # build canary helm binaries and push - make build-cross - make dist VERSION=canary - sudo /opt/google-cloud-sdk/bin/gsutil cp ./_dist/* "gs://${PROJECT_NAME}"