diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 8a5916690d..5777250d0b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -104,8 +104,8 @@ fedora-x86_64: ${FEATURE_FLAGS} _build - meson compile -C _build - - .gitlab-ci/run-tests.sh _build wayland_gl - - .gitlab-ci/run-tests.sh _build wayland_gles2 + - .gitlab-ci/run-tests.sh _build wayland_gl gtk:gdk,gtk:gsk + - .gitlab-ci/run-tests.sh _build wayland_gles2 gtk:gdk,gtk:gsk release-build: extends: .build-fedora-default @@ -130,8 +130,8 @@ release-build: - meson install -C _build - PKG_CONFIG_PATH=${CI_PROJECT_DIR}/_install/lib64/pkgconfig:${CI_PROJECT_DIR}/_install/share/pkgconfig meson setup _build_hello examples/hello - LD_LIBRARY_PATH=${CI_PROJECT_DIR}/_install/lib64 meson compile -C _build_hello - - .gitlab-ci/run-tests.sh _build wayland - - .gitlab-ci/run-tests.sh _build x11 + - .gitlab-ci/run-tests.sh _build wayland gtk:gtk + - .gitlab-ci/run-tests.sh _build x11 gtk:gtk fedora-clang: extends: .build-fedora-default @@ -425,9 +425,7 @@ asan-build: -Df16c=disabled _build - ninja -C _build - - .gitlab-ci/run-tests.sh _build wayland - - .gitlab-ci/run-tests.sh _build wayland_gles2 - - .gitlab-ci/run-tests.sh _build x11 + - .gitlab-ci/run-tests.sh _build wayland gtk artifacts: when: always reports: diff --git a/.gitlab-ci/run-tests.sh b/.gitlab-ci/run-tests.sh index eaf7226f35..dd03cfc16c 100755 --- a/.gitlab-ci/run-tests.sh +++ b/.gitlab-ci/run-tests.sh @@ -1,27 +1,29 @@ #!/bin/bash -set +x +set -x set +e srcdir=$( pwd ) builddir=$1 -backend=$2 +setup=$2 +suite=$3 multiplier=${MESON_TEST_TIMEOUT_MULTIPLIER:-1} # Ignore memory leaks lower in dependencies export LSAN_OPTIONS=suppressions=$srcdir/lsan.supp:print_suppressions=0:detect_leaks=0:allocator_may_return_null=1 export G_SLICE=always-malloc -case "${backend}" in - x11) +case "${setup}" in + x11*) xvfb-run -a -s "-screen 0 1024x768x24 -noreset" \ meson test -C ${builddir} \ --quiet \ --timeout-multiplier "${multiplier}" \ --print-errorlogs \ - --setup=${backend} \ - --suite=gtk \ + --setup=${setup} \ + --suite=${suite//,/ --suite=} \ --no-suite=failing \ + --no-suite=${setup}_failing \ --no-suite=flaky \ --no-suite=headless \ --no-suite=gsk-compare-broadway @@ -42,19 +44,19 @@ case "${backend}" in --quiet \ --timeout-multiplier "${multiplier}" \ --print-errorlogs \ - --setup=${backend} \ - --suite=gtk \ + --setup=${setup} \ + --suite=${suite//,/ --suite=} \ --no-suite=failing \ + --no-suite=${setup}_failing \ --no-suite=flaky \ --no-suite=headless \ - --no-suite=${backend}_failing \ --no-suite=gsk-compare-broadway exit_code=$? kill ${compositor} ;; - broadway) + broadway*) export XDG_RUNTIME_DIR="$(mktemp -p $(pwd) -d xdg-runtime-XXXXXX)" ${builddir}/gdk/broadway/gtk4-broadwayd :5 & @@ -65,9 +67,10 @@ case "${backend}" in --quiet \ --timeout-multiplier "${multiplier}" \ --print-errorlogs \ - --setup=${backend} \ - --suite=gtk \ + --setup=${setup} \ + --suite=${suite//,/ --suite=} \ --no-suite=failing \ + --no-suite=${setup}_failing \ --no-suite=flaky \ --no-suite=headless \ --no-suite=gsk-compare-opengl @@ -76,7 +79,7 @@ case "${backend}" in ;; *) - echo "Failed to add ${backend} to .gitlab-ci/run-tests.sh" + echo "Failed to add ${setup} to .gitlab-ci/run-tests.sh" exit 1 ;; @@ -86,17 +89,17 @@ cd ${builddir} $srcdir/.gitlab-ci/meson-junit-report.py \ --project-name=gtk \ - --backend="${backend}" \ + --backend="${setup}" \ --job-id="${CI_JOB_NAME}" \ - --output="report-${backend}.xml" \ - "meson-logs/testlog-${backend}.json" + --output="report-${setup}.xml" \ + "meson-logs/testlog-${setup}.json" $srcdir/.gitlab-ci/meson-html-report.py \ --project-name=gtk \ - --backend="${backend}" \ + --backend="${setup}" \ --job-id="${CI_JOB_NAME}" \ - --reftest-output-dir="testsuite/reftests/output/${backend}" \ - --output="report-${backend}.html" \ - "meson-logs/testlog-${backend}.json" + --reftest-output-dir="testsuite/reftests/output/${setup}" \ + --output="report-${setup}.html" \ + "meson-logs/testlog-${setup}.json" exit $exit_code