ba69cd99d1
The template has been updated to rewrite the manifest to use the checked out tree, so it's no longer necessary to pass additional build arguments (which are now ignored) or generate translations before the build (it's already in the manifest). https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1217
134 lines
3.4 KiB
YAML
134 lines
3.4 KiB
YAML
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"
|
|
extends: .flatpak
|
|
<<: *only_default
|
|
|
|
nightly:
|
|
extends: '.publish_nightly'
|
|
variables:
|
|
BUNDLES: '$BUNDLE'
|