mirror of https://github.com/k3s-io/k3s
84 lines
1.7 KiB
Bash
Executable File
84 lines
1.7 KiB
Bash
Executable File
#!/bin/bash
|
|
set -e -x
|
|
|
|
cd $(dirname $0)/..
|
|
|
|
if [ -z "$K3S_IMAGE" ]; then
|
|
source $(dirname $0)/version.sh
|
|
TAG=${TAG:-${VERSION}${SUFFIX}}
|
|
REPO=${REPO:-rancher}
|
|
IMAGE_NAME=${IMAGE_NAME:-k3s}
|
|
export K3S_IMAGE=${REPO}/${IMAGE_NAME}:${TAG}
|
|
fi
|
|
|
|
OUTPUT=$(pwd)/dist/artifacts
|
|
mkdir -p ${OUTPUT}
|
|
|
|
pids=()
|
|
output=()
|
|
|
|
show-logs() {
|
|
for pid in "${pids[@]}"; do
|
|
logdir=$(pwd)/logs/${pid}
|
|
if [ ! -d $logdir ]; then
|
|
continue
|
|
fi
|
|
echo
|
|
echo "#- Begin: logs for sonobuoy run pid ${pid}"
|
|
for log in $(pwd)/logs/${pid}/*.log; do
|
|
if [ -f ${log} ]; then
|
|
echo
|
|
echo "#- Tail: ${log}"
|
|
tail -10 ${log}
|
|
echo "#- Done: ${log}"
|
|
echo
|
|
fi
|
|
done
|
|
echo "#- Finish: logs for sonobuoy run pid ${pid}"
|
|
echo
|
|
done
|
|
}
|
|
|
|
cleanup() {
|
|
exit_status=$?
|
|
set +e
|
|
trap - EXIT INT
|
|
kill ${pids[@]} 2>/dev/null
|
|
wait
|
|
set +x
|
|
echo -n "Tests "
|
|
if [ "${exit_status}" -eq "0" ]; then
|
|
echo "passed"
|
|
else
|
|
echo "failed"
|
|
show-logs
|
|
fi
|
|
exit ${exit_status}
|
|
}
|
|
trap cleanup EXIT INT
|
|
|
|
|
|
# ---
|
|
|
|
run-sonobuoy() {
|
|
output+=(${log_output})
|
|
E2E_LOG_OUTPUT=${log_output} \
|
|
./scripts/sonobuoy ${@} \
|
|
> >(stdbuf -oL sed "s/^/[${label}] /") 2>&1 &
|
|
pids+=($!)
|
|
}
|
|
|
|
log_output=${OUTPUT}/e2e-STATUS-${ARCH}-parallel.log label=PARALLEL \
|
|
run-sonobuoy --e2e-focus='\[Conformance\]' --e2e-skip='\[Serial\]' --e2e-parallel=y
|
|
|
|
sleep 60
|
|
|
|
log_output=${OUTPUT}/e2e-STATUS-${ARCH}-serial.log label=SERIAL \
|
|
run-sonobuoy --e2e-focus='\[Serial\].*\[Conformance\]'
|
|
|
|
exit_code=0
|
|
for pid in "${pids[@]}"; do
|
|
wait $pid || exit_code=$?
|
|
done
|
|
exit ${exit_code}
|