- .gitlab-ci/run-style-check-diff.sh
fedora-x86_64:
- image: registry.gitlab.gnome.org/gnome/gtk/fedora:v16
+ image: registry.gitlab.gnome.org/gnome/gtk/fedora:v17
stage: build
variables:
EXTRA_MESON_FLAGS: "--buildtype=debug --default-library=both"
-Dprofiler=true
_build
- ninja -C _build
- - .gitlab-ci/run-tests.sh _build
+ - .gitlab-ci/run-tests.sh _build x11
+ - .gitlab-ci/run-tests.sh _build wayland
+ - .gitlab-ci/run-tests.sh _build broadway
artifacts:
when: always
reports:
junit:
- - "${CI_PROJECT_DIR}/_build/report.xml"
+ - "${CI_PROJECT_DIR}/_build/report-x11.xml"
+ - "${CI_PROJECT_DIR}/_build/report-wayland.xml"
+ - "${CI_PROJECT_DIR}/_build/report-broadway.xml"
name: "gtk-${CI_COMMIT_REF_NAME}"
paths:
- "${CI_PROJECT_DIR}/_build/meson-logs"
- - "${CI_PROJECT_DIR}/_build/report.xml"
- - "${CI_PROJECT_DIR}/_build/report.html"
- - "${CI_PROJECT_DIR}/_build/testsuite/reftests/output/*.png"
- - "${CI_PROJECT_DIR}/_build/testsuite/gsk/compare/*/*.png"
- - "${CI_PROJECT_DIR}/_build/testsuite/css/output/*.syscap"
+ - "${CI_PROJECT_DIR}/_build/report*.xml"
+ - "${CI_PROJECT_DIR}/_build/report*.html"
+ - "${CI_PROJECT_DIR}/_build/testsuite/reftests/output/*/*.png"
+ - "${CI_PROJECT_DIR}/_build/testsuite/gsk/compare/*/*/*.png"
+ - "${CI_PROJECT_DIR}/_build/testsuite/css/output/*/*.syscap"
cache:
key: "$CI_JOB_NAME"
<<: *cache-paths
-Dvulkan=yes
_build
- ninja -C _build
- - .gitlab-ci/run-tests.sh _build
+ - .gitlab-ci/run-tests.sh _build x11
artifacts:
when: always
reports:
junit:
- - "${CI_PROJECT_DIR}/_build/report.xml"
+ - "${CI_PROJECT_DIR}/_build/report-x11.xml"
name: "gtk-${CI_COMMIT_REF_NAME}"
paths:
- "${CI_PROJECT_DIR}/_build/meson-logs"
- - "${CI_PROJECT_DIR}/_build/report.xml"
- - "${CI_PROJECT_DIR}/_build/report.html"
- - "${CI_PROJECT_DIR}/_build/testsuite/reftests/output/*.png"
- - "${CI_PROJECT_DIR}/_build/testsuite/gsk/compare/*/*.png"
- - "${CI_PROJECT_DIR}/_build/testsuite/css/output/*.syscap"
+ - "${CI_PROJECT_DIR}/_build/report*.xml"
+ - "${CI_PROJECT_DIR}/_build/report*.html"
+ - "${CI_PROJECT_DIR}/_build/testsuite/reftests/output/*/*.png"
+ - "${CI_PROJECT_DIR}/_build/testsuite/gsk/compare/*/*/*.png"
+ - "${CI_PROJECT_DIR}/_build/testsuite/css/output/*/*.syscap"
cache:
key: "$CI_JOB_NAME"
<<: *cache-paths
srcdir=$( pwd )
builddir=$1
+backend=$2
-export GDK_BACKEND=x11
-xvfb-run -a -s "-screen 0 1024x768x24" \
- meson test -C ${builddir} \
+case "${backend}" in
+ x11)
+ xvfb-run -a -s "-screen 0 1024x768x24" \
+ meson test -C ${builddir} \
--print-errorlogs \
+ --setup=${backend} \
--suite=gtk \
--no-suite=gtk:a11y
-# Store the exit code for the CI run, but always
-# generate the reports
-exit_code=$?
+ # Store the exit code for the CI run, but always
+ # generate the reports
+ exit_code=$?
+ ;;
+
+ wayland)
+ export XDG_RUNTIME_DIR="$(mktemp -p $(pwd) -d xdg-runtime-XXXXXX)"
+
+ weston --backend=headless-backend.so --socket=wayland-5 &
+ compositor=$!
+ export WAYLAND_DISPLAY=wayland-5
+
+ meson test -C ${builddir} \
+ --print-errorlogs \
+ --setup=${backend} \
+ --suite=gtk \
+ --no-suite=gtk:a11y
+
+ exit_code=$?
+ kill ${compositor}
+ ;;
+
+ broadway)
+ export XDG_RUNTIME_DIR="$(mktemp -p $(pwd) -d xdg-runtime-XXXXXX)"
+
+ ${builddir}/gdk/broadway/gtk4-broadwayd :5 &
+ server=$!
+ export BROADWAY_DISPLAY=:5
+
+ meson test -C ${builddir} \
+ --print-errorlogs \
+ --setup=${backend} \
+ --suite=gtk \
+ --no-suite=gtk:a11y
+
+ exit_code=$?
+ kill ${server}
+ ;;
+esac
cd ${builddir}
$srcdir/.gitlab-ci/meson-junit-report.py \
--project-name=gtk \
--job-id="${CI_JOB_NAME}" \
- --output=report.xml \
- meson-logs/testlog.json
+ --output=report-${backend}.xml \
+ meson-logs/testlog-${backend}.json
$srcdir/.gitlab-ci/meson-html-report.py \
--project-name=gtk \
--job-id="${CI_JOB_NAME}" \
- --reftest-output-dir="testsuite/reftests/output" \
- --output=report.html \
- meson-logs/testlog.json
+ --reftest-output-dir="testsuite/reftests/output/${backend}" \
+ --output=report-${backend}.html \
+ meson-logs/testlog-${backend}.json
exit $exit_code