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




commit f07395d1c6e7f61008a1e636ff0d27f485a317d4
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 | 50 ++++++++++++++++++++++++++++++++++++++++----------
 2 files changed, 47 insertions(+), 16 deletions(-)
---
diff --git a/.ci/check-abi b/.ci/check-abi
index f511e10..d22fc50 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=false',
+                               '-Dvapi=false',
+                               '-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..baea372 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,18 +1,48 @@
+image: fedora:latest
+
 variables:
-    LAST_ABI_BREAK: "43a593b5b4097b887e49eaacafbc1337bd709718"
+  ABI_REF: 59bb7ba0d84484443272ab43dff827f4274571cb
 
 stages:
-- test
+  - test
+  - 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 gcc ccache gettext gtk-doc meson ninja-build git gnome-common libabigail
+    - dnf install -y systemd-devel glib2-devel gobject-introspection-devel vala umockdev-devel
+    - mkdir -p ccache
+    - ccache --zero-stats
+    - ccache --show-stats
+  script:
+    - meson setup build/ -Dintrospection=true -Dvapi=true -Dgtk_doc=true
+    - ninja -C build/ test
+    - .ci/check-abi ${ABI_REF} $(git rev-parse HEAD)
+    - ninja -C build/ gudev-1.0-doc
+  after_script:
+    - ccache --show-stats
+  artifacts:
+    name: libgudev-doc
+    paths:
+      - build/docs/html
+  variables:
+    CCACHE_BASEDIR: "${CI_PROJECT_DIR}"
+    CCACHE_DIR: "${CCACHE_BASEDIR}/ccache"
+  cache:
+    key: "$CI_JOB_NAME"
+    paths:
+      - ccache/
+
+pages:
+  stage: deploy
+  dependencies:
+    - build-fedora
   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]