diff options
Diffstat (limited to '.gitlab-ci.yml')
-rw-r--r-- | .gitlab-ci.yml | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..9ef52c9 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,64 @@ +image: debian:unstable + +before_script: + - apt update -qq + - apt install -y -qq build-essential meson pkg-config gtk-doc-tools + libxml2-utils gobject-introspection dbus dbus-x11 + libgirepository1.0-dev libglib2.0-dev + lcov valac + - export LANG=C.UTF-8 + +stages: + - build + - test + - deploy + +build-job: + stage: build + script: + - meson --buildtype debug --werror _build . + - ninja -C _build + except: + - tags + artifacts: + when: on_failure + name: "dconf-_${CI_COMMIT_REF_NAME}" + paths: + - "${CI_PROJECT_DIR}/_build/meson-logs" + +test: + stage: test + script: + - meson _build . -Db_coverage=true + - ninja -C _build test + - ninja -C _build coverage + coverage: '/^\s+lines\.+:\s+([\d.]+\%)\s+/' + +# FIXME: Run gtkdoc-check when we can. See: +# https://github.com/mesonbuild/meson/issues/3580 + +dist-job: + stage: build + only: + - tags + script: + - meson --buildtype release _build . + - ninja -C _build dist + artifacts: + paths: + - "${CI_PROJECT_DIR}/_build/meson-dist/dconf-*.tar.xz" + +pages: + stage: deploy + only: + - master + script: + - meson -Db_coverage=true -Ddocumentation=true _build . + - ninja -C _build test dconf-doc + - ninja -C _build coverage + - mkdir -p public/ + - mv _build/dconf/docs/html/ public/docs/ + - mv _build/meson-logs/coveragereport/ public/coverage/ + artifacts: + paths: + - public
\ No newline at end of file |