75 lines
2.3 KiB
Bash
75 lines
2.3 KiB
Bash
#!/bin/bash
|
|
# SPDX-License-Identifier: MIT
|
|
|
|
set -ex
|
|
|
|
function generate_testlist {
|
|
set +x
|
|
while read -r line; do
|
|
if [ "$line" = "TESTLIST" ] || [ "$line" = "END TESTLIST" ]; then
|
|
continue
|
|
fi
|
|
|
|
tests=$(echo "$line" | tr ' ' '\n')
|
|
|
|
for test in $tests; do
|
|
output=$(/igt/libexec/igt-gpu-tools/"$test" --list-subtests || true)
|
|
|
|
if [ -z "$output" ]; then
|
|
echo "$test"
|
|
else
|
|
echo "$output" | while read -r subtest; do
|
|
echo "$test@$subtest"
|
|
done
|
|
fi
|
|
done
|
|
done < /igt/libexec/igt-gpu-tools/test-list.txt > /igt/libexec/igt-gpu-tools/ci-testlist.txt
|
|
set -x
|
|
}
|
|
|
|
git clone https://gitlab.freedesktop.org/drm/igt-gpu-tools.git --single-branch --no-checkout
|
|
cd igt-gpu-tools
|
|
git checkout $IGT_VERSION
|
|
|
|
if [[ "$KERNEL_ARCH" = "arm" ]]; then
|
|
. ../.gitlab-ci/container/create-cross-file.sh armhf
|
|
EXTRA_MESON_ARGS="--cross-file /cross_file-armhf.txt"
|
|
fi
|
|
|
|
MESON_OPTIONS="-Doverlay=disabled \
|
|
-Dchamelium=disabled \
|
|
-Dvalgrind=disabled \
|
|
-Dman=enabled \
|
|
-Dtests=enabled \
|
|
-Drunner=enabled \
|
|
-Dlibunwind=enabled \
|
|
-Dprefix=/igt"
|
|
|
|
if [[ "$KERNEL_ARCH" = "arm64" ]] || [[ "$KERNEL_ARCH" = "arm" ]]; then
|
|
MESON_OPTIONS="$MESON_OPTIONS -Dxe_driver=disabled"
|
|
fi
|
|
|
|
mkdir -p /igt
|
|
meson build $MESON_OPTIONS $EXTRA_MESON_ARGS
|
|
ninja -C build -j${FDO_CI_CONCURRENT:-4} || ninja -C build -j 1
|
|
ninja -C build install
|
|
|
|
if [[ "$KERNEL_ARCH" = "arm64" ]]; then
|
|
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/igt/lib/aarch64-linux-gnu
|
|
elif [[ "$KERNEL_ARCH" = "arm" ]]; then
|
|
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/igt/lib
|
|
else
|
|
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/igt/lib64
|
|
fi
|
|
|
|
echo "Generating ci-testlist.txt"
|
|
generate_testlist
|
|
|
|
mkdir -p artifacts/
|
|
tar -cf artifacts/igt.tar /igt
|
|
|
|
# Pass needed files to the test stage
|
|
S3_ARTIFACT_NAME="igt.tar.gz"
|
|
gzip -c artifacts/igt.tar > ${S3_ARTIFACT_NAME}
|
|
ci-fairy s3cp --token-file "${S3_JWT_FILE}" ${S3_ARTIFACT_NAME} https://${PIPELINE_ARTIFACTS_BASE}/${KERNEL_ARCH}/${S3_ARTIFACT_NAME}
|