| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- #!/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}
|