ci/lava: Return the run's results/ artifacts from the DUTs.

Finally LAVA users will be able to see deqp XMLs on failures from the
job's artifacts browser.  This replaces a couple of one-off minio uploads
in the piglit runner.

Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10297>
This commit is contained in:
Eric Anholt 2021-04-16 14:18:07 -07:00 committed by Marge Bot
parent 95b9ea85f5
commit 7f9f345579
4 changed files with 21 additions and 17 deletions

View File

@ -60,7 +60,6 @@ for var in \
MINIO_HOST \
NIR_VALIDATE \
PIGLIT_FRACTION \
PIGLIT_HTML_SUMMARY \
PIGLIT_JUNIT_RESULTS \
PIGLIT_OPTIONS \
PIGLIT_PLATFORM \

View File

@ -64,6 +64,8 @@ kernel+rootfs_armhf:
else
ARTIFACTS_URL="${ARTIFACTS_PREFIX}/${CI_PROJECT_PATH}/lava/${DISTRIBUTION_TAG}/${ARCH}"
fi
- rm -rf results
- mkdir -p results
- >
artifacts/generate_lava.py \
--template artifacts/lava.yml.jinja2 \
@ -83,9 +85,8 @@ kernel+rootfs_armhf:
--ci-node-total "${CI_NODE_TOTAL}"
- lava_job_id=`lavacli jobs submit lava.yml` || lavacli jobs submit lava.yml
- echo $lava_job_id
- rm -rf artifacts/*
- cp lava.yml artifacts/.
- lavacli jobs logs $lava_job_id | tee artifacts/lava-$lava_job_id.log
- cp lava.yml results/.
- lavacli jobs logs $lava_job_id | tee results/lava-$lava_job_id.log
- lavacli jobs show $lava_job_id
- result=`lavacli results $lava_job_id 0_mesa mesa | head -1`
- echo $result
@ -94,7 +95,11 @@ kernel+rootfs_armhf:
name: "mesa_${CI_JOB_NAME}"
when: always
paths:
- artifacts/
- results/
exclude:
- results/*.shader_cache
after_script:
- wget -q "https://minio-packet.freedesktop.org/artifacts/${CI_PROJECT_PATH}/${CI_PIPELINE_ID}/${CI_JOB_ID}/results.tar.gz" -O- | tar -xz
.lava-test:armhf:
variables:
@ -147,12 +152,9 @@ kernel+rootfs_armhf:
- meson-testing
.lava-traces-base:
after_script:
- mkdir -p artifacts
- wget -O "artifacts/junit.xml" "https://minio-packet.freedesktop.org/artifacts/${CI_PROJECT_PATH}/${CI_PIPELINE_ID}/${CI_JOB_ID}/traces/junit.xml"
artifacts:
reports:
junit: artifacts/junit.xml
junit: results/junit.xml
.lava-piglit:
variables:

View File

@ -102,6 +102,7 @@ actions:
- export PIGLIT_REPLAY_EXTRA_ARGS="--keep-image"
- export PIGLIT_REPLAY_REFERENCE_IMAGES_BASE_URL="/mesa-tracie-results/${CI_PROJECT_PATH}"
- export PIGLIT_REPLAY_ARTIFACTS_BASE_URL="/artifacts/${CI_PROJECT_PATH}/${CI_PIPELINE_ID}/${CI_JOB_ID}"
- export MINIO_ARTIFACTS_PATH="minio://${MINIO_HOST}/${PIGLIT_REPLAY_ARTIFACTS_BASE_URL}/"
- export PIGLIT_REPLAY_DESCRIPTION_FILE="/install/traces-${DRIVER_NAME}.yml"
- export PIGLIT_REPLAY_DEVICE_NAME=gl-{{ gpu_version }}
- export PIGLIT_RESULTS={{ gpu_version }}-${PIGLIT_PROFILES}
@ -109,10 +110,18 @@ actions:
- export LIBGL_DRIVERS_PATH=`pwd`/install/lib/dri
- "if sh $LAVA_TEST_SCRIPT; then
echo 'mesa: pass';
export RESULT=pass;
else
echo 'mesa: fail';
export RESULT=fail;
fi"
- "if [ -d results ]; then
tar -czf results.tar.gz results/;
ci-fairy minio login $CI_JOB_JWT;
ci-fairy minio cp results.tar.gz $MINIO_ARTIFACTS_PATH/results.tar.gz;
fi"
- "echo mesa: $RESULT"
parse:
pattern: '(?P<test_case_id>\S*):\s+(?P<result>(pass|fail))'
from: inline

View File

@ -233,13 +233,7 @@ if [ "x$PIGLIT_PROFILES" = "xreplay" ] \
__MINIO_PATH="$PIGLIT_REPLAY_ARTIFACTS_BASE_URL"
__MINIO_TRACES_PREFIX="traces"
ci-fairy minio cp "$RESULTS"/results.json.bz2 \
"minio://${MINIO_HOST}${__MINIO_PATH}/${__MINIO_TRACES_PREFIX}/results.json.bz2"
quiet replay_minio_upload_images
ci-fairy minio cp "$RESULTS"/junit.xml \
"minio://${MINIO_HOST}${__MINIO_PATH}/${__MINIO_TRACES_PREFIX}/junit.xml"
fi
if [ -n "$USE_CASELIST" ]; then