From 933c2031a408bc762731d6dc0417d0724e04d3bd Mon Sep 17 00:00:00 2001 From: Jose Carlos Venegas Munoz Date: Thu, 12 Jul 2018 09:55:30 -0500 Subject: [PATCH] ci: Test kata on new Kernel changes. Add testing to make sure new kernel changes does not break Kata. Signed-off-by: Jose Carlos Venegas Munoz --- .ci/lib.sh | 15 +++++++++++++++ .ci/test.sh | 5 +++++ kernel/build-kernel_test.sh | 20 +++++++++++++++++++- 3 files changed, 39 insertions(+), 1 deletion(-) diff --git a/.ci/lib.sh b/.ci/lib.sh index 6771512ca1..eb3f5a431c 100644 --- a/.ci/lib.sh +++ b/.ci/lib.sh @@ -11,6 +11,21 @@ die(){ exit 1 } +export tests_repo="${tests_repo:-github.com/kata-containers/tests}" +export tests_repo_dir="$GOPATH/src/$tests_repo" + +clone_tests_repo() +{ + # KATA_CI_NO_NETWORK is (has to be) ignored if there is + # no existing clone. + if [ -d "${tests_repo_dir}" ] && [ -n "${KATA_CI_NO_NETWORK:-}" ] + then + return + fi + + go get -d -u "$tests_repo" || true +} + install_yq() { GOPATH=${GOPATH:-${HOME}/go} local yq_path="${GOPATH}/bin/yq" diff --git a/.ci/test.sh b/.ci/test.sh index 06076778cb..6bf8f9bc36 100755 --- a/.ci/test.sh +++ b/.ci/test.sh @@ -31,6 +31,11 @@ make_target() { test-build-kernel) [ -n "${CI}" ] && check_kata_kernel_version + # Setup testing script to test Kata with new kernel changes. + [ -n "${CI}" ] && clone_tests_repo && + pushd "${tests_repo_dir}" && + .ci/setup.sh && + popd ;; esac diff --git a/kernel/build-kernel_test.sh b/kernel/build-kernel_test.sh index d2ae3153d8..41903afdf5 100755 --- a/kernel/build-kernel_test.sh +++ b/kernel/build-kernel_test.sh @@ -71,7 +71,25 @@ build_kernel() { OK } -pushd ${tmp_dir} +test_kata() { + local cidir="${script_dir}/../.ci/" + echo "test kata with new kernel config" + [ -z "${CI:-}" ] && echo "skip: Not in CI" && return + echo "Setup kernel source" + ${build_kernel_sh} setup + echo "Build kernel" + ${build_kernel_sh} build + echo "Install kernel" + sudo -E PATH="$PATH" "${build_kernel_sh}" install + + source "${cidir}/lib.sh" + pushd "${tests_repo_dir:-no-defined}" + .ci/run.sh + popd +} + +pushd "${tmp_dir}" check_help build_kernel +test_kata popd