X-Git-Url: https://gerrit.linuxfoundation.org/infra/gitweb?a=blobdiff_plain;ds=sidebyside;f=shell%2Ftox-run.sh;h=e8172b2bebdae9e5d1bdf4b84f98d943db83b93b;hb=fec0bb3c754c65bf9b9baec17563a6590c9f27c2;hp=e24e9740ee99f691f698c7fb5db7a84c5b7af67f;hpb=56497ce8f87463a6243bd3fb0b060fce99d58e38;p=releng%2Fglobal-jjb.git diff --git a/shell/tox-run.sh b/shell/tox-run.sh index e24e9740..e8172b2b 100644 --- a/shell/tox-run.sh +++ b/shell/tox-run.sh @@ -27,13 +27,17 @@ run_tox() { local log_dir="$1" local env="$2" + # Sleep a random 10 second interval to workaround tox sdist + # conflicts due to building in the same dist directory. + sleep $[ ( $RANDOM % 10 ) + 1 ]s + echo "-----> Running tox $env" if ! tox -e $env > "$log_dir/tox-$env.log"; then echo "$env" >> "$log_dir/failed-envs.log" fi } -TOX_ENVS=(${TOX_ENVS//,/ }) +IFS=" " read -r -a TOX_ENVS <<< "${TOX_ENVS//,/ }" if hash parallel 2>/dev/null; then export -f run_tox parallel --jobs 200% "run_tox $ARCHIVE_TOX_DIR {}" ::: ${TOX_ENVS[*]} @@ -44,7 +48,11 @@ else fi if [ -f "$ARCHIVE_TOX_DIR/failed-envs.log" ]; then - failed_envs=($(cat "$ARCHIVE_TOX_DIR/failed-envs.log")) + mapfile -t failed_envs < <(cat "$ARCHIVE_TOX_DIR/failed-envs.log") + for e in "${failed_envs[@]}"; do + echo "cat $ARCHIVE_TOX_DIR/tox-$e.log" + cat "$ARCHIVE_TOX_DIR/tox-$e.log" + done echo "ERROR: Failed the following builds: ${failed_envs[*]}" exit 1 fi