ci/bare-metal: Capture the first devcoredump a job produces.
[mesa.git] / .gitlab-ci / bare-metal / rootfs-setup.sh
1 #!/bin/bash
2
3 rootfs_dst=$1
4
5 mkdir -p $rootfs_dst/results
6
7 # Set up the init script that brings up the system.
8 cp $BM/init.sh $rootfs_dst/init
9
10 cp $BM/capture-devcoredump.sh $rootfs_dst/
11
12 set +x
13 # Pass through relevant env vars from the gitlab job to the baremetal init script
14 touch $rootfs_dst/set-job-env-vars.sh
15 chmod +x $rootfs_dst/set-job-env-vars.sh
16 for var in \
17 BARE_METAL_TEST_SCRIPT \
18 CI_COMMIT_BRANCH \
19 CI_COMMIT_TITLE \
20 CI_JOB_ID \
21 CI_JOB_URL \
22 CI_MERGE_REQUEST_SOURCE_BRANCH_NAME \
23 CI_MERGE_REQUEST_TITLE \
24 CI_NODE_INDEX \
25 CI_NODE_TOTAL \
26 CI_PIPELINE_ID \
27 CI_RUNNER_DESCRIPTION \
28 DEQP_CASELIST_FILTER \
29 DEQP_EXPECTED_FAILS \
30 DEQP_EXPECTED_RENDERER \
31 DEQP_NO_SAVE_RESULTS \
32 DEQP_PARALLEL \
33 DEQP_RUN_SUFFIX \
34 DEQP_SKIPS \
35 DEQP_VER \
36 DEVICE_NAME \
37 FD_MESA_DEBUG \
38 FLAKES_CHANNEL \
39 IR3_SHADER_DEBUG \
40 MESA_GL_VERSION_OVERRIDE \
41 MESA_GLSL_VERSION_OVERRIDE \
42 MESA_GLES_VERSION_OVERRIDE \
43 NIR_VALIDATE \
44 TRACIE_NO_UNIT_TESTS \
45 TU_DEBUG \
46 VK_DRIVER \
47 ; do
48 val=`echo ${!var} | sed 's|"||g'`
49 if [ -n "$val" ]; then
50 echo "export $var=\"${val}\"" >> $rootfs_dst/set-job-env-vars.sh
51 fi
52 done
53 echo "Variables passed through:"
54 cat $rootfs_dst/set-job-env-vars.sh
55 set -x
56
57 # Add the Mesa drivers we built, and make a consistent symlink to them.
58 mkdir -p $rootfs_dst/$CI_PROJECT_DIR
59 tar -C $rootfs_dst/$CI_PROJECT_DIR/ -xf $CI_PROJECT_DIR/artifacts/install.tar
60 ln -sf $CI_PROJECT_DIR/install $rootfs_dst/install