summaryrefslogtreecommitdiff
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 11:19:32 +0100
commitee8bf191083f302bfa470421f6fd39c50a087cf0 (patch)
treea1673aa44df985dd3c4ac8d6ac4bbf168e86d060
parent51cd9706f67968298aa9a3502ce4169dcc0fd61c (diff)
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)
-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: