diff --git a/.circleci/config.yml b/.circleci/config.yml index c32c9f08d..273643b7c 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -9,38 +9,17 @@ jobs: PROJECT_NAME: "kubernetes-helm" steps: - checkout + - setup_remote_docker - run: name: install dependencies command: make bootstrap - - run: - name: go env - command: go env - save_cache: key: vendor-{{ checksum "glide.yaml" }}-{{ checksum "glide.lock" }} paths: - vendor - run: name: test - command: ./scripts/ci.sh - deployment: - working_directory: /go/src/k8s.io/helm - docker: - - image: golang:1.8 - environment: - PROJECT_NAME: "kubernetes-helm" - filters: - tags: - only: /.*/ - branches: - only: master - steps: - - checkout - - restore_cache: - keys: - - vendor-{{ checksum "glide.yaml" }}-{{ checksum "glide.lock" }} - - run: - name: go env - command: go env + command: .circleci/test.sh - deploy: - name: deploy - command: ./scripts/ci/deploy.sh + name: deploy + command: .circleci/deploy.sh diff --git a/scripts/ci/deploy.sh b/.circleci/deploy.sh similarity index 67% rename from scripts/ci/deploy.sh rename to .circleci/deploy.sh index 6f8199a18..84bcfa33b 100755 --- a/scripts/ci/deploy.sh +++ b/.circleci/deploy.sh @@ -15,6 +15,11 @@ # limitations under the License. set -euo pipefail +# Skip on pull request builds +if [[ -n "${CIRCLE_PR_NUMBER:-}" ]]; then + exit +fi + : ${GCLOUD_SERVICE_KEY:?"GCLOUD_SERVICE_KEY environment variable is not set"} : ${PROJECT_NAME:?"PROJECT_NAME environment variable is not set"} @@ -27,13 +32,21 @@ else exit 1 fi -echo "Updating gcloud components" -sudo /opt/google-cloud-sdk/bin/gcloud --quiet components update +echo "Install docker client" +VER="17.03.0-ce" +curl -L -o /tmp/docker-$VER.tgz https://get.docker.com/builds/Linux/x86_64/docker-$VER.tgz +tar -xz -C /tmp -f /tmp/docker-$VER.tgz +mv /tmp/docker/* /usr/bin + +echo "Install gcloud components" +export CLOUDSDK_CORE_DISABLE_PROMPTS=1 +curl https://sdk.cloud.google.com | bash +${HOME}/google-cloud-sdk/bin/gcloud --quiet components update echo "Configuring gcloud authentication" 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}" +${HOME}/google-cloud-sdk/bin/gcloud auth activate-service-account --key-file "${HOME}/gcloud-service-key.json" +${HOME}/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 echo "Building the tiller image" @@ -47,4 +60,4 @@ make build-cross make dist checksum VERSION="${VERSION}" echo "Pushing binaries to gs bucket" -sudo /opt/google-cloud-sdk/bin/gsutil cp ./_dist/* "gs://${PROJECT_NAME}" +${HOME}/google-cloud-sdk/bin/gsutil cp ./_dist/* "gs://${PROJECT_NAME}" diff --git a/scripts/ci.sh b/.circleci/test.sh similarity index 100% rename from scripts/ci.sh rename to .circleci/test.sh