Mesa (master): ci/bare-metal: Stop fetching the git tree.
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Fri Jun 12 23:50:40 UTC 2020
Module: Mesa
Branch: master
Commit: 72fe7b98eaff90e1ca5e10691f983f5d891118be
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=72fe7b98eaff90e1ca5e10691f983f5d891118be
Author: Eric Anholt <eric at anholt.net>
Date: Mon Jun 8 15:36:16 2020 -0700
ci/bare-metal: Stop fetching the git tree.
Like for LAVA, make the tradeoff of moving the test scripts and data (55k)
into the artifacts in order to make the per-build jobs not have to pull
down the git tree (hundreds of MB when you don't hit a cached container
for your specific user, which I see happen multiple times a day in my CI
runs).
To do this, we have to be a bit more careful in some places about our
working directory potentially being dirty.
Reviewed-by: Christian Gmeiner <christian.gmeiner at gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5393>
---
.gitlab-ci.yml | 7 ++++---
.gitlab-ci/bare-metal/cros-servo.sh | 7 ++++++-
.gitlab-ci/bare-metal/fastboot.sh | 13 ++++++++-----
.gitlab-ci/bare-metal/google-power-down.sh | 2 +-
.gitlab-ci/bare-metal/google-power-up.sh | 4 ++--
.gitlab-ci/bare-metal/init.sh | 0
.gitlab-ci/prepare-artifacts.sh | 1 +
7 files changed, 22 insertions(+), 12 deletions(-)
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 3f561c3b418..f561d96a3a5 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -885,13 +885,14 @@ arm64_a630_gles2:
BM_CMDLINE: "ip=dhcp console=ttyMSM0,115200n8 root=/dev/nfs rw nfsrootdebug nfsroot=,tcp,nfsvers=4.2 init=/init"
DEQP_EXPECTED_FAILS: deqp-freedreno-a630-fails.txt
DEQP_SKIPS: deqp-freedreno-a630-skips.txt
+ GIT_STRATEGY: none
NIR_VALIDATE: 0
DEQP_EXPECTED_RENDERER: FD630
DEQP_NO_SAVE_RESULTS: ""
tags:
- google-freedreno-cheza
script:
- - .gitlab-ci/bare-metal/cros-servo.sh
+ - ./install/bare-metal/cros-servo.sh
arm64_a630_gles31:
extends: arm64_a630_gles2
@@ -993,7 +994,7 @@ arm64_a306_gles2:
DEQP_NO_SAVE_RESULTS: 1
# NIR_VALIDATE=0 left intentionally unset as a3xx is fast enough at its small testsuite.
script:
- - .gitlab-ci/bare-metal/fastboot.sh
+ - ./install/bare-metal/fastboot.sh
needs:
- arm_test-base
- arm64_test
@@ -1021,7 +1022,7 @@ arm64_a306_gles3_options:
DEQP_VER: gles3
script:
# Check that the non-constbuf UBO case works.
- - DEQP_RUN_SUFFIX=-nouboopt IR3_SHADER_DEBUG=nouboopt DEQP_CASELIST_FILTER="functional.*ubo" .gitlab-ci/bare-metal/fastboot.sh
+ - DEQP_RUN_SUFFIX=-nouboopt IR3_SHADER_DEBUG=nouboopt DEQP_CASELIST_FILTER="functional.*ubo" ./install/bare-metal/fastboot.sh
arm64_a530_gles2:
extends:
diff --git a/.gitlab-ci/bare-metal/cros-servo.sh b/.gitlab-ci/bare-metal/cros-servo.sh
index 43982e07f96..091d24695d5 100755
--- a/.gitlab-ci/bare-metal/cros-servo.sh
+++ b/.gitlab-ci/bare-metal/cros-servo.sh
@@ -4,7 +4,7 @@
# NFS and TFTP to boot.
# We're run from the root of the repo, make a helper var for our paths
-BM=$CI_PROJECT_DIR/.gitlab-ci/bare-metal
+BM=$CI_PROJECT_DIR/install/bare-metal
# Runner config checks
if [ -z "$BM_SERIAL" ]; then
@@ -47,6 +47,11 @@ fi
set -ex
+# Clear out any previous run's artifacts.
+rm -rf results/
+mkdir -p results
+find artifacts/ -name serial\*.txt | xargs rm -f
+
# Create the rootfs in the NFS directory. rm to make sure it's in a pristine
# state, since it's volume-mounted on the host.
rsync -a --delete $BM_ROOTFS/ /nfs/
diff --git a/.gitlab-ci/bare-metal/fastboot.sh b/.gitlab-ci/bare-metal/fastboot.sh
index 2b1edbac45b..2ed636f637c 100755
--- a/.gitlab-ci/bare-metal/fastboot.sh
+++ b/.gitlab-ci/bare-metal/fastboot.sh
@@ -1,6 +1,6 @@
#!/bin/bash
-BM=$CI_PROJECT_DIR/.gitlab-ci/bare-metal
+BM=$CI_PROJECT_DIR/install/bare-metal
if [ -z "$BM_SERIAL" -a -z "$BM_SERIAL_SCRIPT" ]; then
echo "Must set BM_SERIAL OR BM_SERIAL_SCRIPT in your gitlab-runner config.toml [[runners]] environment"
@@ -47,11 +47,14 @@ fi
set -ex
-# Copy the rootfs to a temporary for our setup, as I believe changes to the
-# container can end up impacting future runs.
-cp -Rp $BM_ROOTFS/ rootfs
+# Clear out any previous run's artifacts.
+rm -rf results/
+mkdir -p results
+find artifacts/ -name serial\*.txt | xargs rm -f
-. .gitlab-ci/bare-metal/rootfs-setup.sh rootfs
+# Create the rootfs in a temp dir
+rsync -a --delete $BM_ROOTFS/ rootfs/
+. $BM/rootfs-setup.sh rootfs
# Finally, pack it up into a cpio rootfs. Skip the vulkan CTS since none of
# these devices use it and it would take up space in the initrd.
diff --git a/.gitlab-ci/bare-metal/google-power-down.sh b/.gitlab-ci/bare-metal/google-power-down.sh
index ffb6b4cc6df..9aa68a70d33 100755
--- a/.gitlab-ci/bare-metal/google-power-down.sh
+++ b/.gitlab-ci/bare-metal/google-power-down.sh
@@ -7,4 +7,4 @@ if [ -z "$relay" ]; then
exit 1
fi
-$CI_PROJECT_DIR/.gitlab-ci/bare-metal/google-power-relay.py off $relay
+$CI_PROJECT_DIR/install/bare-metal/google-power-relay.py off $relay
diff --git a/.gitlab-ci/bare-metal/google-power-up.sh b/.gitlab-ci/bare-metal/google-power-up.sh
index 6f44c72b660..f0c054162a2 100755
--- a/.gitlab-ci/bare-metal/google-power-up.sh
+++ b/.gitlab-ci/bare-metal/google-power-up.sh
@@ -7,6 +7,6 @@ if [ -z "$relay" ]; then
exit 1
fi
-$CI_PROJECT_DIR/.gitlab-ci/bare-metal/google-power-relay.py off $relay
+$CI_PROJECT_DIR/install/bare-metal/google-power-relay.py off $relay
sleep 5
-$CI_PROJECT_DIR/.gitlab-ci/bare-metal/google-power-relay.py on $relay
+$CI_PROJECT_DIR/install/bare-metal/google-power-relay.py on $relay
diff --git a/.gitlab-ci/bare-metal/init.sh b/.gitlab-ci/bare-metal/init.sh
old mode 100644
new mode 100755
diff --git a/.gitlab-ci/prepare-artifacts.sh b/.gitlab-ci/prepare-artifacts.sh
index 86abacfdfd9..caeb8727160 100755
--- a/.gitlab-ci/prepare-artifacts.sh
+++ b/.gitlab-ci/prepare-artifacts.sh
@@ -23,6 +23,7 @@ find install -name \*.so -exec $STRIP {} \;
# Test runs don't pull down the git tree, so put the dEQP helper
# script and associated bits there.
cp VERSION install/
+cp -Rp .gitlab-ci/bare-metal install/
cp -Rp .gitlab-ci/deqp* install/
cp -Rp .gitlab-ci/piglit install/
cp -Rp .gitlab-ci/traces.yml install/
More information about the mesa-commit
mailing list