85b0e5bd098c41d9d3c7a78e1c94181254af3580
[mesa.git] / .gitlab-ci / prepare-artifacts.sh
1 #!/bin/bash
2
3 set -e
4 set -o xtrace
5
6 CROSS_FILE=/cross_file-"$CROSS".txt
7
8 # Delete unused bin and includes from artifacts to save space.
9 rm -rf install/bin install/include
10
11 # Strip the drivers in the artifacts to cut 80% of the artifacts size.
12 if [ -n "$CROSS" ]; then
13 STRIP=`sed -n -E "s/strip\s*=\s*'(.*)'/\1/p" "$CROSS_FILE"`
14 if [ -z "$STRIP" ]; then
15 echo "Failed to find strip command in cross file"
16 exit 1
17 fi
18 else
19 STRIP="strip"
20 fi
21 find install -name \*.so -exec $STRIP {} \;
22
23 # Test runs don't pull down the git tree, so put the dEQP helper
24 # script and associated bits there.
25 echo "$(cat VERSION) (git-$(git rev-parse HEAD | cut -b -10))" >> install/VERSION
26 cp -Rp .gitlab-ci/bare-metal install/
27 cp -Rp .gitlab-ci/deqp* install/
28 cp -Rp .gitlab-ci/piglit install/
29 cp -Rp .gitlab-ci/traces-baremetal.yml install/
30 cp -Rp .gitlab-ci/traces.yml install/
31 cp -Rp .gitlab-ci/tracie install/
32 cp -Rp .gitlab-ci/tracie-runner-gl.sh install/
33 cp -Rp .gitlab-ci/tracie-runner-vk.sh install/
34 cp -Rp .gitlab-ci/fossils.yml install/
35 cp -Rp .gitlab-ci/fossils install/
36 cp -Rp .gitlab-ci/fossilize-runner.sh install/
37 cp -Rp .gitlab-ci/deqp-runner.sh install/
38 cp -Rp .gitlab-ci/deqp-*-fails.txt install/
39 cp -Rp .gitlab-ci/deqp-*-skips.txt install/
40
41 # Tar up the install dir so that symlinks and hardlinks aren't each
42 # packed separately in the zip file.
43 mkdir -p artifacts/
44 tar -cf artifacts/install.tar install
45
46 if [ -n "$UPLOAD_FOR_LAVA" ]; then
47 # Pass needed files to the test stage
48 cp $CI_PROJECT_DIR/.gitlab-ci/generate_lava.py artifacts/.
49 cp $CI_PROJECT_DIR/.gitlab-ci/lava-deqp.yml.jinja2 artifacts/.
50 cp $CI_PROJECT_DIR/.gitlab-ci/lava-tracie.yml.jinja2 artifacts/.
51
52 gzip -c artifacts/install.tar > mesa-${DEBIAN_ARCH}.tar.gz
53 MINIO_PATH=minio-packet.freedesktop.org/artifacts/${CI_PROJECT_PATH}/${CI_PIPELINE_ID}
54 ci-fairy minio login $CI_JOB_JWT
55 ci-fairy minio cp mesa-${DEBIAN_ARCH}.tar.gz minio://${MINIO_PATH}/mesa-${DEBIAN_ARCH}.tar.gz
56 fi