CI: Exercise maintainer-only documentation build
authorSimon McVittie <smcv@collabora.com>
Tue, 4 Dec 2018 11:25:21 +0000 (11:25 +0000)
committerSimon McVittie <smcv@collabora.com>
Tue, 4 Dec 2018 12:32:54 +0000 (12:32 +0000)
Signed-off-by: Simon McVittie <smcv@collabora.com>
(cherry picked from commit bcc34caa43d8e5dba8266cf163d8a24e4fb55dce)

tools/ci-build.sh
tools/ci-install.sh

index 299070d..cb19f4a 100755 (executable)
@@ -31,6 +31,11 @@ NULL=
 # Build system under test: autotools or cmake
 : "${ci_buildsys:=autotools}"
 
+# ci_distro:
+# OS distribution in which we are testing
+# Typical values: ubuntu, debian; maybe fedora in future
+: "${ci_distro:=ubuntu}"
+
 # ci_docker:
 # If non-empty, this is the name of a Docker image. ci-install.sh will
 # fetch it with "docker pull" and use it as a base for a new Docker image
@@ -52,6 +57,12 @@ NULL=
 # If yes, assume we can get root using sudo; if no, only use current user
 : "${ci_sudo:=no}"
 
+# ci_suite:
+# OS suite (release, branch) in which we are testing.
+# Typical values for ci_distro=debian: sid, jessie
+# Typical values for ci_distro=fedora might be 25, rawhide
+: "${ci_suite:=xenial}"
+
 # ci_test:
 # If yes, run tests; if no, just build
 : "${ci_test:=yes}"
@@ -233,6 +244,19 @@ case "$ci_buildsys" in
         ${make} install DESTDIR=$(pwd)/DESTDIR
         ( cd DESTDIR && find . -ls )
 
+        case "$ci_suite" in
+            (jessie|xenial|stretch)
+                # these are too old for maintainer-upload-docs
+                ;;
+
+            (*)
+                # assume Ubuntu 18.04 'bionic', Debian 10 'buster' or newer
+                ${make} -C doc dbus-docs.tar.xz
+                tar -C $(pwd)/DESTDIR -xf doc/dbus-docs.tar.xz
+                ( cd DESTDIR/dbus-docs && find . -ls )
+                ;;
+        esac
+
         if [ "$ci_sudo" = yes ] && [ "$ci_test" = yes ]; then
             sudo ${make} install
             sudo env LD_LIBRARY_PATH=/usr/local/lib \
index 810b02e..1c2e3b6 100755 (executable)
@@ -167,6 +167,15 @@ case "$ci_distro" in
                 $sudo dpkg -i autoconf-archive_*_all.deb
                 rm autoconf-archive_*_all.deb
                 ;;
+
+            (stretch)
+                # Debian 9 'stretch' didn't have the ducktype package
+                ;;
+
+            (*)
+                # assume Ubuntu 18.04 'bionic', Debian 10 'buster' or newer
+                $sudo apt-get -qq -y install ducktype
+                ;;
         esac
         ;;