Mesa (master): ci/lava: Return the run's results/ artifacts from the DUTs.

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Apr 19 17:10:39 UTC 2021


Module: Mesa
Branch: master
Commit: 7f9f3455798779fbb61ee67d6ce99da300e3da76
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7f9f3455798779fbb61ee67d6ce99da300e3da76

Author: Eric Anholt <eric at anholt.net>
Date:   Fri Apr 16 14:18:07 2021 -0700

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 at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10297>

---

 .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<test_case_id>\S*):\s+(?P<result>(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



More information about the mesa-commit mailing list