include: 'https://gitlab.gnome.org/GNOME/citemplates/raw/master/flatpak/flatpak_ci_initiative.yml' stages: - review - build - test - deploy variables: BUNDLE: "extensions-git.flatpak" JS_LOG: "js-report.txt" POT_LOG: "pot-update.txt" .only_default: &only_default only: - branches - tags - merge_requests check_commit_log: image: registry.gitlab.gnome.org/gnome/mutter/master:v4 stage: review variables: GIT_DEPTH: "100" script: - ./.gitlab-ci/check-commit-log.sh only: - merge_requests js_check: image: registry.gitlab.gnome.org/gnome/gnome-shell/extension-ci:v1 stage: review script: - find js -name '*.js' -exec js60 -c -s '{}' ';' 2>&1 | tee $JS_LOG - (! grep -q . $JS_LOG) <<: *only_default artifacts: paths: - ${JS_LOG} when: on_failure eslint: image: registry.gitlab.gnome.org/gnome/gnome-shell/extension-ci:v1 stage: review script: - ./.gitlab-ci/run-eslint.sh <<: *only_default artifacts: paths: - reports when: always potfile_check: image: registry.gitlab.gnome.org/gnome/gnome-shell/extension-ci:v1 stage: review script: - ./.gitlab-ci/check-potfiles.sh <<: *only_default no_template_check: image: registry.gitlab.gnome.org/gnome/gnome-shell/extension-ci:v1 stage: review script: - ./.gitlab-ci/check-template-strings.sh <<: *only_default build: image: registry.gitlab.gnome.org/gnome/mutter/master:v4 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 -Dman=false --werror - ninja -C build - ninja -C build install <<: *only_default artifacts: expire_in: 1 day paths: - mutter - build test: image: registry.gitlab.gnome.org/gnome/mutter/master:v4 stage: test variables: XDG_RUNTIME_DIR: "$CI_PROJECT_DIR/runtime-dir" NO_AT_BRIDGE: "1" before_script: - ninja -C mutter/build install script: - dbus-run-session -- 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/mutter/master:v4 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 flatpak: stage: build variables: SUBPROJECT: "subprojects/extensions-app" # Your manifest path MANIFEST_PATH: "$SUBPROJECT/build-aux/flatpak/org.gnome.Extensions.json" RUNTIME_REPO: "https://nightly.gnome.org/gnome-nightly.flatpakrepo" FLATPAK_MODULE: "gnome-extensions-app" APP_ID: "org.gnome.Extensions" MESON_ARGS: "$SUBPROJECT" extends: .flatpak before_script: - flatpak run --command=$SUBPROJECT/generate-translations.sh --filesystem=host org.gnome.Sdk//master <<: *only_default nightly: extends: '.publish_nightly' variables: BUNDLES: '$BUNDLE'