[libgudev/wip/tchaik/meson: 2/2] ci: Use meson and publish documentation




commit 61557826c97462621d49ad90f4d4bfc1cdb863e0
Author: Martin Blanchard <tchaik gmx com>
Date:   Tue Feb 19 19:26:49 2019 +0000

    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 | 61 ++++++++++++++++++++++++++++++++++++++++++++++++----------
 2 files changed, 58 insertions(+), 16 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 f633dc6..d822585 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,18 +1,59 @@
+image: fedora:latest
+
 variables:
-    LAST_ABI_BREAK: "43a593b5b4097b887e49eaacafbc1337bd709718"
+  ABI_REF: 4cd99290ea083a1206a5f73296cc6691a130ab65
+  DNF_CORE_DEPS: >
+    gcc
+    gettext
+    meson
+    ninja-build
+    git
+    gnome-common
+    systemd-devel
+    glib2-devel
+  DNF_TEST_DEPS: >
+    gobject-introspection-devel
+    vala
+    umockdev-devel
+    libabigail
+  DNF_REF_DEPS: >
+    gtk-doc
 
 stages:
-- test
+  - test
+  - document
+  - deploy
 
 build-fedora:
-  image: fedora:latest
   stage: test
   before_script:
-    - dnf install -y gcc redhat-rpm-config libtool automake autoconf gtk-doc make glib2-devel systemd-devel 
umockdev-devel git libabigail gnome-common xz
+    - dnf install -y ${DNF_CORE_DEPS} ${DNF_TEST_DEPS}
+  script:
+    - meson setup build/
+    - ninja -C build/ install
+    - .ci/check-abi ${ABI_REF} $(git rev-parse HEAD)
+
+reference:
+  stage: document
+  before_script:
+    - dnf install -y ${DNF_CORE_DEPS} ${DNF_REF_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


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]