[libgudev/tchaik/meson: 1/2] ci: Use meson and publish documentation
- From: Bastien Nocera <hadess src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [libgudev/tchaik/meson: 1/2] ci: Use meson and publish documentation
- Date: Fri, 20 Nov 2020 12:34:02 +0000 (UTC)
commit 305df819172e884d2f9e890f5e8df624d0afb1c3
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 | 51 ++++++++++++++++++++++++++++++++++++---------------
gudev/meson.build | 1 +
meson.build | 2 ++
4 files changed, 46 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..6ab563b 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,14 +1,12 @@
+image: fedora:latest
+
variables:
- LAST_ABI_BREAK: "43a593b5b4097b887e49eaacafbc1337bd709718"
+ LAST_ABI_BREAK: "4cd99290ea083a1206a5f73296cc6691a130ab65"
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
diff --git a/gudev/meson.build b/gudev/meson.build
index c12d5f2..fd06a11 100644
--- a/gudev/meson.build
+++ b/gudev/meson.build
@@ -34,6 +34,7 @@ libgudev_c_args = [
libgudev_link_args = [
'-export-dynamic',
+ '-Wl,--version-script,@0@/libgudev-1.0.sym'.format(top_srcdir),
]
libgudev_enums = gnome.mkenums(
diff --git a/meson.build b/meson.build
index f7bc608..c7b6d92 100644
--- a/meson.build
+++ b/meson.build
@@ -82,6 +82,8 @@ configure_file(
configuration: config_h
)
+top_srcdir = meson.current_source_dir()
+
subdir('gudev')
if umockdev_dep.found()
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]