232dcad64f
We're just a "ninja coverage" away from getting the full report, it is not that much extra to the pipeline. Also, fix bugs that accumulated since the manual task was added, e.g. let the full built+tested tree available on the coverity stage. https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1535
117 lines
2.5 KiB
YAML
117 lines
2.5 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
|
|
needs: []
|
|
script:
|
|
- meson . build -Dbuildtype=debugoptimized -Db_coverage=true -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
|
|
needs: []
|
|
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
|
|
needs: []
|
|
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
|
|
needs: ["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:
|
|
- bash -x ./.gitlab-ci/run-tests.sh
|
|
only:
|
|
- merge_requests
|
|
- /^.*$/
|
|
artifacts:
|
|
expire_in: 1 day
|
|
reports:
|
|
junit: "build/${CI_JOB_NAME}-report.xml"
|
|
name: "mutter-${CI_JOB_NAME}-${CI_COMMIT_REF_NAME}"
|
|
when: always
|
|
paths:
|
|
- build
|
|
|
|
test-mutter-coverage:
|
|
stage: coverage
|
|
dependencies:
|
|
- test-mutter
|
|
needs: ["test-mutter"]
|
|
script:
|
|
- ninja -C build coverage
|
|
- cat build/meson-logs/coverage.txt
|
|
artifacts:
|
|
paths:
|
|
- build/meson-logs/coveragereport
|
|
coverage: '/^TOTAL.*\s+(\d+\%)$/'
|
|
when: always
|
|
only:
|
|
- merge_requests
|
|
- /^.*$/
|
|
|
|
can-build-gnome-shell:
|
|
stage: test
|
|
dependencies:
|
|
- build-mutter
|
|
needs: ["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
|
|
- /^.*$/
|