1#!/usr/bin/env bash 2# shellcheck disable=SC2086 # we want word splitting 3 4# When changing this file, you need to bump the following 5# .gitlab-ci/image-tags.yml tags: 6# DEBIAN_BASE_TAG 7# DEBIAN_X86_64_TEST_ANDROID_TAG 8# KERNEL_ROOTFS_TAG 9 10set -ex 11 12DEQP_RUNNER_VERSION=0.18.0 13 14if [ -n "${DEQP_RUNNER_GIT_TAG}${DEQP_RUNNER_GIT_REV}" ]; then 15 # Build and install from source 16 DEQP_RUNNER_CARGO_ARGS="--git ${DEQP_RUNNER_GIT_URL:-https://gitlab.freedesktop.org/anholt/deqp-runner.git}" 17 18 if [ -n "${DEQP_RUNNER_GIT_TAG}" ]; then 19 DEQP_RUNNER_CARGO_ARGS="--tag ${DEQP_RUNNER_GIT_TAG} ${DEQP_RUNNER_CARGO_ARGS}" 20 else 21 DEQP_RUNNER_CARGO_ARGS="--rev ${DEQP_RUNNER_GIT_REV} ${DEQP_RUNNER_CARGO_ARGS}" 22 fi 23 24 DEQP_RUNNER_CARGO_ARGS="${DEQP_RUNNER_CARGO_ARGS} ${EXTRA_CARGO_ARGS}" 25else 26 # Install from package registry 27 DEQP_RUNNER_CARGO_ARGS="--version ${DEQP_RUNNER_VERSION} ${EXTRA_CARGO_ARGS} -- deqp-runner" 28fi 29 30if [ -z "$ANDROID_NDK_HOME" ]; then 31 cargo install --locked \ 32 -j ${FDO_CI_CONCURRENT:-4} \ 33 --root /usr/local \ 34 ${DEQP_RUNNER_CARGO_ARGS} 35else 36 mkdir -p /deqp-runner 37 pushd /deqp-runner 38 git clone --branch v${DEQP_RUNNER_VERSION} --depth 1 https://gitlab.freedesktop.org/anholt/deqp-runner.git deqp-runner-git 39 pushd deqp-runner-git 40 41 cargo install --locked \ 42 -j ${FDO_CI_CONCURRENT:-4} \ 43 --root /usr/local --version 2.10.0 \ 44 cargo-ndk 45 46 rustup target add x86_64-linux-android 47 RUSTFLAGS='-C target-feature=+crt-static' cargo ndk --target x86_64-linux-android build 48 49 mv target/x86_64-linux-android/debug/deqp-runner /deqp-runner 50 51 cargo uninstall --locked \ 52 --root /usr/local \ 53 cargo-ndk 54 55 popd 56 rm -rf deqp-runner-git 57 popd 58fi 59 60# remove unused test runners to shrink images for the Mesa CI build (not kernel, 61# which chooses its own deqp branch) 62if [ -z "${DEQP_RUNNER_GIT_TAG}${DEQP_RUNNER_GIT_REV}" ]; then 63 rm -f /usr/local/bin/igt-runner 64fi 65