From 5c204a9ee559b12c2ec72a7b3dfe9e35cc4166ad Mon Sep 17 00:00:00 2001 From: Simon McVittie Date: Wed, 3 Oct 2018 17:25:43 +0100 Subject: 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 Bug: https://bugs.freedesktop.org/show_bug.cgi?id=108177 Acked-by: Philip Withnall (cherry picked from commit 60933c09e9e891f74f0102fabe22d29a1a7ae5c5) --- .gitlab-ci.yml | 132 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 132 insertions(+) create mode 100644 .gitlab-ci.yml 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: -- cgit v1.2.1