• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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