ci/deqp: Allow specifying the caselist fraction separate from CI_NODE_INDEX.

To increase our VK coverage on a630, we want to have two jobs in parallel,
but we still can't hit full coverage so we need the fractional setting to
be separate from gitlab CI's flags for setting up parallel jobs.

Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6971>
This commit is contained in:
Eric Anholt 2020-11-06 15:55:24 -08:00 committed by Marge Bot
parent 2998a0b055
commit 6bc35c00e2
5 changed files with 18 additions and 18 deletions

View File

@ -1288,8 +1288,7 @@ arm64_a630_vk:
extends: arm64_a630_gles2 extends: arm64_a630_gles2
variables: variables:
DEQP_VER: vk DEQP_VER: vk
CI_NODE_INDEX: 1 DEQP_FRACTION: 50
CI_NODE_TOTAL: 50
VK_DRIVER: freedreno VK_DRIVER: freedreno
# Force binning in the main run, which makes sure we render at # Force binning in the main run, which makes sure we render at
# least 2 bins. This is the path that impacts the most different # least 2 bins. This is the path that impacts the most different
@ -1304,8 +1303,7 @@ arm64_a630_vk_sysmem:
extends: extends:
- arm64_a630_vk - arm64_a630_vk
variables: variables:
CI_NODE_INDEX: 1 DEQP_FRACTION: 10
CI_NODE_TOTAL: 10
DEQP_CASELIST_FILTER: "dEQP-VK.renderpass.*" DEQP_CASELIST_FILTER: "dEQP-VK.renderpass.*"
DEQP_EXPECTED_FAILS: deqp-freedreno-a630-bypass-fails.txt DEQP_EXPECTED_FAILS: deqp-freedreno-a630-bypass-fails.txt
TU_DEBUG: sysmem TU_DEBUG: sysmem
@ -1359,8 +1357,7 @@ arm64_a306_gles3:
variables: variables:
DEQP_VER: gles3 DEQP_VER: gles3
DEQP_PARALLEL: 1 DEQP_PARALLEL: 1
CI_NODE_INDEX: 1 DEQP_FRACTION: 25
CI_NODE_TOTAL: 25
# Fractional runs with debug options. Note that since we're not # Fractional runs with debug options. Note that since we're not
# hitting the iommu faults, we can run in parallel (derive from gles2, not gles3). # hitting the iommu faults, we can run in parallel (derive from gles2, not gles3).
@ -1398,16 +1395,14 @@ arm64_a530_gles3:
variables: variables:
DEQP_VER: gles3 DEQP_VER: gles3
DEQP_PARALLEL: 1 DEQP_PARALLEL: 1
CI_NODE_INDEX: 1 DEQP_FRACTION: 40
CI_NODE_TOTAL: 40
arm64_a530_gles31: arm64_a530_gles31:
extends: extends:
- arm64_a530_gles3 - arm64_a530_gles3
variables: variables:
DEQP_VER: gles31 DEQP_VER: gles31
CI_NODE_INDEX: 1 DEQP_FRACTION: 10
CI_NODE_TOTAL: 10
# RADV CI # RADV CI
.test-radv: .test-radv:

View File

@ -11,8 +11,7 @@ EXIT=0
if ! env \ if ! env \
DEQP_RESULTS_DIR=results/gmem \ DEQP_RESULTS_DIR=results/gmem \
DEQP_VER=gles31 \ DEQP_VER=gles31 \
CI_NODE_INDEX=1 \ DEQP_FRACTION=5 \
CI_NODE_TOTAL=5 \
FD_MESA_DEBUG=nobypass \ FD_MESA_DEBUG=nobypass \
/install/deqp-runner.sh; then /install/deqp-runner.sh; then
EXIT=1 EXIT=1
@ -22,8 +21,7 @@ fi
if ! env \ if ! env \
DEQP_RESULTS_DIR=results/bypass \ DEQP_RESULTS_DIR=results/bypass \
DEQP_VER=gles31 \ DEQP_VER=gles31 \
CI_NODE_INDEX=1 \ DEQP_FRACTION=5 \
CI_NODE_TOTAL=5 \
FD_MESA_DEBUG=nogmem \ FD_MESA_DEBUG=nogmem \
DEQP_EXPECTED_FAILS=deqp-freedreno-a630-bypass-fails.txt \ DEQP_EXPECTED_FAILS=deqp-freedreno-a630-bypass-fails.txt \
/install/deqp-runner.sh; then /install/deqp-runner.sh; then

View File

@ -31,6 +31,7 @@ for var in \
DEQP_CONFIG \ DEQP_CONFIG \
DEQP_EXPECTED_FAILS \ DEQP_EXPECTED_FAILS \
DEQP_EXPECTED_RENDERER \ DEQP_EXPECTED_RENDERER \
DEQP_FRACTION \
DEQP_HEIGHT \ DEQP_HEIGHT \
DEQP_NO_SAVE_RESULTS \ DEQP_NO_SAVE_RESULTS \
DEQP_FLAKES \ DEQP_FLAKES \

View File

@ -57,8 +57,15 @@ else
SUITE=KHR SUITE=KHR
fi fi
# If the job is parallel, take the corresponding fraction of the caselist. # If the caselist is too long to run in a reasonable amount of time, let the job
# Note: N~M is a gnu sed extension to match every nth line (first line is #1). # specify what fraction (1/n) of the caselist we should run. Note: N~M is a gnu
# sed extension to match every nth line (first line is #1).
if [ -n "$DEQP_FRACTION" ]; then
sed -ni 1~$DEQP_FRACTION"p" /tmp/case-list.txt
fi
# If the job is parallel at the gitab job level, take the corresponding fraction
# of the caselist.
if [ -n "$CI_NODE_INDEX" ]; then if [ -n "$CI_NODE_INDEX" ]; then
sed -ni $CI_NODE_INDEX~$CI_NODE_TOTAL"p" /tmp/case-list.txt sed -ni $CI_NODE_INDEX~$CI_NODE_TOTAL"p" /tmp/case-list.txt
fi fi

View File

@ -111,8 +111,7 @@ no ``parallel`` field set and:
.. code-block:: yaml .. code-block:: yaml
variables: variables:
CI_NODE_INDEX: 1 DEQP_FRACTION: 10
CI_NODE_TOTAL: 10
to just run 1/10th of the test list. to just run 1/10th of the test list.