From ef094855cf51655485ad538d086d92745acb897f Mon Sep 17 00:00:00 2001 From: Martin Blanchard Date: Tue, 19 Feb 2019 19:26:49 +0000 Subject: ci: Use meson and publish documentation Publish documentation on GitLab pages as meson does not embed generated documentation in distribution tarballs. Pages URL: https://gnome.pages.gitlab.gnome.org/libgudev/libgudev --- .ci/check-abi | 13 +++++++------ .gitlab-ci.yml | 51 ++++++++++++++++++++++++++++++++++++--------------- 2 files changed, 43 insertions(+), 21 deletions(-) diff --git a/.ci/check-abi b/.ci/check-abi index f511e10..f2f27a7 100755 --- a/.ci/check-abi +++ b/.ci/check-abi @@ -65,13 +65,14 @@ def build_install(revision): rm_rf(build_dir) rm_rf(revision) - subprocess.check_call(['./autogen.sh', + subprocess.check_call(['meson', 'setup', build_dir, '--prefix=/usr', - '--libdir=/usr/lib/', - '--disable-gtk-doc', - '--disable-umockdev']) - subprocess.check_call(['make']) - subprocess.check_call(['make', 'install'], + '--libdir=lib', + '-Dintrospection=disabled', + '-Dvapi=disabled', + '-Dgtk_doc=false']) + subprocess.check_call(['meson', 'compile', '-C', build_dir]) + subprocess.check_call(['meson', 'install', '-C', build_dir], env={'DESTDIR': dest_dir}) return dest_dir diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 45e80fd..742aaf8 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,14 +1,12 @@ +image: fedora:latest + variables: - LAST_ABI_BREAK: "43a593b5b4097b887e49eaacafbc1337bd709718" + LAST_ABI_BREAK: "334f31b3cf0837ffb2298f498686905e8ba14f7b" DNF_CORE_DEPS: > gcc gettext - redhat-rpm-config - libtool - automake - autoconf - xz - make + meson + ninja-build git gnome-common systemd-devel @@ -23,16 +21,39 @@ variables: stages: - test + - document + - deploy build-fedora: - image: fedora:latest stage: test before_script: - - dnf install -y ${DNF_CORE_DEPS} ${DNF_TEST_DEPS} ${DNF_API_DOC_DEPS} + - dnf install -y ${DNF_CORE_DEPS} ${DNF_TEST_DEPS} + script: + - meson setup build/ + - ninja -C build/ install + - .ci/check-abi ${LAST_ABI_BREAK} $(git rev-parse HEAD) + +reference: + stage: document + before_script: + - dnf install -y ${DNF_CORE_DEPS} ${DNF_API_DOC_DEPS} + script: + - meson setup build/ -Dgtk_doc=true + - ninja -C build/ install + artifacts: + name: libgudev-doc + paths: + - build/docs/html + +pages: + stage: deploy + dependencies: + - reference script: - - ./autogen.sh --disable-dependency-tracking - - make - - make install - - make check - - ./.ci/check-abi ${LAST_ABI_BREAK} $(git rev-parse HEAD) - - make distcheck + - mkdir -p public/ + - mv build/docs/html/ public/libgudev/ + artifacts: + paths: + - public + only: + - master -- cgit v1.2.1