gitlab-ci: fix testing whether a variable with a given name is set or not
[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_JWT \
21 CI_JOB_ID \
22 CI_JOB_URL \
23 CI_MERGE_REQUEST_SOURCE_BRANCH_NAME \
24 CI_MERGE_REQUEST_TITLE \
25 CI_NODE_INDEX \
26 CI_NODE_TOTAL \
27 CI_PIPELINE_ID \
28 CI_PROJECT_PATH \
29 CI_RUNNER_DESCRIPTION \
30 DEQP_CASELIST_FILTER \
31 DEQP_EXPECTED_FAILS \
32 DEQP_EXPECTED_RENDERER \
33 DEQP_NO_SAVE_RESULTS \
34 DEQP_PARALLEL \
35 DEQP_RUN_SUFFIX \
36 DEQP_SKIPS \
37 DEQP_VER \
38 DEVICE_NAME \
39 DRIVER_NAME \
40 FD_MESA_DEBUG \
41 FLAKES_CHANNEL \
42 IR3_SHADER_DEBUG \
43 MESA_GL_VERSION_OVERRIDE \
44 MESA_GLSL_VERSION_OVERRIDE \
45 MESA_GLES_VERSION_OVERRIDE \
46 NIR_VALIDATE \
47 TRACIE_NO_UNIT_TESTS \
48 TRACIE_UPLOAD_TO_MINIO \
49 TU_DEBUG \
50 VK_DRIVER \
51 ; do
52 val=`echo ${!var} | sed 's|"||g'`
53 if [ -n "${!var+x}" ]; then
54 echo "export $var=\"${val}\"" >> $rootfs_dst/set-job-env-vars.sh
55 fi
56 done
57 echo "Variables passed through:"
58 cat $rootfs_dst/set-job-env-vars.sh
59 set -x
60
61 # Add the Mesa drivers we built, and make a consistent symlink to them.
62 mkdir -p $rootfs_dst/$CI_PROJECT_DIR
63 tar -C $rootfs_dst/$CI_PROJECT_DIR/ -xf $CI_PROJECT_DIR/artifacts/install.tar
64 ln -sf $CI_PROJECT_DIR/install $rootfs_dst/install