Add .gitlab-ci.yml
authorDaniel Stone <daniels@collabora.com>
Tue, 5 Jun 2018 20:22:38 +0000 (21:22 +0100)
committerDaniel Stone <daniels@collabora.com>
Thu, 7 Jun 2018 07:48:24 +0000 (08:48 +0100)
Add a GitLab CI configuration which tests building, 'make check', and
'make distcheck' of the tree inside a Debian Stretch container. The
choice of distribution base was arbitrary and may easily be changed.

When commits are pushed to upstream, the commits will run this CI
pipeline to run these tests, and capture the result as an artifact
bundle, including the compiled binaries and full test suite logs.

Results can be seen at:
    https://gitlab.freedesktop.org/wayland/wayland/pipelines/

Signed-off-by: Daniel Stone <daniels@collabora.com>
.gitlab-ci.yml [new file with mode: 0644]

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644 (file)
index 0000000..bc1a005
--- /dev/null
@@ -0,0 +1,35 @@
+image: debian:stretch
+
+stages:
+  - build
+
+before_script:
+  - echo 'path-exclude=/usr/share/doc/*' > /etc/dpkg/dpkg.cfg.d/99-exclude-cruft
+  - echo 'path-exclude=/usr/share/man/*' >> /etc/dpkg/dpkg.cfg.d/99-exclude-cruft
+  - echo '#!/bin/sh' > /usr/sbin/policy-rc.d
+  - echo 'exit 101' >> /usr/sbin/policy-rc.d
+  - chmod +x /usr/sbin/policy-rc.d
+  - apt-get update
+  - apt-get -y --no-install-recommends install build-essential automake autoconf libtool pkg-config libexpat1-dev libffi-dev libxml2-dev doxygen graphviz xmlto xsltproc docbook-xsl
+
+build-native:
+  stage: build
+  script:
+  - export BUILD_ID="wayland-$CI_JOB_NAME_$CI_COMMIT_SHA-$CI_JOB_ID"
+  - export PREFIX="$(pwd)/prefix-$BUILD_ID"
+  - export BUILDDIR="$(pwd)/build-$BUILD_ID"
+  - export MAKEFLAGS="-j4"
+  - mkdir "$BUILDDIR" "$PREFIX"
+  - cd "$BUILDDIR"
+  - ../autogen.sh --prefix="$PREFIX" --with-icondir=/usr/share/X11/icons
+  - make all
+  - make check
+  - make install
+  - make distcheck
+  artifacts:
+    name: wayland-$CI_COMMIT_SHA-$CI_JOB_ID
+    when: always
+    paths:
+    - build-*/wayland-*.tar.xz
+    - build-*/*.log
+    - prefix-*