ci/bare-metal: Capture the first devcoredump a job produces.
Connor recently ran into an issue where the chezas were hanging where his GPUs weren't, and was blocked on getting some feedback on what was happening. A devcoredump will help non-cheza-having devs debug (or hopefully with other intermittent fails). Closes: #3187 Reviewed-by: Rob Clark <robdclark@chromium.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6036>
This commit is contained in:
14
.gitlab-ci/bare-metal/capture-devcoredump.sh
Executable file
14
.gitlab-ci/bare-metal/capture-devcoredump.sh
Executable file
@@ -0,0 +1,14 @@
|
||||
#!/bin/sh
|
||||
|
||||
while true; do
|
||||
devcds=`find /sys/devices/virtual/devcoredump/ -name data`
|
||||
for i in $devcds; do
|
||||
echo "Found a devcoredump at $i."
|
||||
if cp $i /results/first.devcore; then
|
||||
echo 1 > $i
|
||||
echo "Saved to the job artifacts at /first.devcore"
|
||||
exit 0
|
||||
fi
|
||||
done
|
||||
sleep 10
|
||||
done
|
@@ -19,6 +19,10 @@ echo "nameserver 8.8.8.8" > /etc/resolv.conf
|
||||
# Overwrite traces.yml file with the baremetal version
|
||||
cp /install/traces-baremetal.yml /install/traces.yml
|
||||
|
||||
# Start a little daemon to capture the first devcoredump we encounter. (They
|
||||
# expire after 5 minutes, so we poll for them).
|
||||
./capture-devcoredump.sh &
|
||||
|
||||
if sh $BARE_METAL_TEST_SCRIPT; then
|
||||
OK=1
|
||||
else
|
||||
|
@@ -7,6 +7,8 @@ mkdir -p $rootfs_dst/results
|
||||
# Set up the init script that brings up the system.
|
||||
cp $BM/init.sh $rootfs_dst/init
|
||||
|
||||
cp $BM/capture-devcoredump.sh $rootfs_dst/
|
||||
|
||||
set +x
|
||||
# Pass through relevant env vars from the gitlab job to the baremetal init script
|
||||
touch $rootfs_dst/set-job-env-vars.sh
|
||||
|
Reference in New Issue
Block a user