diff options
Diffstat (limited to '.gitlab-ci.yml')
-rw-r--r-- | .gitlab-ci.yml | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..3bbe08f --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,77 @@ +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 + +variables: + MESON_TEST_TIMEOUT_MULTIPLIER: 2 + +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: + - "_build/meson-logs" + +test: + stage: test + script: + - meson _build . -Db_coverage=true + - ninja -C _build + - mkdir -p _coverage + - lcov --rc lcov_branch_coverage=1 --directory _build --capture --initial --output-file "_coverage/${CI_JOB_NAME}-baseline.lcov" + - meson test -C _build --timeout-multiplier ${MESON_TEST_TIMEOUT_MULTIPLIER} + - lcov --rc lcov_branch_coverage=1 --directory _build --capture --output-file "_coverage/${CI_JOB_NAME}.lcov" + coverage: '/^\s+lines\.+:\s+([\d.]+\%)\s+/' + except: + - tags + artifacts: + when: on_failure + name: "dconf-_${CI_COMMIT_REF_NAME}" + paths: + - "_build/meson-logs" + - "_coverage" + +# 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: + - "_build/meson-dist/dconf-*.tar.xz" + +pages: + stage: deploy + only: + - master + script: + - meson -Ddocumentation=true _build . + - ninja -C _build dconf-doc + - mkdir -p public/ + - mv _build/dconf/docs/html/ public/docs/ + - mv _coverage/ public/coverage/ + artifacts: + paths: + - public
\ No newline at end of file |