diff --git a/hack/jenkins/gotest-dockerized.sh b/hack/jenkins/gotest-dockerized.sh index 6b1e63fe76b..c49c37cb9b1 100755 --- a/hack/jenkins/gotest-dockerized.sh +++ b/hack/jenkins/gotest-dockerized.sh @@ -46,4 +46,4 @@ docker run --rm=true \ -e "REPO_DIR=${REPO_DIR}" \ -e "HOST_ARTIFACTS_DIR=${HOST_ARTIFACTS_DIR}" \ -i gcr.io/google_containers/kubekins-test:0.11 \ - bash -c "cd kubernetes && ./hack/jenkins/test-dockerized.sh" + bash -c "cd kubernetes && ${KUBE_TEST_SCRIPT:-./hack/jenkins/test-dockerized.sh}" diff --git a/hack/jenkins/test-dockerized.sh b/hack/jenkins/test-dockerized.sh index 752f76e52cf..bae8299344a 100755 --- a/hack/jenkins/test-dockerized.sh +++ b/hack/jenkins/test-dockerized.sh @@ -55,8 +55,6 @@ rm -rf Godeps/_workspace # Temporary until _workspace is fully obliterated go install ./cmd/... ./hack/install-etcd.sh -./hack/verify-all.sh -v - ./hack/test-go.sh ./hack/test-cmd.sh ./hack/test-integration.sh diff --git a/hack/jenkins/verify-dockerized.sh b/hack/jenkins/verify-dockerized.sh new file mode 100755 index 00000000000..e7d45ce30a8 --- /dev/null +++ b/hack/jenkins/verify-dockerized.sh @@ -0,0 +1,41 @@ +#!/bin/bash + +# Copyright 2016 The Kubernetes Authors All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +set -o errexit +set -o nounset +set -o pipefail +set -o xtrace + +retry() { + for i in {1..5}; do + "$@" && return 0 || sleep $i + done + "$@" +} + +# This script is intended to be run from kubekins-test container with a +# kubernetes repo mapped in. See hack/jenkins/gotest-dockerized.sh + +export PATH=${GOPATH}/bin:${PWD}/third_party/etcd:/usr/local/go/bin:${PATH} + +retry go get github.com/tools/godep && godep version + +export LOG_LEVEL=4 + +cd /go/src/k8s.io/kubernetes + +./hack/install-etcd.sh +./hack/verify-all.sh -v diff --git a/hack/verify-api-reference-docs.sh b/hack/verify-api-reference-docs.sh index 8cbfba79759..2cc0535f6bf 100755 --- a/hack/verify-api-reference-docs.sh +++ b/hack/verify-api-reference-docs.sh @@ -29,6 +29,7 @@ API_REFERENCE_DOCS_ROOT="${KUBE_ROOT}/docs/api-reference" OUTPUT_DIR="${KUBE_ROOT}/_tmp/api-reference" mkdir -p ${OUTPUT_DIR} TMP_ROOT="${KUBE_ROOT}/_tmp" +trap "rm -rf ${TMP_ROOT}" EXIT SIGINT # Generate API reference docs in tmp. "./hack/update-api-reference-docs.sh" "${OUTPUT_DIR}" @@ -36,7 +37,6 @@ TMP_ROOT="${KUBE_ROOT}/_tmp" echo "diffing ${API_REFERENCE_DOCS_ROOT} against freshly generated docs" ret=0 diff -NauprB -I 'Last update' --exclude=*.md "${API_REFERENCE_DOCS_ROOT}" "${OUTPUT_DIR}" || ret=$? -rm -rf "${TMP_ROOT}" if [[ $ret -eq 0 ]] then echo "${API_REFERENCE_DOCS_ROOT} up to date." diff --git a/hack/verify-codecgen.sh b/hack/verify-codecgen.sh index c1a65836bdc..c71280a6cee 100755 --- a/hack/verify-codecgen.sh +++ b/hack/verify-codecgen.sh @@ -35,6 +35,13 @@ generated_files=($( \) -prune \ \) -name '*.generated.go')) +function cleanup { + for generated_file in ${generated_files[@]}; do + rm -f "${generated_file}.original" + done +} +trap cleanup EXIT SIGINT + for generated_file in ${generated_files[@]}; do cat "${generated_file}" > "${generated_file}.original" done @@ -53,7 +60,6 @@ for generated_file in ${generated_files[@]}; do ret=1 fi - rm -f "${generated_file}.original" done exit $ret diff --git a/hack/verify-generated-swagger-docs.sh b/hack/verify-generated-swagger-docs.sh index f7ff66ed7ba..19bcbca0689 100755 --- a/hack/verify-generated-swagger-docs.sh +++ b/hack/verify-generated-swagger-docs.sh @@ -43,6 +43,7 @@ TMP_DIFFROOT="${KUBE_ROOT}/_tmp/pkg" _tmp="${KUBE_ROOT}/_tmp" mkdir -p "${_tmp}" +trap "rm -rf ${_tmp}" EXIT SIGINT cp -a "${DIFFROOT}" "${TMP_DIFFROOT}" "${KUBE_ROOT}/hack/update-generated-swagger-docs.sh" @@ -50,7 +51,6 @@ echo "diffing ${DIFFROOT} against freshly generated swagger type documentation" ret=0 diff -Naupr -I 'Auto generated by' "${DIFFROOT}" "${TMP_DIFFROOT}" || ret=$? cp -a "${TMP_DIFFROOT}" "${KUBE_ROOT}/" -rm -rf "${_tmp}" if [[ $ret -eq 0 ]] then echo "${DIFFROOT} up to date." diff --git a/hack/verify-govet.sh b/hack/verify-govet.sh index 32bf2d2779e..8c0d355a0e3 100755 --- a/hack/verify-govet.sh +++ b/hack/verify-govet.sh @@ -24,6 +24,10 @@ source "${KUBE_ROOT}/hack/lib/init.sh" cd "${KUBE_ROOT}" +# This is required before we run govet for the results to be correct. +# See https://github.com/golang/go/issues/16086 for details. +go install ./cmd/... + # Use eval to preserve embedded quoted strings. eval "goflags=(${KUBE_GOFLAGS:-})" diff --git a/hack/verify-swagger-spec.sh b/hack/verify-swagger-spec.sh index e73cb07a8b9..030eee13c02 100755 --- a/hack/verify-swagger-spec.sh +++ b/hack/verify-swagger-spec.sh @@ -32,6 +32,7 @@ TMP_SPECROOT="${KUBE_ROOT}/_tmp/swagger-spec" _tmp="${KUBE_ROOT}/_tmp" mkdir -p "${_tmp}" +trap "rm -rf ${_tmp}" EXIT SIGINT cp -a "${SPECROOT}" "${TMP_SPECROOT}" "${KUBE_ROOT}/hack/update-swagger-spec.sh" @@ -39,7 +40,6 @@ echo "diffing ${SPECROOT} against freshly generated swagger spec" ret=0 diff -Naupr -I 'Auto generated by' "${SPECROOT}" "${TMP_SPECROOT}" || ret=$? cp -a ${TMP_SPECROOT} "${KUBE_ROOT}/api" -rm -rf "${_tmp}" if [[ $ret -eq 0 ]] then echo "${SPECROOT} up to date."