ci/deqp: Compress caselists with zstd

The Vulkan caselist is gigantic - over 400MB - and only growing over
time. Luckily zstd gets that down to about 9MB, with absolutely
negligible runtime overhead.

Signed-off-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31595>
This commit is contained in:
Daniel Stone 2024-10-11 11:41:44 -04:00 committed by Marge Bot
parent ed8441a339
commit 938e827c48
3 changed files with 13 additions and 9 deletions

View file

@ -239,6 +239,10 @@ if [ "${DEQP_TARGET}" != 'android' ]; then
mv /deqp/executor.save /deqp/executor
fi
# Compress the caselists, since Vulkan's in particular are gigantic; higher
# compression levels provide no real measurable benefit.
zstd -1 --rm /deqp/mustpass/*.txt
# Remove other mustpass files, since we saved off the ones we wanted to conventient locations above.
rm -rf /deqp/external/**/mustpass/
rm -rf /deqp/external/vulkancts/modules/vulkan/vk-main*

View file

@ -57,16 +57,16 @@ if [ -z "$DEQP_SUITE" ]; then
# Generate test case list file.
if [ "$DEQP_VER" = "vk" ]; then
MUSTPASS=/deqp/mustpass/vk-main.txt
MUSTPASS=/deqp/mustpass/vk-main.txt.zst
DEQP=/deqp/external/vulkancts/modules/vulkan/deqp-vk
elif [ "$DEQP_VER" = "gles2" ] || [ "$DEQP_VER" = "gles3" ] || [ "$DEQP_VER" = "gles31" ] || [ "$DEQP_VER" = "egl" ]; then
MUSTPASS=/deqp/mustpass/$DEQP_VER-main.txt
MUSTPASS=/deqp/mustpass/$DEQP_VER-main.txt.zst
DEQP=/deqp/modules/$DEQP_VER/deqp-$DEQP_VER
elif [ "$DEQP_VER" = "gles2-khr" ] || [ "$DEQP_VER" = "gles3-khr" ] || [ "$DEQP_VER" = "gles31-khr" ] || [ "$DEQP_VER" = "gles32-khr" ]; then
MUSTPASS=/deqp/mustpass/$DEQP_VER-main.txt
MUSTPASS=/deqp/mustpass/$DEQP_VER-main.txt.zst
DEQP=/deqp/external/openglcts/modules/glcts
else
MUSTPASS=/deqp/mustpass/$DEQP_VER-main.txt
MUSTPASS=/deqp/mustpass/$DEQP_VER-main.txt.zst
DEQP=/deqp/external/openglcts/modules/glcts
fi
@ -88,7 +88,7 @@ if [ -z "$DEQP_SUITE" ]; then
# test very slightly different permutations of the same functionality. So
# by distributing our skips as widely across the set as possible, rather
# than grouping them together, we get the broadest coverage.
sed -n "$(((CI_NODE_INDEX - 1) * DEQP_FRACTION + 1))~$((DEQP_FRACTION * CI_NODE_TOTAL))p" < $MUSTPASS > /tmp/case-list.txt
zstd -d $MUSTPASS -c | sed -n "$(((CI_NODE_INDEX - 1) * DEQP_FRACTION + 1))~$((DEQP_FRACTION * CI_NODE_TOTAL))p" > /tmp/case-list.txt
if [ ! -s /tmp/case-list.txt ]; then
echo "Caselist generation failed"

View file

@ -27,10 +27,10 @@ variables:
DEBIAN_ARM64_TEST_IMAGE_VK_PATH: "debian/arm64_test-vk"
DEBIAN_X86_64_TEST_ANDROID_IMAGE_PATH: "debian/x86_64_test-android"
DEBIAN_TEST_ANDROID_TAG: "20241011-acetone"
DEBIAN_TEST_GL_TAG: "20241016-acetone"
DEBIAN_TEST_VK_TAG: "20241016-acetone"
KERNEL_ROOTFS_TAG: "20241016-acetone"
DEBIAN_TEST_ANDROID_TAG: "20241016-zz-top"
DEBIAN_TEST_GL_TAG: "20241016-zz-top"
DEBIAN_TEST_VK_TAG: "20241016-zz-top"
KERNEL_ROOTFS_TAG: "20241016-zz-top"
DEBIAN_PYUTILS_IMAGE: "debian/x86_64_pyutils"
DEBIAN_PYUTILS_TAG: "20241002-pyutils"