.gitlab-ci.yml 6.17 KB
Newer Older
1
stages:
2
3
  - source
  - binary
4
5
6
7
8
  - test
  - upload

variables:
  DOCKER_IMAGE_BASE: registry.icinga.com/build-docker
9
10
  ICINGA_BUILD_RELEASE_TYPE: testing
  #ICINGA_BUILD_TYPE: snapshot
11

12
13
.source: &source
  stage: source
14
15
16
17
  tags:
    - docker
  image: ${DOCKER_IMAGE_BASE}/${DOCKER_IMAGE}
  script:
18
    - icinga-build-deb-source
19
20
21
22
23
24
25
26
27
  cache:
    key: "${CI_JOB_NAME}"
    paths:
      - 'icinga2.git'
  artifacts:
    paths:
      - build/*
    expire_in: 1 week

28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
.binary: &binary
  stage: binary
  tags:
    - docker
  image: ${DOCKER_IMAGE_BASE}/${DOCKER_IMAGE}
  script:
    - icinga-build-deb-binary
  cache:
    key: "${CI_JOB_NAME}"
    paths:
      - ccache/
  artifacts:
    paths:
      - build/*
    expire_in: 1 week

44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
.test: &test
  stage: test
  tags:
    - docker
  image: ${DOCKER_IMAGE_BASE}/${DOCKER_IMAGE}
  script:
    - find build/
    - icinga-build-test

.upload: &upload
  stage: upload
  tags:
    - docker
  image: ${DOCKER_IMAGE_BASE}/upload
  script:
    - find build/
    - icinga-build-upload-aptly
Markus Frosch's avatar
Markus Frosch committed
61
  only:
Markus Frosch's avatar
Markus Frosch committed
62
63
    - master
    - tags
64
65
66
67

###################################
# Debian
###################################
68
69
70
71
72
73
74
75
76

# buster
debian/buster:
  <<: *source
  variables:
    DOCKER_IMAGE: debian/buster

debian/buster:x86_64:
  <<: *binary
Markus Frosch's avatar
Markus Frosch committed
77
78
  variables:
    DOCKER_IMAGE: debian/buster
79
80
  dependencies:
    - debian/buster
Markus Frosch's avatar
Markus Frosch committed
81

82
test/debian/buster:x86_64:
Markus Frosch's avatar
Markus Frosch committed
83
84
85
86
  <<: *test
  variables:
    DOCKER_IMAGE: debian/buster
  dependencies:
87
    - debian/buster
Markus Frosch's avatar
Markus Frosch committed
88

89
90
debian/buster:x86:
  <<: *binary
Markus Frosch's avatar
Markus Frosch committed
91
92
  variables:
    DOCKER_IMAGE: debian/buster:x86
93
94
  dependencies:
    - debian/buster
Markus Frosch's avatar
Markus Frosch committed
95
96
97
98
99
100

test/debian/buster:x86:
  <<: *test
  variables:
    DOCKER_IMAGE: debian/buster:x86
  dependencies:
101
102
    - debian/buster:x86
    - debian/buster:x86_64
Markus Frosch's avatar
Markus Frosch committed
103
104
105
106

upload/debian/buster:
  <<: *upload
  dependencies:
107
108
109
    - debian/buster:x86
    - debian/buster:x86_64
    - debian/buster
Markus Frosch's avatar
Markus Frosch committed
110

111
112
113
# stretch
debian/stretch:
  <<: *source
114
115
116
  variables:
    DOCKER_IMAGE: debian/stretch

117
118
119
120
121
122
123
124
debian/stretch:x86_64:
  <<: *binary
  variables:
    DOCKER_IMAGE: debian/stretch
  dependencies:
    - debian/stretch

test/debian/stretch:x86_64:
125
126
127
128
  <<: *test
  variables:
    DOCKER_IMAGE: debian/stretch
  dependencies:
129
    - debian/stretch
130

131
132
debian/stretch:x86:
  <<: *binary
133
134
  variables:
    DOCKER_IMAGE: debian/stretch:x86
135
136
  dependencies:
    - debian/stretch
137
138
139
140
141
142

test/debian/stretch:x86:
  <<: *test
  variables:
    DOCKER_IMAGE: debian/stretch:x86
  dependencies:
143
144
    - debian/stretch:x86
    - debian/stretch:x86_64
145
146
147
148

upload/debian/stretch:
  <<: *upload
  dependencies:
149
150
151
    - debian/stretch:x86
    - debian/stretch:x86_64
    - debian/stretch
152

Markus Frosch's avatar
Markus Frosch committed
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
# jessie
debian/jessie:
  <<: *source
  variables:
    DOCKER_IMAGE: debian/jessie

debian/jessie:x86_64:
  <<: *binary
  variables:
    DOCKER_IMAGE: debian/jessie
  dependencies:
    - debian/jessie

test/debian/jessie:x86_64:
  <<: *test
  variables:
    DOCKER_IMAGE: debian/jessie
  dependencies:
    - debian/jessie

debian/jessie:x86:
  <<: *binary
  variables:
    DOCKER_IMAGE: debian/jessie:x86
  dependencies:
    - debian/jessie

test/debian/jessie:x86:
  <<: *test
  variables:
    DOCKER_IMAGE: debian/jessie:x86
  dependencies:
    - debian/jessie:x86
    - debian/jessie:x86_64

upload/debian/jessie:
  <<: *upload
  dependencies:
    - debian/jessie:x86
    - debian/jessie:x86_64
    - debian/jessie

Markus Frosch's avatar
Markus Frosch committed
195
196
197
###################################
# Ubuntu
###################################
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
ubuntu/focal:
  <<: *source
  variables:
    DOCKER_IMAGE: ubuntu/focal

ubuntu/focal:x86_64:
  <<: *binary
  variables:
    DOCKER_IMAGE: ubuntu/focal
  dependencies:
    - ubuntu/focal

test/ubuntu/focal:x86_64:
  <<: *test
  variables:
    DOCKER_IMAGE: ubuntu/focal
  dependencies:
    - ubuntu/focal

upload/ubuntu/focal:
  <<: *upload
  dependencies:
    - ubuntu/focal:x86_64
    - ubuntu/focal
222

Noah Hilverling's avatar
Noah Hilverling committed
223
224
# eoan
ubuntu/eoan:
225
  <<: *source
Markus Frosch's avatar
Markus Frosch committed
226
  variables:
Noah Hilverling's avatar
Noah Hilverling committed
227
    DOCKER_IMAGE: ubuntu/eoan
Markus Frosch's avatar
Markus Frosch committed
228

Noah Hilverling's avatar
Noah Hilverling committed
229
ubuntu/eoan:x86_64:
230
231
  <<: *binary
  variables:
Noah Hilverling's avatar
Noah Hilverling committed
232
    DOCKER_IMAGE: ubuntu/eoan
233
  dependencies:
Noah Hilverling's avatar
Noah Hilverling committed
234
    - ubuntu/eoan
235

Noah Hilverling's avatar
Noah Hilverling committed
236
test/ubuntu/eoan:x86_64:
Markus Frosch's avatar
Markus Frosch committed
237
238
  <<: *test
  variables:
Noah Hilverling's avatar
Noah Hilverling committed
239
    DOCKER_IMAGE: ubuntu/eoan
Markus Frosch's avatar
Markus Frosch committed
240
  dependencies:
Noah Hilverling's avatar
Noah Hilverling committed
241
    - ubuntu/eoan
Markus Frosch's avatar
Markus Frosch committed
242

Noah Hilverling's avatar
Noah Hilverling committed
243
ubuntu/eoan:x86:
244
  <<: *binary
Markus Frosch's avatar
Markus Frosch committed
245
  variables:
Noah Hilverling's avatar
Noah Hilverling committed
246
    DOCKER_IMAGE: ubuntu/eoan:x86
247
  dependencies:
Noah Hilverling's avatar
Noah Hilverling committed
248
    - ubuntu/eoan
Markus Frosch's avatar
Markus Frosch committed
249

Noah Hilverling's avatar
Noah Hilverling committed
250
test/ubuntu/eoan:x86:
Markus Frosch's avatar
Markus Frosch committed
251
252
  <<: *test
  variables:
Noah Hilverling's avatar
Noah Hilverling committed
253
    DOCKER_IMAGE: ubuntu/eoan:x86
Markus Frosch's avatar
Markus Frosch committed
254
  dependencies:
Noah Hilverling's avatar
Noah Hilverling committed
255
256
    - ubuntu/eoan:x86
    - ubuntu/eoan:x86_64
Markus Frosch's avatar
Markus Frosch committed
257

Noah Hilverling's avatar
Noah Hilverling committed
258
upload/ubuntu/eoan:
Markus Frosch's avatar
Markus Frosch committed
259
260
  <<: *upload
  dependencies:
Noah Hilverling's avatar
Noah Hilverling committed
261
262
263
264
    - ubuntu/eoan:x86
    - ubuntu/eoan:x86_64
    - ubuntu/eoan

265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
ubuntu/focal:
  <<: *source
  variables:
    DOCKER_IMAGE: ubuntu/focal

ubuntu/focal:x86_64:
  <<: *binary
  variables:
    DOCKER_IMAGE: ubuntu/focal
  dependencies:
    - ubuntu/focal

test/ubuntu/focal:x86_64:
  <<: *test
  variables:
    DOCKER_IMAGE: ubuntu/focal
  dependencies:
    - ubuntu/focal

upload/ubuntu/focal:
  <<: *upload
  dependencies:
    - ubuntu/focal:x86_64
    - ubuntu/focal
Markus Frosch's avatar
Markus Frosch committed
289

290
291
292
# bionic
ubuntu/bionic:
  <<: *source
Markus Frosch's avatar
Markus Frosch committed
293
294
295
  variables:
    DOCKER_IMAGE: ubuntu/bionic

296
297
298
299
300
301
302
303
ubuntu/bionic:x86_64:
  <<: *binary
  variables:
    DOCKER_IMAGE: ubuntu/bionic
  dependencies:
    - ubuntu/bionic

test/ubuntu/bionic:x86_64:
Markus Frosch's avatar
Markus Frosch committed
304
305
306
307
  <<: *test
  variables:
    DOCKER_IMAGE: ubuntu/bionic
  dependencies:
308
    - ubuntu/bionic
Markus Frosch's avatar
Markus Frosch committed
309

310
311
ubuntu/bionic:x86:
  <<: *binary
Markus Frosch's avatar
Markus Frosch committed
312
313
  variables:
    DOCKER_IMAGE: ubuntu/bionic:x86
314
315
  dependencies:
    - ubuntu/bionic
Markus Frosch's avatar
Markus Frosch committed
316
317
318
319
320
321

test/ubuntu/bionic:x86:
  <<: *test
  variables:
    DOCKER_IMAGE: ubuntu/bionic:x86
  dependencies:
322
323
    - ubuntu/bionic:x86
    - ubuntu/bionic:x86_64
Markus Frosch's avatar
Markus Frosch committed
324
325
326
327

upload/ubuntu/bionic:
  <<: *upload
  dependencies:
328
329
330
    - ubuntu/bionic:x86
    - ubuntu/bionic:x86_64
    - ubuntu/bionic
Markus Frosch's avatar
Markus Frosch committed
331

332
333
334
# xenial
ubuntu/xenial:
  <<: *source
Markus Frosch's avatar
Markus Frosch committed
335
336
337
  variables:
    DOCKER_IMAGE: ubuntu/xenial

338
339
340
341
342
343
344
345
ubuntu/xenial:x86_64:
  <<: *binary
  variables:
    DOCKER_IMAGE: ubuntu/xenial
  dependencies:
    - ubuntu/xenial

test/ubuntu/xenial:x86_64:
Markus Frosch's avatar
Markus Frosch committed
346
347
348
349
  <<: *test
  variables:
    DOCKER_IMAGE: ubuntu/xenial
  dependencies:
350
    - ubuntu/xenial
Markus Frosch's avatar
Markus Frosch committed
351

352
353
ubuntu/xenial:x86:
  <<: *binary
Markus Frosch's avatar
Markus Frosch committed
354
355
  variables:
    DOCKER_IMAGE: ubuntu/xenial:x86
356
357
  dependencies:
    - ubuntu/xenial
Markus Frosch's avatar
Markus Frosch committed
358
359
360
361
362
363

test/ubuntu/xenial:x86:
  <<: *test
  variables:
    DOCKER_IMAGE: ubuntu/xenial:x86
  dependencies:
364
365
    - ubuntu/xenial:x86
    - ubuntu/xenial:x86_64
Markus Frosch's avatar
Markus Frosch committed
366
367
368
369

upload/ubuntu/xenial:
  <<: *upload
  dependencies:
370
371
372
    - ubuntu/xenial:x86
    - ubuntu/xenial:x86_64
    - ubuntu/xenial