aboutsummaryrefslogtreecommitdiffstats
path: root/.gitlab-ci/lava-gitlab-ci.yml
diff options
context:
space:
mode:
authorTomeu Vizoso <[email protected]>2020-03-24 12:58:43 +0100
committerMarge Bot <[email protected]>2020-03-26 09:30:48 +0000
commitb1238498805bf600292f4663fc996e0396436435 (patch)
tree2541f313e8eed9bcaabc41693d9d3ff253fb2c3e /.gitlab-ci/lava-gitlab-ci.yml
parent92f3c51560f9eb2387b1d929f694244c0b7bd577 (diff)
gitlab-ci: Serve files for LAVA via separate service
Currently, we store the kernel and ramdisk for each LAVA job in the artifacts of the job that built them. Because artifacts are stored in GCE and LAVA labs aren't, this causes a lot of egress with is expensive. To avoid this, have runners download most of the data via the (cached) container images once, and for each job upload the kernel and ramdisk to a server outside GCE. Right now we only have Collabora's runner with a local web server, so jobs that go to Baylibre's lab have been disabled. Signed-off-by: Tomeu Vizoso <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4295>
Diffstat (limited to '.gitlab-ci/lava-gitlab-ci.yml')
-rw-r--r--.gitlab-ci/lava-gitlab-ci.yml30
1 files changed, 21 insertions, 9 deletions
diff --git a/.gitlab-ci/lava-gitlab-ci.yml b/.gitlab-ci/lava-gitlab-ci.yml
index 6b98980cecb..3984070091a 100644
--- a/.gitlab-ci/lava-gitlab-ci.yml
+++ b/.gitlab-ci/lava-gitlab-ci.yml
@@ -5,13 +5,20 @@
GIT_STRATEGY: none # testing doesn't build anything from source
ENV_VARS: "DEQP_PARALLEL=6"
DEQP_VERSION: gles2
+ FILES_HOST_NAME: "mesa-ci-lava-files.freedesktop.org"
script:
- - BUILD_JOB_ID=`cat artifacts/build_job_id.txt`
+ - mkdir -p /srv/${FILES_HOST_NAME}/$CI_JOB_ID/
+ - cp /lava-files/${KERNEL_IMAGE_NAME} /srv/${FILES_HOST_NAME}/$CI_JOB_ID/.
+ - cp /lava-files/${DEVICE_TYPE}.dtb /srv/${FILES_HOST_NAME}/$CI_JOB_ID/.
+ - tar -C /lava-files/rootfs-${ARCH} -xf artifacts/install.tar
+ - pushd /lava-files/rootfs-${ARCH}
+ - find -H | cpio -H newc -o | gzip -c - > /srv/${FILES_HOST_NAME}/$CI_JOB_ID/lava-rootfs-${ARCH}.cpio.gz
+ - popd
- >
artifacts/generate_lava.py \
--template artifacts/lava-deqp.yml.jinja2 \
--pipeline-info "$CI_PIPELINE_URL on $CI_COMMIT_REF_NAME ${CI_NODE_INDEX}/${CI_NODE_TOTAL}" \
- --base-artifacts-url $CI_PROJECT_URL/-/jobs/$BUILD_JOB_ID/artifacts/raw/artifacts \
+ --base-artifacts-url https://${FILES_HOST_NAME}/$CI_JOB_ID \
--device-type ${DEVICE_TYPE} \
--env-vars "${ENV_VARS}" \
--arch ${ARCH} \
@@ -23,7 +30,7 @@
--lava-tags "${LAVA_TAGS}" \
--ci-node-index "${CI_NODE_INDEX}" \
--ci-node-total "${CI_NODE_TOTAL}"
- - lava_job_id=`lavacli jobs submit lava-deqp.yml`
+ - lava_job_id=`lavacli jobs submit lava-deqp.yml` || lavacli jobs submit lava-deqp.yml
- echo $lava_job_id
- rm -rf artifacts/*
- cp lava-deqp.yml artifacts/.
@@ -32,6 +39,8 @@
- result=`lavacli results $lava_job_id 0_deqp deqp | head -1`
- echo $result
- '[[ "$result" == "pass" ]]'
+ after_script:
+ - rm -rf /srv/${FILES_HOST_NAME}/$CI_JOB_ID/
artifacts:
name: "mesa_${CI_JOB_NAME}"
when: always
@@ -75,7 +84,7 @@ panfrost-t720-gles2:arm64:
GPU_VERSION: panfrost-t720
ENV_VARS: "PAN_MESA_DEBUG=gles3 DEQP_PARALLEL=6"
tags:
- - lava-sun50i-h6-pine-h64
+ - mesa-ci-aarch64-lava-collabora
panfrost-t760-gles2:armhf:
extends:
@@ -88,7 +97,7 @@ panfrost-t760-gles2:armhf:
KERNEL_IMAGE_TYPE: ""
ENV_VARS: "PAN_MESA_DEBUG=gles3 DEQP_PARALLEL=6"
tags:
- - lava-rk3288-veyron-jaq
+ - mesa-ci-aarch64-lava-collabora
panfrost-t860-gles2:arm64:
extends:
@@ -101,7 +110,7 @@ panfrost-t860-gles2:arm64:
KERNEL_IMAGE_TYPE: ""
ENV_VARS: "PAN_MESA_DEBUG=gles3 DEQP_PARALLEL=6"
tags:
- - lava-rk3399-gru-kevin
+ - mesa-ci-aarch64-lava-collabora
panfrost-t860-gles3:arm64:
extends:
@@ -117,9 +126,9 @@ panfrost-t860-gles3:arm64:
CI_NODE_INDEX: 1
CI_NODE_TOTAL: 5
tags:
- - lava-rk3399-gru-kevin
+ - mesa-ci-aarch64-lava-collabora
-panfrost-t820-gles2:arm64:
+.panfrost-t820-gles2:arm64:
extends:
- .lava-test:arm64
- .panfrost-rules
@@ -128,6 +137,7 @@ panfrost-t820-gles2:arm64:
GPU_VERSION: panfrost-t820
LAVA_TAGS: panfrost
ENV_VARS: "PAN_MESA_DEBUG=gles3 DEQP_PARALLEL=6"
+ FILES_HOST_NAME: "lava-files.baylibre.com"
tags:
- lava-meson-gxm-khadas-vim2
@@ -140,10 +150,11 @@ panfrost-t820-gles2:arm64:
DEVICE_TYPE: sun8i-h3-libretech-all-h3-cc
GPU_VERSION: lima
ENV_VARS: "DEQP_PARALLEL=3"
+ FILES_HOST_NAME: "lava-files.baylibre.com"
tags:
- lava-sun8i-h3-libretech-all-h3-cc
-lima-mali450-test:arm64:
+.lima-mali450-test:arm64:
extends:
- .lava-test:arm64
- .lima-rules
@@ -151,5 +162,6 @@ lima-mali450-test:arm64:
DEVICE_TYPE: meson-gxl-s905x-libretech-cc
GPU_VERSION: lima
ENV_VARS: "DEQP_PARALLEL=6"
+ FILES_HOST_NAME: "lava-files.baylibre.com"
tags:
- lava-meson-gxl-s905x-libretech-cc