aboutsummaryrefslogtreecommitdiffstats
path: root/.gitlab-ci/prepare-artifacts.sh
diff options
context:
space:
mode:
authorTomeu Vizoso <[email protected]>2019-12-17 11:50:14 +0100
committerMarge Bot <[email protected]>2020-01-14 13:17:24 +0000
commit22d976454f4e50142116f4544c0bbf11134ce991 (patch)
tree2edd3c2a71450d44149faac986ef4d9148e7619a /.gitlab-ci/prepare-artifacts.sh
parentf978e0e516c11df19573662844e2b39d89276813 (diff)
gitlab-ci: Consolidate container and build stages for LAVA
Use the normal build job to also prepare the artifacts for LAVA jobs. For that, the build container needs to also build the test suites, kernel, ramdisk, etc. Then the build job will place the just-built Mesa in the ramdisk and the test job can generate a LAVA job and point to those artifacts. Signed-off-by: Tomeu Vizoso <[email protected]> Acked-by: Alyssa Rosenzweig <[email protected]> Reviewed-by: Daniel Stone <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3295> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3295>
Diffstat (limited to '.gitlab-ci/prepare-artifacts.sh')
-rwxr-xr-x.gitlab-ci/prepare-artifacts.sh29
1 files changed, 29 insertions, 0 deletions
diff --git a/.gitlab-ci/prepare-artifacts.sh b/.gitlab-ci/prepare-artifacts.sh
index 9866a9242c3..b1424b12102 100755
--- a/.gitlab-ci/prepare-artifacts.sh
+++ b/.gitlab-ci/prepare-artifacts.sh
@@ -3,6 +3,8 @@
set -e
set -o xtrace
+CROSS_FILE=/cross_file-"$CROSS".txt
+
# Delete unused bin and includes from artifacts to save space.
rm -rf install/bin install/include
@@ -28,3 +30,30 @@ cp -Rp .gitlab-ci/piglit artifacts/
# Tar up the install dir so that symlinks and hardlinks aren't each
# packed separately in the zip file.
tar -cf artifacts/install.tar install
+
+# If the container has LAVA stuff, prepare the artifacts for LAVA jobs
+if [ -d /lava-files ]; then
+ # Copy kernel and device trees for LAVA
+ cp /lava-files/*Image artifacts/.
+ cp /lava-files/*.dtb artifacts/.
+
+ # Pack ramdisk for LAVA
+ mkdir -p /lava-files/rootfs-${CROSS:-arm64}/mesa
+ cp -a install/* /lava-files/rootfs-${CROSS:-arm64}/mesa/.
+
+ cp .gitlab-ci/deqp-runner.sh /lava-files/rootfs-${CROSS:-arm64}/deqp/.
+ cp .gitlab-ci/deqp-*-fails.txt /lava-files/rootfs-${CROSS:-arm64}/deqp/.
+ cp .gitlab-ci/deqp-*-skips.txt /lava-files/rootfs-${CROSS:-arm64}/deqp/.
+ find /lava-files/rootfs-${CROSS:-arm64}/ -type f -printf "%s\t%i\t%p\n" | sort -n | tail -100
+
+ pushd /lava-files/rootfs-${CROSS:-arm64}/
+ find -H | cpio -H newc -o | gzip -c - > $CI_PROJECT_DIR/artifacts/lava-rootfs-${CROSS:-arm64}.cpio.gz
+ popd
+
+ # Store job ID so the test stage can build URLs to the artifacts
+ echo $CI_JOB_ID > artifacts/build_job_id.txt
+
+ # Pass needed files to the test stage
+ cp $CI_PROJECT_DIR/.gitlab-ci/generate_lava.py artifacts/.
+ cp $CI_PROJECT_DIR/.gitlab-ci/lava-deqp.yml.jinja2 artifacts/.
+fi