From a20a959b2c089c9fda70f122f841a5c619187a0e Mon Sep 17 00:00:00 2001 From: Patrick Ohly Date: Fri, 21 Feb 2025 09:41:32 +0100 Subject: [PATCH] hack: split up test-dockerized.sh This enables testing command and integration tests separately in CI jobs. The goal is to reduce pull-kubernetes-integration to testing really just the Go test/integration tests and to add a pull-kubernetes-cmd job for command tests. hack/jenkins/test-dockerized.sh does the same as before because some jobs will probably continue to use it. --- hack/jenkins/test-cmd-dockerized.sh | 38 +++++++++++++++++ hack/jenkins/test-dockerized.sh | 3 +- hack/jenkins/test-integration-dockerized.sh | 46 +++++++++++++++++++++ 3 files changed, 86 insertions(+), 1 deletion(-) create mode 100755 hack/jenkins/test-cmd-dockerized.sh create mode 100755 hack/jenkins/test-integration-dockerized.sh diff --git a/hack/jenkins/test-cmd-dockerized.sh b/hack/jenkins/test-cmd-dockerized.sh new file mode 100755 index 00000000000..cc7ed476c6c --- /dev/null +++ b/hack/jenkins/test-cmd-dockerized.sh @@ -0,0 +1,38 @@ +#!/usr/bin/env bash + +# Copyright 2015 The Kubernetes Authors. +# +# 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 + +# Runs test-cmd, +# producing JUnit-style XML test +# reports in ${WORKSPACE}/artifacts. This script is intended to be run from +# kubekins-test container with a kubernetes repo mapped in. See +# k8s.io/test-infra/scenarios/kubernetes_verify.py + +export PATH=${GOPATH}/bin:${PWD}/third_party/etcd:/usr/local/go/bin:${PATH} + +# Set artifacts directory +export ARTIFACTS=${ARTIFACTS:-"${WORKSPACE}/artifacts"} + +cd "${GOPATH}/src/k8s.io/kubernetes" + +./hack/install-etcd.sh + +make test-cmd + diff --git a/hack/jenkins/test-dockerized.sh b/hack/jenkins/test-dockerized.sh index 8762e920e5a..cc44e5e5154 100755 --- a/hack/jenkins/test-dockerized.sh +++ b/hack/jenkins/test-dockerized.sh @@ -19,7 +19,8 @@ set -o nounset set -o pipefail set -o xtrace -# Runs the unit and integration tests, producing JUnit-style XML test +# Runs test-cmd and test-integration, +# producing JUnit-style XML test # reports in ${WORKSPACE}/artifacts. This script is intended to be run from # kubekins-test container with a kubernetes repo mapped in. See # k8s.io/test-infra/scenarios/kubernetes_verify.py diff --git a/hack/jenkins/test-integration-dockerized.sh b/hack/jenkins/test-integration-dockerized.sh new file mode 100755 index 00000000000..89237d39e60 --- /dev/null +++ b/hack/jenkins/test-integration-dockerized.sh @@ -0,0 +1,46 @@ +#!/usr/bin/env bash + +# Copyright 2015 The Kubernetes Authors. +# +# 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 + +# Runs test-integration, +# producing JUnit-style XML test +# reports in ${WORKSPACE}/artifacts. This script is intended to be run from +# kubekins-test container with a kubernetes repo mapped in. See +# k8s.io/test-infra/scenarios/kubernetes_verify.py + +export PATH=${GOPATH}/bin:${PWD}/third_party/etcd:/usr/local/go/bin:${PATH} + +# Install tools we need +go -C "./hack/tools" install gotest.tools/gotestsum + +# Disable coverage report +export KUBE_COVER="n" +# Set artifacts directory +export ARTIFACTS=${ARTIFACTS:-"${WORKSPACE}/artifacts"} +# Save the verbose stdout as well. +export KUBE_KEEP_VERBOSE_TEST_OUTPUT=y +export KUBE_INTEGRATION_TEST_MAX_CONCURRENCY=4 +export LOG_LEVEL=4 + +cd "${GOPATH}/src/k8s.io/kubernetes" + +./hack/install-etcd.sh + +make test-integration