X-Git-Url: https://gerrit.linuxfoundation.org/infra/gitweb?a=blobdiff_plain;f=.jjb-test%2Fexpected-xml%2Fgerrit-python-tox-verify-master;h=eaaf19016deb8a64758ff8132a6dc9c28aa74484;hb=0ea9b36c7eb7f0cc9a3e9d6ab324685ebf1a8592;hp=06ad1f182a009dec45049b81a1ec800b20c9ab0d;hpb=3bfa0428f3afa55d45d83964aaf054da137aa65c;p=releng%2Fglobal-jjb.git diff --git a/.jjb-test/expected-xml/gerrit-python-tox-verify-master b/.jjb-test/expected-xml/gerrit-python-tox-verify-master index 06ad1f18..eaaf1901 100644 --- a/.jjb-test/expected-xml/gerrit-python-tox-verify-master +++ b/.jjb-test/expected-xml/gerrit-python-tox-verify-master @@ -166,7 +166,7 @@ Example: docs,py2,py3 false - false + true false false @@ -317,14 +317,42 @@ echo "---> tox-run.sh" # DO NOT set -u as virtualenv's activate script has unbound variables set -e -o pipefail +ARCHIVE_TOX_DIR="$WORKSPACE/archives/tox" +mkdir -p "$ARCHIVE_TOX_DIR" + cd "$WORKSPACE/$TOX_DIR" -if [ -n "$TOX_ENVS" ]; -then - tox -e "$TOX_ENVS" +if [ -z "$TOX_ENVS" ]; then + TOX_ENVS=$(crudini --get tox.ini tox envlist) +fi + +run_tox() { + local log_dir="$1" + local env="$2" + + 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//,/ }) +if hash parallel 2>/dev/null; then + export -f run_tox + parallel --jobs 200% "run_tox $ARCHIVE_TOX_DIR {}" ::: ${TOX_ENVS[*]} else - tox + for env in "${TOX_ENVS[@]}"; do + run_tox "$ARCHIVE_TOX_DIR" "$env" + done +fi + +if [ -f "$ARCHIVE_TOX_DIR/failed-envs.log" ]; then + failed_envs=($(cat "$ARCHIVE_TOX_DIR/failed-envs.log")) + echo "ERROR: Failed the following builds: ${failed_envs[*]}" + exit 1 fi + +echo "Completed tox runs."