From 7f9f3455798779fbb61ee67d6ce99da300e3da76 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 16 Apr 2021 14:18:07 -0700 Subject: [PATCH] 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 Part-of: --- .gitlab-ci/bare-metal/rootfs-setup.sh | 1 - .gitlab-ci/lava-gitlab-ci.yml | 18 ++++++++++-------- .gitlab-ci/lava.yml.jinja2 | 13 +++++++++++-- .gitlab-ci/piglit/run.sh | 6 ------ 4 files changed, 21 insertions(+), 17 deletions(-) diff --git a/.gitlab-ci/bare-metal/rootfs-setup.sh b/.gitlab-ci/bare-metal/rootfs-setup.sh index 281cee21203..38f0b2a60bb 100644 --- a/.gitlab-ci/bare-metal/rootfs-setup.sh +++ b/.gitlab-ci/bare-metal/rootfs-setup.sh @@ -60,7 +60,6 @@ for var in \ MINIO_HOST \ NIR_VALIDATE \ PIGLIT_FRACTION \ - PIGLIT_HTML_SUMMARY \ PIGLIT_JUNIT_RESULTS \ PIGLIT_OPTIONS \ PIGLIT_PLATFORM \ diff --git a/.gitlab-ci/lava-gitlab-ci.yml b/.gitlab-ci/lava-gitlab-ci.yml index d4c77cf4609..0a384d74da4 100644 --- a/.gitlab-ci/lava-gitlab-ci.yml +++ b/.gitlab-ci/lava-gitlab-ci.yml @@ -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: diff --git a/.gitlab-ci/lava.yml.jinja2 b/.gitlab-ci/lava.yml.jinja2 index a36c1392447..9ccf46f8f7f 100644 --- a/.gitlab-ci/lava.yml.jinja2 +++ b/.gitlab-ci/lava.yml.jinja2 @@ -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\S*):\s+(?P(pass|fail))' from: inline diff --git a/.gitlab-ci/piglit/run.sh b/.gitlab-ci/piglit/run.sh index 116f363d07d..ebe22c3eb13 100755 --- a/.gitlab-ci/piglit/run.sh +++ b/.gitlab-ci/piglit/run.sh @@ -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