xref: /aosp_15_r20/external/virglrenderer/ci/run_ci_locally.sh (revision bbecb9d118dfdb95f99bd754f8fa9be01f189df3)
1*bbecb9d1SAndroid Build Coastguard Worker#!/bin/bash
2*bbecb9d1SAndroid Build Coastguard Worker
3*bbecb9d1SAndroid Build Coastguard Worker# Setup paths and import util functions
4*bbecb9d1SAndroid Build Coastguard Worker. $(dirname $(readlink -f "$0"))/util.sh
5*bbecb9d1SAndroid Build Coastguard Worker
6*bbecb9d1SAndroid Build Coastguard Workercd ${VIRGL_PATH}
7*bbecb9d1SAndroid Build Coastguard Worker
8*bbecb9d1SAndroid Build Coastguard WorkerDOCKER_DRIVER=overlay2
9*bbecb9d1SAndroid Build Coastguard WorkerDOCKER_IMAGE=${DOCKER_IMAGE:-registry.freedesktop.org/virgl/virglrenderer/debian/bullseye:2021-04-15}
10*bbecb9d1SAndroid Build Coastguard Worker
11*bbecb9d1SAndroid Build Coastguard Workerif [[ -z $NUM_THREADS ]] ; then
12*bbecb9d1SAndroid Build Coastguard Worker    # If not forced use slightly less than half of available threads
13*bbecb9d1SAndroid Build Coastguard Worker    NUM_THREADS=$(expr $(expr $(nproc) + 2) / 3)
14*bbecb9d1SAndroid Build Coastguard Workerfi
15*bbecb9d1SAndroid Build Coastguard Worker
16*bbecb9d1SAndroid Build Coastguard Worker# When running the erhm, CI, locally,
17*bbecb9d1SAndroid Build Coastguard Worker# do use HW based backends, which
18*bbecb9d1SAndroid Build Coastguard Worker# may introduce variabity.
19*bbecb9d1SAndroid Build Coastguard WorkerRENDER_DEVICE=/dev/dri/renderD128
20*bbecb9d1SAndroid Build Coastguard Worker
21*bbecb9d1SAndroid Build Coastguard Workerif test $NUM_THREADS -gt 0; then THREAD_CONFIG="-e NUM_THREADS=$NUM_THREADS"; fi
22*bbecb9d1SAndroid Build Coastguard Workerif test -e "$RENDER_DEVICE"; then RD_CONFIG="--device=$RENDER_DEVICE -e RENDER_DEVICE=$RENDER_DEVICE"; fi
23*bbecb9d1SAndroid Build Coastguard Workerif test -e "$MESA_PATH"; then LOCAL_MESA="-v "$MESA_PATH":/local_mesa -e LOCAL_MESA=/local_mesa"; fi
24*bbecb9d1SAndroid Build Coastguard Workerif test -e "$VIRGL_PATH"; then LOCAL_VIRGL="-v "$VIRGL_PATH":/virglrenderer -e LOCAL_VIRGL=/virglrenderer"; fi
25*bbecb9d1SAndroid Build Coastguard Worker
26*bbecb9d1SAndroid Build Coastguard Workerecho THREAD_CONFIG=$THREAD_CONFIG
27*bbecb9d1SAndroid Build Coastguard Workerecho RD_CONFIG=$RD_CONFIG
28*bbecb9d1SAndroid Build Coastguard Workerecho LOCAL_MESA=$LOCAL_MESA
29*bbecb9d1SAndroid Build Coastguard Workerecho LOCAL_VIRGL=$LOCAL_VIRGL
30*bbecb9d1SAndroid Build Coastguard Worker
31*bbecb9d1SAndroid Build Coastguard Workerrm -rf $VIRGL_PATH/results
32*bbecb9d1SAndroid Build Coastguard Workermkdir -p $VIRGL_PATH/results
33*bbecb9d1SAndroid Build Coastguard Worker
34*bbecb9d1SAndroid Build Coastguard Workertime docker run \
35*bbecb9d1SAndroid Build Coastguard Worker     -it \
36*bbecb9d1SAndroid Build Coastguard Worker     --ulimit core=99999999999:99999999999 \
37*bbecb9d1SAndroid Build Coastguard Worker     $THREAD_CONFIG \
38*bbecb9d1SAndroid Build Coastguard Worker     $RD_CONFIG \
39*bbecb9d1SAndroid Build Coastguard Worker     $LOCAL_MESA \
40*bbecb9d1SAndroid Build Coastguard Worker     $LOCAL_VIRGL \
41*bbecb9d1SAndroid Build Coastguard Worker     $DOCKER_IMAGE \
42*bbecb9d1SAndroid Build Coastguard Worker     bash -c "/virglrenderer/ci/run_tests.sh --make-check-meson --deqp-gl-gl-tests --deqp-gl-gles-tests --deqp-gles-gl-tests --deqp-gles-gles-tests  --piglit-gl --piglit-gles" 2>&1 | tee results/log.txt
43