mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-03 09:22:44 +00:00
Merge pull request #11291 from thockin/jenkins
Better handling of ginkgo args in jenkins
This commit is contained in:
commit
8c891cfb70
@ -28,6 +28,13 @@ set -o nounset
|
|||||||
set -o pipefail
|
set -o pipefail
|
||||||
set -o xtrace
|
set -o xtrace
|
||||||
|
|
||||||
|
# Join all args with |
|
||||||
|
# Example: join_regex a b "c d" e => a|b|c d|e
|
||||||
|
function join_regex() {
|
||||||
|
local IFS="|"
|
||||||
|
echo "$*"
|
||||||
|
}
|
||||||
|
|
||||||
echo "--------------------------------------------------------------------------------"
|
echo "--------------------------------------------------------------------------------"
|
||||||
echo "Initial Environment:"
|
echo "Initial Environment:"
|
||||||
printenv | sort
|
printenv | sort
|
||||||
@ -66,40 +73,39 @@ if [[ "${KUBERNETES_PROVIDER}" == "aws" ]]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Specialized tests which should be skipped by default for projects.
|
# Specialized tests which should be skipped by default for projects.
|
||||||
GCE_DEFAULT_SKIP_TEST_REGEX="\
|
GCE_DEFAULT_SKIP_TESTS=(
|
||||||
Skipped|\
|
"Skipped"
|
||||||
Reboot|\
|
"Reboot"
|
||||||
Restart|\
|
"Restart"
|
||||||
Example\
|
"Example"
|
||||||
"
|
)
|
||||||
|
|
||||||
# The following tests are known to be flaky, and are thus run only in their own
|
# The following tests are known to be flaky, and are thus run only in their own
|
||||||
# -flaky- build variants.
|
# -flaky- build variants.
|
||||||
# NOTE: if you want the flaky test suite to be empty, you CANNOT leave the
|
GCE_FLAKY_TESTS=()
|
||||||
# regexp empty - this will cause running all tests in flaky suite and no tests
|
|
||||||
# in regular "gce" suite.
|
|
||||||
GCE_FLAKY_TEST_REGEX="DO\sNOT\sRUN\sANYTHING"
|
|
||||||
|
|
||||||
# Tests which are not able to be run in parallel.
|
# Tests which are not able to be run in parallel.
|
||||||
GCE_PARALLEL_SKIP_TEST_REGEX="\
|
GCE_PARALLEL_SKIP_TESTS=(
|
||||||
${GCE_DEFAULT_SKIP_TEST_REGEX}\
|
${GCE_DEFAULT_SKIP_TESTS[@]:+${GCE_DEFAULT_SKIP_TESTS[@]}}
|
||||||
|Etcd\
|
"Etcd"
|
||||||
|NetworkingNew\
|
"NetworkingNew"
|
||||||
|Nodes\sNetwork\
|
"Nodes\sNetwork"
|
||||||
|Nodes\sResize\
|
"Nodes\sResize"
|
||||||
|MaxPods\
|
"MaxPods"
|
||||||
|Shell.*services\
|
"Shell.*services"
|
||||||
"
|
)
|
||||||
|
|
||||||
# Tests which are known to be flaky when run in parallel.
|
# Tests which are known to be flaky when run in parallel.
|
||||||
GCE_PARALLEL_FLAKY_TEST_REGEX="\
|
GCE_PARALLEL_FLAKY_TESTS=(
|
||||||
Elasticsearch\
|
"Elasticsearch"
|
||||||
|PD\
|
"PD"
|
||||||
|ServiceAccounts\
|
"ServiceAccounts"
|
||||||
|Service\sendpoints\slatency\
|
"Service\sendpoints\slatency"
|
||||||
|Services.*change\sthe\stype\
|
"Services.*change\sthe\stype"
|
||||||
|Services.*functioning\sexternal\sload\sbalancer\
|
"Services.*functioning\sexternal\sload\sbalancer"
|
||||||
|Services.*identically\snamed\
|
"Services.*identically\snamed"
|
||||||
|Services.*release.*load\sbalancer\
|
"Services.*release.*load\sbalancer"
|
||||||
"
|
)
|
||||||
|
|
||||||
# Define environment variables based on the Jenkins project name.
|
# Define environment variables based on the Jenkins project name.
|
||||||
case ${JOB_NAME} in
|
case ${JOB_NAME} in
|
||||||
@ -108,7 +114,10 @@ case ${JOB_NAME} in
|
|||||||
: ${E2E_CLUSTER_NAME:="jenkins-gce-e2e"}
|
: ${E2E_CLUSTER_NAME:="jenkins-gce-e2e"}
|
||||||
: ${E2E_DOWN:="false"}
|
: ${E2E_DOWN:="false"}
|
||||||
: ${E2E_NETWORK:="e2e-gce"}
|
: ${E2E_NETWORK:="e2e-gce"}
|
||||||
: ${GINKGO_TEST_ARGS:="--ginkgo.skip=${GCE_DEFAULT_SKIP_TEST_REGEX}|${GCE_FLAKY_TEST_REGEX}"}
|
: ${GINKGO_TEST_ARGS:="--ginkgo.skip=$(join_regex \
|
||||||
|
${GCE_DEFAULT_SKIP_TESTS[@]:+${GCE_DEFAULT_SKIP_TESTS[@]}} \
|
||||||
|
${GCE_FLAKY_TESTS[@]:+${GCE_FLAKY_TESTS[@]}} \
|
||||||
|
)"}
|
||||||
: ${KUBE_GCE_INSTANCE_PREFIX="e2e-gce"}
|
: ${KUBE_GCE_INSTANCE_PREFIX="e2e-gce"}
|
||||||
: ${PROJECT:="k8s-jkns-e2e-gce"}
|
: ${PROJECT:="k8s-jkns-e2e-gce"}
|
||||||
;;
|
;;
|
||||||
@ -118,7 +127,11 @@ case ${JOB_NAME} in
|
|||||||
: ${E2E_CLUSTER_NAME:="jenkins-gce-e2e-flaky"}
|
: ${E2E_CLUSTER_NAME:="jenkins-gce-e2e-flaky"}
|
||||||
: ${E2E_DOWN:="false"}
|
: ${E2E_DOWN:="false"}
|
||||||
: ${E2E_NETWORK:="e2e-flaky"}
|
: ${E2E_NETWORK:="e2e-flaky"}
|
||||||
: ${GINKGO_TEST_ARGS:="--ginkgo.skip=${GCE_DEFAULT_SKIP_TEST_REGEX} --ginkgo.focus=${GCE_FLAKY_TEST_REGEX}"}
|
: ${GINKGO_TEST_ARGS:="--ginkgo.skip=$(join_regex \
|
||||||
|
${GCE_DEFAULT_SKIP_TESTS[@]:+${GCE_DEFAULT_SKIP_TESTS[@]}} \
|
||||||
|
) --ginkgo.focus=$(join_regex \
|
||||||
|
${GCE_FLAKY_TESTS[@]:+${GCE_FLAKY_TESTS[@]}} \
|
||||||
|
)"}
|
||||||
: ${KUBE_GCE_INSTANCE_PREFIX:="e2e-flaky"}
|
: ${KUBE_GCE_INSTANCE_PREFIX:="e2e-flaky"}
|
||||||
: ${PROJECT:="k8s-jkns-e2e-gce-flaky"}
|
: ${PROJECT:="k8s-jkns-e2e-gce-flaky"}
|
||||||
;;
|
;;
|
||||||
@ -128,7 +141,11 @@ case ${JOB_NAME} in
|
|||||||
: ${E2E_CLUSTER_NAME:="jenkins-gce-e2e-parallel"}
|
: ${E2E_CLUSTER_NAME:="jenkins-gce-e2e-parallel"}
|
||||||
: ${E2E_NETWORK:="e2e-parallel"}
|
: ${E2E_NETWORK:="e2e-parallel"}
|
||||||
: ${GINKGO_PARALLEL:="y"}
|
: ${GINKGO_PARALLEL:="y"}
|
||||||
: ${GINKGO_TEST_ARGS:="--ginkgo.skip=${GCE_DEFAULT_SKIP_TEST_REGEX}|${GCE_PARALLEL_SKIP_TEST_REGEX}|${GCE_PARALLEL_FLAKY_TEST_REGEX}"}
|
: ${GINKGO_TEST_ARGS:="--ginkgo.skip=$(join_regex \
|
||||||
|
${GCE_DEFAULT_SKIP_TESTS[@]:+${GCE_DEFAULT_SKIP_TESTS[@]}} \
|
||||||
|
${GCE_PARALLEL_SKIP_TESTS[@]:+${GCE_PARALLEL_SKIP_TESTS[@]}} \
|
||||||
|
${GCE_PARALLEL_FLAKY_TESTS[@]:+${GCE_PARALLEL_FLAKY_TESTS[@]}} \
|
||||||
|
)"}
|
||||||
: ${KUBE_GCE_INSTANCE_PREFIX:="e2e-test-parallel"}
|
: ${KUBE_GCE_INSTANCE_PREFIX:="e2e-test-parallel"}
|
||||||
: ${PROJECT:="kubernetes-jenkins"}
|
: ${PROJECT:="kubernetes-jenkins"}
|
||||||
# Override GCE defaults.
|
# Override GCE defaults.
|
||||||
@ -140,7 +157,12 @@ case ${JOB_NAME} in
|
|||||||
: ${E2E_CLUSTER_NAME:="parallel-flaky"}
|
: ${E2E_CLUSTER_NAME:="parallel-flaky"}
|
||||||
: ${E2E_NETWORK:="e2e-parallel-flaky"}
|
: ${E2E_NETWORK:="e2e-parallel-flaky"}
|
||||||
: ${GINKGO_PARALLEL:="y"}
|
: ${GINKGO_PARALLEL:="y"}
|
||||||
: ${GINKGO_TEST_ARGS:="--ginkgo.skip=${GCE_DEFAULT_SKIP_TEST_REGEX}|${GCE_PARALLEL_SKIP_TEST_REGEX} --ginkgo.focus=${GCE_PARALLEL_FLAKY_TEST_REGEX}"}
|
: ${GINKGO_TEST_ARGS:="--ginkgo.skip=$(join_regex \
|
||||||
|
${GCE_DEFAULT_SKIP_TESTS[@]:+${GCE_DEFAULT_SKIP_TESTS[@]}} \
|
||||||
|
${GCE_PARALLEL_SKIP_TESTS[@]:+${GCE_PARALLEL_SKIP_TESTS[@]}} \
|
||||||
|
) --ginkgo.focus=$(join_regex \
|
||||||
|
${GCE_PARALLEL_FLAKY_TESTS[@]:+${GCE_PARALLEL_FLAKY_TESTS[@]}} \
|
||||||
|
)"}
|
||||||
: ${KUBE_GCE_INSTANCE_PREFIX:="parallel-flaky"}
|
: ${KUBE_GCE_INSTANCE_PREFIX:="parallel-flaky"}
|
||||||
: ${PROJECT:="k8s-jkns-e2e-gce-prl-flaky"}
|
: ${PROJECT:="k8s-jkns-e2e-gce-prl-flaky"}
|
||||||
# Override GCE defaults.
|
# Override GCE defaults.
|
||||||
@ -178,7 +200,11 @@ case ${JOB_NAME} in
|
|||||||
: ${GINKGO_PARALLEL:="y"}
|
: ${GINKGO_PARALLEL:="y"}
|
||||||
# This list should match the list in kubernetes-e2e-gce-parallel. It
|
# This list should match the list in kubernetes-e2e-gce-parallel. It
|
||||||
# currently also excludes a slow namespace test.
|
# currently also excludes a slow namespace test.
|
||||||
: ${GINKGO_TEST_ARGS:="--ginkgo.skip=${GCE_DEFAULT_SKIP_TEST_REGEX}|${GCE_PARALLEL_SKIP_TEST_REGEX}|${GCE_PARALLEL_FLAKY_TEST_REGEX}"}
|
: ${GINKGO_TEST_ARGS:="--ginkgo.skip=$(join_regex \
|
||||||
|
${GCE_DEFAULT_SKIP_TESTS[@]:+${GCE_DEFAULT_SKIP_TESTS[@]}} \
|
||||||
|
${GCE_PARALLEL_SKIP_TESTS[@]:+${GCE_PARALLEL_SKIP_TESTS[@]}} \
|
||||||
|
${GCE_PARALLEL_FLAKY_TESTS[@]:+${GCE_PARALLEL_FLAKY_TESTS[@]}} \
|
||||||
|
)"}
|
||||||
: ${KUBE_GCE_INSTANCE_PREFIX:="pull-e2e-${EXECUTOR_NUMBER}"}
|
: ${KUBE_GCE_INSTANCE_PREFIX:="pull-e2e-${EXECUTOR_NUMBER}"}
|
||||||
: ${KUBE_GCS_STAGING_PATH_SUFFIX:="-${EXECUTOR_NUMBER}"}
|
: ${KUBE_GCS_STAGING_PATH_SUFFIX:="-${EXECUTOR_NUMBER}"}
|
||||||
: ${PROJECT:="kubernetes-jenkins-pull"}
|
: ${PROJECT:="kubernetes-jenkins-pull"}
|
||||||
@ -196,7 +222,10 @@ case ${JOB_NAME} in
|
|||||||
: ${E2E_CLUSTER_NAME:="jenkins-gce-e2e-release"}
|
: ${E2E_CLUSTER_NAME:="jenkins-gce-e2e-release"}
|
||||||
: ${E2E_DOWN:="false"}
|
: ${E2E_DOWN:="false"}
|
||||||
: ${E2E_NETWORK:="e2e-gce-release"}
|
: ${E2E_NETWORK:="e2e-gce-release"}
|
||||||
: ${GINKGO_TEST_ARGS:="--ginkgo.skip=${GCE_DEFAULT_SKIP_TEST_REGEX}|${GCE_FLAKY_TEST_REGEX}"}
|
: ${GINKGO_TEST_ARGS:="--ginkgo.skip=$(join_regex \
|
||||||
|
${GCE_DEFAULT_SKIP_TESTS[@]:+${GCE_DEFAULT_SKIP_TESTS[@]}} \
|
||||||
|
${GCE_FLAKY_TESTS[@]:+${GCE_FLAKY_TESTS[@]}} \
|
||||||
|
)"}
|
||||||
: ${KUBE_GCE_INSTANCE_PREFIX="e2e-gce"}
|
: ${KUBE_GCE_INSTANCE_PREFIX="e2e-gce"}
|
||||||
: ${PROJECT:="k8s-jkns-e2e-gce-release"}
|
: ${PROJECT:="k8s-jkns-e2e-gce-release"}
|
||||||
;;
|
;;
|
||||||
|
Loading…
Reference in New Issue
Block a user