ci: Upload traces' reference and actual images to MinIO
[mesa.git] / .gitlab-ci / bare-metal / init.sh
1 #!/bin/sh
2
3 set -ex
4
5 mount -t proc none /proc
6 mount -t sysfs none /sys
7 mount -t devtmpfs none /dev || echo possibly already mounted
8 mkdir -p /dev/pts
9 mount -t devpts devpts /dev/pts
10 mount -t tmpfs tmpfs /tmp
11
12 . /set-job-env-vars.sh
13
14 # Store Mesa's disk cache under /tmp, rather than sending it out over NFS.
15 export XDG_CACHE_HOME=/tmp
16
17 echo "nameserver 8.8.8.8" > /etc/resolv.conf
18
19 # Not all DUTs have network
20 sntp -sS pool.ntp.org || true
21
22 # Overwrite traces.yml file with the baremetal version
23 cp /install/traces-baremetal.yml /install/traces.yml
24
25 # Start a little daemon to capture the first devcoredump we encounter. (They
26 # expire after 5 minutes, so we poll for them).
27 ./capture-devcoredump.sh &
28
29 if sh $BARE_METAL_TEST_SCRIPT; then
30 OK=1
31 else
32 OK=0
33 fi
34
35 # upload artifacts via webdav
36 WEBDAV=$(cat /proc/cmdline | tr " " "\n" | grep webdav | cut -d '=' -f 2 || true)
37 if [ -n "$WEBDAV" ]; then
38 find /results -type f -exec curl -T {} $WEBDAV/{} \;
39 fi
40
41 if [ $OK -eq 1 ]; then
42 echo "bare-metal result: pass"
43 else
44 echo "bare-metal result: fail"
45 fi
46
47 # Wait until the job would have timed out anyway, so we don't spew a "init
48 # exited" panic.
49 sleep 6000