bus: Assign a serial number for messages from the driver
[platform/upstream/dbus.git] / .gitlab-ci.yml
1 # Copyright © 2015-2018 Collabora Ltd.
2 #
3 # Permission is hereby granted, free of charge, to any person
4 # obtaining a copy of this software and associated documentation files
5 # (the "Software"), to deal in the Software without restriction,
6 # including without limitation the rights to use, copy, modify, merge,
7 # publish, distribute, sublicense, and/or sell copies of the Software,
8 # and to permit persons to whom the Software is furnished to do so,
9 # subject to the following conditions:
10 #
11 # The above copyright notice and this permission notice shall be
12 # included in all copies or substantial portions of the Software.
13 #
14 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15 # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16 # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17 # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
18 # BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
19 # ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20 # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 # SOFTWARE.
22
23 image: debian:stretch-slim
24
25 stages:
26   - build
27
28 before_script:
29   - ./tools/ci-install.sh
30   - mkdir -p .ccache
31   - export CCACHE_BASEDIR="$(pwd)"
32   - export CCACHE_DIR="$CCACHE_BASEDIR/.ccache"
33   # Debian's ccache package creates symlinks here for all supported
34   # compilers
35   - export PATH="/usr/lib/ccache:$PATH"
36
37 cache:
38   key: dbus-1.12-${CI_JOB_NAME}
39   paths:
40     - .ccache/
41
42 variables:
43   ci_in_docker: "yes"
44   ci_parallel: "2"
45   ci_sudo: "yes"
46   ci_distro: "debian"
47   ci_suite: "stretch"
48
49 build:production:
50   stage: build
51   image: "debian:stretch-slim"
52   variables:
53     ci_variant: "production"
54   script: &script
55     - chown -R user .
56     - runuser -u user ./tools/ci-build.sh
57
58 build:debug:
59   stage: build
60   image: "debian:stretch-slim"
61   variables:
62     ci_variant: "debug"
63   script: *script
64
65 build:reduced:
66   stage: build
67   when: manual
68   image: "debian:stretch-slim"
69   variables:
70     ci_variant: "reduced"
71   script: *script
72
73 build:legacy:
74   stage: build
75   when: manual
76   image: "debian:stretch-slim"
77   variables:
78     ci_variant: "legacy"
79   script: *script
80
81 build:cmake:
82   stage: build
83   image: "debian:stretch-slim"
84   variables:
85     ci_buildsys: "cmake"
86   script: *script
87
88 build:i686-w64-mingw32-debug:
89   stage: build
90   image: "debian:stretch-slim"
91   variables:
92     ci_host: "i686-w64-mingw32"
93     ci_variant: "debug"
94   script: *script
95
96 build:i686-w64-mingw32-cmake:
97   stage: build
98   when: manual
99   image: "debian:stretch-slim"
100   variables:
101     ci_buildsys: "cmake"
102     ci_host: "i686-w64-mingw32"
103   script: *script
104
105 build:x86_64-w64-mingw32:
106   stage: build
107   image: "debian:stretch-slim"
108   variables:
109     ci_host: "i686-w64-mingw32"
110   script: *script
111
112 build:x86_64-w64-mingw32-cmake-debug:
113   stage: build
114   when: manual
115   image: "debian:stretch-slim"
116   variables:
117     ci_buildsys: "cmake"
118     ci_host: "i686-w64-mingw32"
119     ci_variant: "debug"
120   script: *script
121
122 build:jessie:
123   when: manual
124   stage: build
125   image: "debian:jessie-slim"
126   variables:
127     ci_suite: "jessie"
128   script: *script
129
130 build:buster:
131   when: manual
132   stage: build
133   image: "debian:buster-slim"
134   variables:
135     ci_suite: "buster"
136   script: *script
137
138 build:xenial:
139   when: manual
140   stage: build
141   image: "ubuntu:xenial"
142   variables:
143     ci_distro: "ubuntu"
144     ci_suite: "xenial"
145   script: *script
146
147 # vim:set sw=2 sts=2 et: