From d8bc5095613571c18fe0efd9bf03731b9178e4e6 Mon Sep 17 00:00:00 2001 From: Matt Rickard Date: Mon, 9 Jan 2017 15:17:17 -0800 Subject: [PATCH] Parameterize jenkins jobs --- hack/jenkins/common.sh | 30 +++++++++++++++++++ hack/jenkins/linux_integration_tests_kvm.sh | 30 ++----------------- .../linux_integration_tests_virtualbox.sh | 30 ++----------------- .../osx_integration_tests_virtualbox.sh | 29 ++---------------- hack/jenkins/osx_integration_tests_xhyve.sh | 28 ++--------------- 5 files changed, 41 insertions(+), 106 deletions(-) diff --git a/hack/jenkins/common.sh b/hack/jenkins/common.sh index 9b419f4536..f120ef65a0 100644 --- a/hack/jenkins/common.sh +++ b/hack/jenkins/common.sh @@ -19,6 +19,9 @@ # The script expects the following env variables: # OS_ARCH: The operating system and the architecture separated by a hyphen '-' (e.g. darwin-amd64, linux-amd64, windows-amd64) +# VM_DRIVER: the vm-driver to use for the test +# EXTRA_BUILD_ARGS: additional flags to pass into minikube start +# JOB_NAME: the name of the logfile and check name to update on github # Copy only the files we need to this workspace @@ -30,3 +33,30 @@ gsutil cp gs://minikube-builds/${MINIKUBE_LOCATION}/testdata/busybox.yaml testda # Set the executable bit on the e2e binary and out binary chmod +x out/e2e-${OS_ARCH} chmod +x out/minikube-${OS_ARCH} + +MINIKUBE_WANTREPORTERRORPROMPT=False \ + ./out/minikube-${OS_ARCH} delete || true + +rm -rf $HOME/.minikube || true + +# Allow this to fail, we'll switch on the return code below. +set +e +out/e2e-${OS_ARCH} -minikube-args="--vm-driver=${VM_DRIVER} --cpus=4 --v=100 ${EXTRA_BUILD_ARGS}" -test.v -test.timeout=30m -binary=out/minikube-${OS_ARCH} +result=$? +set -e + +if [[ $result -eq 0 ]]; then + status="success" +else + status="failure" +fi + +set +x +target_url="https://storage.googleapis.com/minikube-builds/logs/${MINIKUBE_LOCATION}/${JOB_NAME}.txt" +curl "https://api.github.com/repos/kubernetes/minikube/statuses/${COMMIT}?access_token=$access_token" \ + -H "Content-Type: application/json" \ + -X POST \ + -d "{\"state\": \"$status\", \"description\": \"Jenkins\", \"target_url\": \"$target_url\", \"context\": \"${JOB_NAME}\"}" +set -x + +exit $result \ No newline at end of file diff --git a/hack/jenkins/linux_integration_tests_kvm.sh b/hack/jenkins/linux_integration_tests_kvm.sh index 656781fbb7..6deb380555 100644 --- a/hack/jenkins/linux_integration_tests_kvm.sh +++ b/hack/jenkins/linux_integration_tests_kvm.sh @@ -26,33 +26,9 @@ set -e OS_ARCH="linux-amd64" +VM_DRIVER="kvm" +JOB_NAME="Linux-KVM" + # Download files and set permissions source common.sh - -MINIKUBE_WANTREPORTERRORPROMPT=False \ - ./out/minikube-${OS_ARCH} delete || true - -rm -rf $HOME/.minikube || true - -# Allow this to fail, we'll switch on the return code below. -set +e -out/e2e-${OS_ARCH} -minikube-args="--vm-driver=kvm --cpus=4 --show-libmachine-logs --v=100 ${EXTRA_BUILD_ARGS}" -test.v -test.timeout=30m -binary=out/minikube-${OS_ARCH} -result=$? -set -e - -if [[ $result -eq 0 ]]; then - status="success" -else - status="failure" -fi - -set +x -target_url="https://storage.googleapis.com/minikube-builds/logs/${MINIKUBE_LOCATION}/Linux-KVM.txt" -curl "https://api.github.com/repos/kubernetes/minikube/statuses/${COMMIT}?access_token=$access_token" \ - -H "Content-Type: application/json" \ - -X POST \ - -d "{\"state\": \"$status\", \"description\": \"Jenkins\", \"target_url\": \"$target_url\", \"context\": \"Linux-KVM\"}" -set -x - -exit $result diff --git a/hack/jenkins/linux_integration_tests_virtualbox.sh b/hack/jenkins/linux_integration_tests_virtualbox.sh index 0eb946961c..fb90d5e92b 100644 --- a/hack/jenkins/linux_integration_tests_virtualbox.sh +++ b/hack/jenkins/linux_integration_tests_virtualbox.sh @@ -26,34 +26,8 @@ set -e OS_ARCH="linux-amd64" +VM_DRIVER="virtualbox" +JOB_NAME="Linux-VirtualBox" # Download files and set permissions source common.sh - -MINIKUBE_WANTREPORTERRORPROMPT=False \ - ./out/minikube-${OS_ARCH} delete || true - -rm -rf $HOME/.minikube || true -rm -rf $HOME/.docker || true - -# Allow this to fail, we'll switch on the return code below. -set +e -out/e2e-${OS_ARCH} -minikube-args="--vm-driver=virtualbox --cpus=4 --show-libmachine-logs --v=100 ${EXTRA_BUILD_ARGS}" -test.v -test.timeout=30m -binary=out/minikube-${OS_ARCH} -result=$? -set -e - -if [[ $result -eq 0 ]]; then - status="success" -else - status="failure" -fi - -set +x -target_url="https://storage.googleapis.com/minikube-builds/logs/${MINIKUBE_LOCATION}/Linux-VirtualBox.txt" -curl "https://api.github.com/repos/kubernetes/minikube/statuses/${COMMIT}?access_token=$access_token" \ - -H "Content-Type: application/json" \ - -X POST \ - -d "{\"state\": \"$status\", \"description\": \"Jenkins\", \"target_url\": \"$target_url\", \"context\": \"Linux-VirtualBox\"}" -set -x - -exit $result diff --git a/hack/jenkins/osx_integration_tests_virtualbox.sh b/hack/jenkins/osx_integration_tests_virtualbox.sh index f165e7f1e6..f398189930 100755 --- a/hack/jenkins/osx_integration_tests_virtualbox.sh +++ b/hack/jenkins/osx_integration_tests_virtualbox.sh @@ -26,31 +26,8 @@ set -e OS_ARCH="darwin-amd64" +VM_DRIVER="virtualbox" +JOB_NAME="OSX-Virtualbox" # Download files and set permissions -source common.sh - -./out/minikube-${OS_ARCH} delete || true -rm -rf $HOME/.minikube || true - -# Allow this to fail, we'll switch on the return code below. -set +e -out/e2e-${OS_ARCH} -minikube-args="--vm-driver=virtualbox --cpus=4 --show-libmachine-logs --v=100 ${EXTRA_BUILD_ARGS}" -test.v -test.timeout=30m -binary=out/minikube-${OS_ARCH} -result=$? -set -e - -if [[ $result -eq 0 ]]; then - status="success" -else - status="failure" -fi - -set +x -target_url="https://storage.googleapis.com/minikube-builds/logs/${MINIKUBE_LOCATION}/OSX-Virtualbox.txt" -curl "https://api.github.com/repos/kubernetes/minikube/statuses/${COMMIT}?access_token=$access_token" \ - -H "Content-Type: application/json" \ - -X POST \ - -d "{\"state\": \"$status\", \"description\": \"Jenkins\", \"target_url\": \"$target_url\", \"context\": \"OSX-VirtualBox\"}" -set -x - -exit $result +source common.sh \ No newline at end of file diff --git a/hack/jenkins/osx_integration_tests_xhyve.sh b/hack/jenkins/osx_integration_tests_xhyve.sh index 3ad6a0cb1f..cd2ff638dd 100755 --- a/hack/jenkins/osx_integration_tests_xhyve.sh +++ b/hack/jenkins/osx_integration_tests_xhyve.sh @@ -27,31 +27,9 @@ set -e OS_ARCH="darwin-amd64" +VM_DRIVER="xhyve" +JOB_NAME="OSX-Xhyve" + # Download files and set permissions source common.sh - -./out/minikube-darwin-amd64 delete || true -rm -rf $HOME/.minikube || true - -# Allow this to fail, we'll switch on the return code below. -set +e -out/e2e-${OS_ARCH} -minikube-args="--vm-driver=xhyve --cpus=4 --show-libmachine-logs --v=100 ${EXTRA_BUILD_ARGS}" -test.v -test.timeout=30m -binary=out/minikube-${OS_ARCH} -result=$? -set -e - -if [[ $result -eq 0 ]]; then - status="success" -else - status="failure" -fi - -set +x -target_url="https://storage.googleapis.com/minikube-builds/logs/${MINIKUBE_LOCATION}/OSX-XHyve.txt" -curl "https://api.github.com/repos/kubernetes/minikube/statuses/${COMMIT}?access_token=$access_token" \ - -H "Content-Type: application/json" \ - -X POST \ - -d "{\"state\": \"$status\", \"description\": \"Jenkins\", \"target_url\": \"$target_url\", \"context\": \"OSX-XHyve\"}" -set -x - -exit $result