5aeb8ff6a6
Use a specific build for it, instead of making the default test-mutter target prepare that in advance, just in case. Bypasses errors with recent meson when making coverage builds (although it'd still happen if the stage were run manually).
113 lines
2.6 KiB
YAML
113 lines
2.6 KiB
YAML
image: registry.gitlab.gnome.org/gnome/mutter/master:v4
|
|
|
|
stages:
|
|
- review
|
|
- build
|
|
- test
|
|
- coverage
|
|
|
|
check-commit-log:
|
|
stage: review
|
|
variables:
|
|
GIT_DEPTH: "100"
|
|
script:
|
|
- ./.gitlab-ci/check-commit-log.sh
|
|
only:
|
|
- merge_requests
|
|
|
|
build-mutter:
|
|
stage: build
|
|
script:
|
|
- meson . build -Dbuildtype=debugoptimized -Degl_device=true -Dwayland_eglstream=true --werror --prefix /usr
|
|
- ninja -C build
|
|
- ninja -C build install
|
|
artifacts:
|
|
expire_in: 1 day
|
|
paths:
|
|
- build
|
|
only:
|
|
- merge_requests
|
|
- /^.*$/
|
|
|
|
build-without-opengl-and-glx:
|
|
stage: build
|
|
script:
|
|
- meson . build -Dbuildtype=debugoptimized -Dopengl=false -Dglx=false -Degl_device=true -Dwayland_eglstream=true --werror --prefix /usr
|
|
- ninja -C build
|
|
- ninja -C build install
|
|
artifacts:
|
|
paths:
|
|
- build/meson-logs
|
|
only:
|
|
- merge_requests
|
|
- /^.*$/
|
|
|
|
build-without-native-backend-and-wayland:
|
|
stage: build
|
|
script:
|
|
- meson . build -Dbuildtype=debugoptimized -Dnative_backend=false -Dudev=false -Dwayland=false -Dcore_tests=false --werror --prefix /usr
|
|
- ninja -C build
|
|
- ninja -C build install
|
|
artifacts:
|
|
paths:
|
|
- build/meson-logs
|
|
only:
|
|
- merge_requests
|
|
- /^.*$/
|
|
|
|
test-mutter:
|
|
stage: test
|
|
dependencies:
|
|
- build-mutter
|
|
variables:
|
|
XDG_RUNTIME_DIR: "$CI_PROJECT_DIR/runtime-dir"
|
|
GSETTINGS_SCHEMA_DIR: "$CI_PROJECT_DIR/build/data"
|
|
G_SLICE: "always-malloc"
|
|
MALLOC_CHECK_: "3"
|
|
NO_AT_BRIDGE: "1"
|
|
script:
|
|
- dconf update
|
|
- mkdir -m 700 $XDG_RUNTIME_DIR
|
|
- glib-compile-schemas $GSETTINGS_SCHEMA_DIR
|
|
- >
|
|
dbus-run-session -- xvfb-run -s '+iglx -noreset'
|
|
meson test -C build --no-rebuild -t 10 --verbose --no-stdsplit --print-errorlogs --wrap catchsegv
|
|
artifacts:
|
|
expire_in: 1 day
|
|
paths:
|
|
- build
|
|
only:
|
|
- merge_requests
|
|
- /^.*$/
|
|
|
|
test-mutter-coverage:
|
|
stage: coverage
|
|
dependencies:
|
|
- test-mutter
|
|
script:
|
|
- meson . coverage-build -Dbuildtype=debugoptimized -Db_coverage=true -Degl_device=true -Dwayland_eglstream=true --werror --prefix /usr
|
|
- ninja -C coverage-build coverage
|
|
- cat coverage-build/meson-logs/coverage.txt
|
|
artifacts:
|
|
paths:
|
|
- coverage-build/meson-logs
|
|
when: manual
|
|
except:
|
|
refs:
|
|
- tags
|
|
- master
|
|
|
|
can-build-gnome-shell:
|
|
stage: test
|
|
dependencies:
|
|
- build-mutter
|
|
before_script:
|
|
- meson install --no-rebuild -C build
|
|
script:
|
|
- .gitlab-ci/checkout-gnome-shell.sh
|
|
- meson gnome-shell gnome-shell/build --prefix /usr -Dman=false
|
|
- ninja -C gnome-shell/build install
|
|
only:
|
|
- merge_requests
|
|
- /^.*$/
|