stages: - review - source_check - build - test variables: JS_LOG: "js-report.txt" POT_LOG: "pot-update.txt" .only_default: &only_default only: - branches - tags - merge_requests check_commit_log: image: registry.fedoraproject.org/fedora:latest stage: review before_script: - dnf install -y git script: - ./.gitlab-ci/check-commit-log.sh only: - merge_requests js_check: image: registry.gitlab.gnome.org/gnome/gnome-shell/extension-ci:v1 stage: source_check script: - find js -name '*.js' -exec js60 -c -s '{}' ';' 2>&1 | tee $JS_LOG - (! grep -q . $JS_LOG) <<: *only_default only: changes: - js/**/* artifacts: paths: - ${JS_LOG} when: on_failure build: image: registry.gitlab.gnome.org/gnome/gnome-shell/master:v1 stage: build before_script: - .gitlab-ci/checkout-mutter.sh - meson mutter mutter/build --prefix=/usr -Dtests=false - ninja -C mutter/build install script: - meson . build -Dbuiltype=debugoptimized - ninja -C build - ninja -C build install <<: *only_default artifacts: expire_in: 1 day paths: - mutter - build test: image: registry.gitlab.gnome.org/gnome/gnome-shell/master:v1 stage: test before_script: - ninja -C mutter/build install script: - xvfb-run meson test -C build --no-rebuild <<: *only_default artifacts: expire_in: 1 day paths: - build/meson-logs/testlog.txt when: on_failure test-pot: image: registry.gitlab.gnome.org/gnome/gnome-shell/master:v1 stage: test before_script: - ninja -C mutter/build install script: # Check that pot files are generated correctly: # https://savannah.gnu.org/bugs/?50920#comment5 - ninja -C build gnome-shell-pot 2>&1 | awk ' BEGIN { start=0; } start==1 { print $0; } /gnome-shell-pot/ { start=1; } ' | tee $POT_LOG - (! grep -q . $POT_LOG) <<: *only_default