summaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
diff options
context:
space:
mode:
authorSimon McVittie <smcv@collabora.com>2018-10-03 17:25:43 +0100
committerSimon McVittie <smcv@collabora.com>2018-10-04 16:54:10 +0100
commit5c204a9ee559b12c2ec72a7b3dfe9e35cc4166ad (patch)
treeea71073ca5f2d14a64066aa0c8a41592a228aed2 /.gitlab-ci.yml
parent6995c5ea5b92d2f68f7d76f3c5361dd9097d2a27 (diff)
downloaddbus-5c204a9ee559b12c2ec72a7b3dfe9e35cc4166ad.tar.gz
ci: Add Gitlab-CI configuration
This uses the same shell scripts as Travis-CI, with slightly different settings. We use Docker containers for all our Gitlab-CI runs, so take the opportunity to use Debian 9 'stretch' as our baseline, and relegate Ubuntu 14.04 'trusty' to to a secondary build. Signed-off-by: Simon McVittie <smcv@collabora.com> Bug: https://bugs.freedesktop.org/show_bug.cgi?id=108177 Acked-by: Philip Withnall <withnall@endlessm.com> (cherry picked from commit 60933c09e9e891f74f0102fabe22d29a1a7ae5c5)
Diffstat (limited to '.gitlab-ci.yml')
-rw-r--r--.gitlab-ci.yml132
1 files changed, 132 insertions, 0 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 00000000..2c042aa2
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,132 @@
+# Copyright © 2015-2018 Collabora Ltd.
+#
+# Permission is hereby granted, free of charge, to any person
+# obtaining a copy of this software and associated documentation files
+# (the "Software"), to deal in the Software without restriction,
+# including without limitation the rights to use, copy, modify, merge,
+# publish, distribute, sublicense, and/or sell copies of the Software,
+# and to permit persons to whom the Software is furnished to do so,
+# subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be
+# included in all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+# SOFTWARE.
+
+image: debian:stretch-slim
+
+stages:
+ - build
+
+before_script:
+ - ./tools/ci-install.sh
+
+variables:
+ ci_in_docker: "yes"
+ ci_parallel: "2"
+ ci_sudo: "yes"
+ ci_distro: "debian"
+ ci_suite: "stretch"
+
+build:production:
+ stage: build
+ image: "debian:stretch-slim"
+ variables:
+ ci_variant: "production"
+ script: &script
+ - chown -R user .
+ - runuser -u user ./tools/ci-build.sh
+
+build:debug:
+ stage: build
+ image: "debian:stretch-slim"
+ variables:
+ ci_variant: "debug"
+ script: *script
+
+build:reduced:
+ stage: build
+ image: "debian:stretch-slim"
+ variables:
+ ci_variant: "reduced"
+ script: *script
+
+build:legacy:
+ stage: build
+ image: "debian:stretch-slim"
+ variables:
+ ci_variant: "legacy"
+ script: *script
+
+build:cmake:
+ stage: build
+ image: "debian:stretch-slim"
+ variables:
+ ci_buildsys: "cmake"
+ script: *script
+
+build:i686-w64-mingw32:
+ stage: build
+ image: "debian:stretch-slim"
+ variables:
+ ci_host: "i686-w64-mingw32"
+ script: *script
+
+build:i686-w64-mingw32-cmake-debug:
+ stage: build
+ image: "debian:stretch-slim"
+ variables:
+ ci_buildsys: "cmake"
+ ci_host: "i686-w64-mingw32"
+ ci_variant: "debug"
+ script: *script
+
+build:x86_64-w64-mingw32-debug:
+ stage: build
+ image: "debian:stretch-slim"
+ variables:
+ ci_host: "i686-w64-mingw32"
+ ci_variant: "debug"
+ script: *script
+
+build:x86_64-w64-mingw32-cmake:
+ stage: build
+ image: "debian:stretch-slim"
+ variables:
+ ci_buildsys: "cmake"
+ ci_host: "i686-w64-mingw32"
+ script: *script
+
+build:jessie:
+ stage: build
+ image: "debian:jessie-slim"
+ variables:
+ ci_suite: "jessie"
+ script: *script
+
+build:xenial:
+ stage: build
+ image: "ubuntu:xenial"
+ variables:
+ ci_distro: "ubuntu"
+ ci_suite: "xenial"
+ script: *script
+
+build:trusty:
+ stage: build
+ image: "ubuntu:trusty"
+ variables:
+ ci_distro: "ubuntu"
+ ci_suite: "trusty"
+ script:
+ - chown -R user .
+ - sudo -u user -H ./tools/ci-build.sh
+
+# vim:set sw=2 sts=2 et: