#!/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=() run-sonobuoy() { output+=(${log_output}) E2E_LOG_OUTPUT=${log_output} ./scripts/sonobuoy ${@} & pids+=($!) } log_output=${OUTPUT}/e2e-STATUS-${ARCH}-parallel.log \ run-sonobuoy --e2e-focus='\[Conformance\]' --e2e-skip='\[Serial\]' --e2e-parallel=y sleep 60 log_output=${OUTPUT}/e2e-STATUS-${ARCH}-serial.log \ run-sonobuoy --e2e-focus='\[Serial\].*\[Conformance\]' 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}/*; do if [ -f ${log} ]; then echo echo "#- Start: ${log}" cat ${log} echo "#- End: ${log}" echo fi done echo "#- Finish: logs for sonobuoy run pid ${pid}" echo done } cleanup() { exit_status=$? set +e +x wait echo "Finished the tests!" if [ "${exit_status}" -ne "0" ]; then show-logs fi exit ${exit_status} } trap cleanup EXIT for pid in "${pids[@]}"; do wait $pid || exit $? done