From 93a45abcf43a76d53d1b568f13e94cb9f1a700b1 Mon Sep 17 00:00:00 2001 From: Valentine Burley Date: Wed, 2 Jul 2025 12:13:30 +0200 Subject: [PATCH] radeonsi/ci: Convert Fluster job to deqp-runner suite Drop the custom fluster-runner.sh script and add a deqp-runner suite for the `radeonsi-raven-vaapi-fluster` job. Signed-off-by: Valentine Burley Part-of: --- .gitlab-ci/deqp-runner.sh | 8 ++ .gitlab-ci/fluster-runner.sh | 117 ----------------------------- .gitlab-ci/test/gitlab-ci-inc.yml | 2 - src/amd/ci/deqp-fluster-vaapi.toml | 7 ++ src/amd/ci/gitlab-ci.yml | 4 +- 5 files changed, 18 insertions(+), 120 deletions(-) delete mode 100755 .gitlab-ci/fluster-runner.sh create mode 100644 src/amd/ci/deqp-fluster-vaapi.toml diff --git a/.gitlab-ci/deqp-runner.sh b/.gitlab-ci/deqp-runner.sh index 725100027f6..54942a3ccae 100755 --- a/.gitlab-ci/deqp-runner.sh +++ b/.gitlab-ci/deqp-runner.sh @@ -31,6 +31,14 @@ if [ -n "${ANGLE_TAG:-}" ]; then export LD_LIBRARY_PATH=/angle:$LD_LIBRARY_PATH fi +if [ -n "${FLUSTER_TAG:-}" ]; then + # Are we using the right Fluster version? + ci_tag_test_time_check "FLUSTER_TAG" + export LIBVA_DRIVERS_PATH=$INSTALL/lib/dri/ + # libva spams driver open info by default, and that happens per testcase. + export LIBVA_MESSAGING_LEVEL=1 +fi + if [ -n "$PIGLIT_TAG" ]; then # Are we using the right Piglit version? ci_tag_test_time_check "PIGLIT_TAG" diff --git a/.gitlab-ci/fluster-runner.sh b/.gitlab-ci/fluster-runner.sh deleted file mode 100755 index 8c0464a9202..00000000000 --- a/.gitlab-ci/fluster-runner.sh +++ /dev/null @@ -1,117 +0,0 @@ -#!/usr/bin/env bash -# shellcheck disable=SC2086 # we want word splitting -# shellcheck disable=SC1091 # paths only become valid at runtime - -. "${SCRIPTS_DIR}/setup-test-env.sh" - -section_start test_setup "fluster: preparing test setup" - -set -uex -o pipefail - -if [ -z "$GPU_VERSION" ]; then - echo 'GPU_VERSION must be set to something like "radeonsi-raven" or "freedreno-a630" (the name used in your ci/gpu-version-*.txt)' - exit 1 -fi - -if [ -z "$FLUSTER_CODECS" ]; then - echo 'FLUSTER_CODECS must be set to a space sparated list of codecs like "VP8" or "H.265"' - exit 1 -fi - -if [ -z "$FLUSTER_TAG" ]; then - echo "FLUSTER_TAG must be set to the conditional build tag" - exit 1 -fi - -# Are we using the right fluster version? -ci_tag_test_time_check "FLUSTER_TAG" - -INSTALL="$PWD/install" - -# Set up the driver environment. -export LD_LIBRARY_PATH="$INSTALL/lib/" - -export LIBVA_DRIVERS_PATH=$INSTALL/lib/dri/ -# libva spams driver open info by default, and that happens per testcase. -export LIBVA_MESSAGING_LEVEL=1 - -RESULTS=$PWD/${FLUSTER_RESULTS_DIR:-results} -mkdir -p $RESULTS - -if [ -n "${FLUSTER_FRACTION:-}" ] || [ -n "$CI_NODE_INDEX" ]; then - FRACTION=$((${FLUSTER_FRACTION:-1} * ${CI_NODE_TOTAL:-1})) - FLUSTER_RUNNER_OPTIONS="${FLUSTER_RUNNER_OPTIONS:-} --fraction $FRACTION" -fi - -# If the job is parallel at the gitab job level, take the corresponding fraction -# of the caselist. -if [ -n "$CI_NODE_INDEX" ]; then - FLUSTER_RUNNER_OPTIONS="${FLUSTER_RUNNER_OPTIONS:-} --fraction-start ${CI_NODE_INDEX}" -fi - -for codec in ${FLUSTER_CODECS}; do - DECODERS="${DECODERS:-} GStreamer-${codec}-VAAPI-Gst1.0" -done - -# Default to an empty known flakes file if it doesn't exist. -FLUSTER_FLAKES=$INSTALL/$GPU_VERSION-fluster-flakes.txt -touch ${FLUSTER_FLAKES} - -# Default to an empty known fails file if it doesn't exist. -FLUSTER_FAILS=$INSTALL/$GPU_VERSION-fluster-fails.txt -touch ${FLUSTER_FAILS} - -# Default to an empty known skips file if it doesn't exist. -FLUSTER_SKIPS=$INSTALL/$GPU_VERSION-fluster-skips.txt -touch ${FLUSTER_SKIPS} - -uncollapsed_section_switch fluster "fluster: fluster-runner" - -set +e - -fluster-runner \ - run \ - --fluster /fluster/fluster.py \ - --output ${RESULTS} \ - --jobs ${FDO_CI_CONCURRENT:-4} \ - --skips ${FLUSTER_SKIPS} \ - --flakes ${FLUSTER_FLAKES} \ - --baseline ${FLUSTER_FAILS} \ - --decoders ${DECODERS} \ - ${FLUSTER_RUNNER_OPTIONS} \ - -v -v - -FLUSTER_EXITCODE=$? - -set -e - -section_switch test_post_process "fluster: post-processing test results" - -# Report the flakes to the IRC channel for monitoring (if configured): -if [ -n "${FLAKES_CHANNEL:-}" ]; then - python3 $INSTALL/report-flakes.py \ - --host irc.oftc.net \ - --port 6667 \ - --results $RESULTS/results.csv \ - --known-flakes ${FLUSTER_FLAKES} \ - --channel "$FLAKES_CHANNEL" \ - --runner "$CI_RUNNER_DESCRIPTION" \ - --job "$CI_JOB_ID" \ - --url "$CI_JOB_URL" \ - --branch "${CI_MERGE_REQUEST_SOURCE_BRANCH_NAME:-$CI_COMMIT_BRANCH}" \ - --branch-title "${CI_MERGE_REQUEST_TITLE:-$CI_COMMIT_TITLE}" || true -fi - -deqp-runner junit \ - --testsuite "fluster-${FLUSTER_CODECS// /-}" \ - --results $RESULTS/results.csv \ - --output $RESULTS/junit.xml \ - --template "See https://$CI_PROJECT_ROOT_NAMESPACE.pages.freedesktop.org/-/$CI_PROJECT_NAME/-/jobs/$CI_JOB_ID/artifacts/results/{{testcase}}.xml" - -# Compress results.csv to save on bandwidth during the upload of artifacts to -# GitLab. -zstd --rm -T0 -8qc $RESULTS/results.csv -o $RESULTS/results.csv.zst - -section_end test_post_process - -exit $FLUSTER_EXITCODE diff --git a/.gitlab-ci/test/gitlab-ci-inc.yml b/.gitlab-ci/test/gitlab-ci-inc.yml index 703eacfe0df..cea5161ce5c 100644 --- a/.gitlab-ci/test/gitlab-ci-inc.yml +++ b/.gitlab-ci/test/gitlab-ci-inc.yml @@ -114,8 +114,6 @@ .test-fluster: variables: FLUSTER_TAG: ${CONDITIONAL_BUILD_FLUSTER_TAG} - FLUSTER_RESULTS: "${GPU_VERSION}-${FLUSTER_CODEC}" - HWCI_TEST_SCRIPT: install/fluster-runner.sh .test-piglit: variables: diff --git a/src/amd/ci/deqp-fluster-vaapi.toml b/src/amd/ci/deqp-fluster-vaapi.toml new file mode 100644 index 00000000000..a62aeaa0af4 --- /dev/null +++ b/src/amd/ci/deqp-fluster-vaapi.toml @@ -0,0 +1,7 @@ +[[fluster]] +bin = "/fluster/fluster.py" +decoders = [ + "GStreamer-VP9-VAAPI-Gst1.0", + "GStreamer-H.264-VAAPI-Gst1.0", + "GStreamer-H.265-VAAPI-Gst1.0", +] diff --git a/src/amd/ci/gitlab-ci.yml b/src/amd/ci/gitlab-ci.yml index 7571287b217..bc04b7d6641 100644 --- a/src/amd/ci/gitlab-ci.yml +++ b/src/amd/ci/gitlab-ci.yml @@ -147,7 +147,9 @@ radeonsi-raven-vaapi-fluster: timeout: 30m parallel: 2 variables: - FLUSTER_CODECS: VP9 H.264 H.265 + DEQP_SUITE: fluster-vaapi + GPU_VERSION: radeonsi-raven-fluster + HWCI_TEST_SCRIPT: install/deqp-runner.sh radeonsi-mendocino-glcts-piglit: extends: