Use custom jenkins-job-builder
[lttng-ci.git] / jobs / babeltrace.yaml
CommitLineData
890bff23
MJ
1- defaults:
2 name: babeltrace
3 description: |
4 The Babeltrace project provides trace read and write libraries, as well
5 as a trace converter. Plugins can be created for any trace format to
6 allow its conversion to/from another trace format.
7
8 The main format expected to be converted to/from is the Common Trace
9 Format (CTF). The default input format of the "babeltrace" command is
10 CTF, and its default output format is a human-readable text log. The
11 "babeltrace-log" command converts from a text log to a CTF trace.
12
13 <p>Job is managed by Jenkins Job Builder.</p>
14
15 project-type: freestyle
16
890bff23 17 wrappers:
b9c55ae7
MJ
18 - ansicolor
19 - timeout:
20 timeout: 90
21 fail: true
22 type: absolute
890bff23 23 - timestamps
b9c55ae7
MJ
24 - workspace-cleanup:
25 clean-if:
26 - failure: false
890bff23
MJ
27
28 scm:
29 - git:
4f827afb 30 url: git://github.com/{github_user}/{github_name}.git
890bff23 31 browser: githubweb
4f827afb 32 browser-url: https://github.com/{github_user}/{github_name}
890bff23
MJ
33 branches:
34 - origin/{version}
e6be9fb0 35 basedir: src/babeltrace
944a6c86 36 skip-tag: true
b9c55ae7 37 git-tool: jgit
890bff23
MJ
38
39 triggers:
6cf22a3a
MJ
40 - pollscm:
41 cron: "@hourly"
890bff23
MJ
42
43 properties:
69f05d59
MJ
44 - inject:
45 properties-content: |
46 PROJECT_NAME=babeltrace
edf72710
MJ
47 - build-discarder:
48 num-to-keep: 2
890bff23 49 - github:
4f827afb 50 url: https://github.com/{github_user}/{github_name}
890bff23
MJ
51
52
b9c55ae7
MJ
53## Anchors
54- babeltrace_build_axes_defaults: &babeltrace_build_axes_defaults
55 name: 'babeltrace_build_axes_defaults'
890bff23 56 project-type: matrix
ca8c6144 57 node: 'master' # Applies only to matrix flyweight task
890bff23
MJ
58 axes:
59 - axis:
60 type: slave
61 name: arch
62 values: '{obj:arch}'
63 - axis:
64 type: user-defined
65 name: conf
87e41bca 66 values: '{obj:conf}'
890bff23
MJ
67 - axis:
68 type: user-defined
69 name: build
9d0846f3 70 values: '{obj:build}'
890bff23 71
b9c55ae7
MJ
72- babeltrace_build_builders_defaults: &babeltrace_build_builders_defaults
73 name: 'babeltrace_build_builders_defaults'
890bff23
MJ
74 builders:
75 - shell:
ef63064f 76 !include-raw-escape: scripts/babeltrace/build.sh
890bff23 77
b9c55ae7
MJ
78- babeltrace_build_builders_win: &babeltrace_build_builders_win
79 name: 'babeltrace_build_builders_win'
80 builders:
81 - conditional-step:
82 condition-kind: strings-match
83 on-evaluation-failure: run
84 condition-string1: '${{arch}}'
85 condition-string2: 'cygwin'
86 steps:
87 - shell:
88 !include-raw-escape:
89 - scripts/common/cygwin-shebang
90 - scripts/common/cygwin-prefix
91 - scripts/babeltrace/build.sh
92 - conditional-step:
93 condition-kind: strings-match
94 on-evaluation-failure: run
95 condition-string1: '${{arch}}'
96 condition-string2: 'cygwin64'
97 steps:
98 - shell:
99 !include-raw-escape:
100 - scripts/common/cygwin64-shebang
101 - scripts/common/cygwin-prefix
102 - scripts/babeltrace/build.sh
103 - conditional-step:
104 condition-kind: strings-match
105 on-evaluation-failure: run
106 condition-string1: '${{arch}}'
8f541678 107 condition-string2: 'msys2-mingw32'
b9c55ae7
MJ
108 steps:
109 - inject:
110 properties-content: 'MSYSTEM=MINGW32'
111 - shell:
112 !include-raw-escape:
8f541678 113 - scripts/common/msys2-shebang
b9c55ae7
MJ
114 - scripts/common/cygwin-prefix
115 - scripts/babeltrace/build.sh
116 - conditional-step:
117 condition-kind: strings-match
118 on-evaluation-failure: run
119 condition-string1: '${{arch}}'
8f541678 120 condition-string2: 'msys2-mingw64'
b9c55ae7
MJ
121 steps:
122 - inject:
123 properties-content: 'MSYSTEM=MINGW64'
124 - shell:
125 !include-raw-escape:
8f541678 126 - scripts/common/msys2-shebang
b9c55ae7
MJ
127 - scripts/common/cygwin-prefix
128 - scripts/babeltrace/build.sh
129
130
131- babeltrace_build_publishers_defaults: &babeltrace_build_publishers_defaults
132 name: 'babeltrace_build_publishers_defaults'
890bff23
MJ
133 publishers:
134 - tap:
e6be9fb0 135 results: 'tap/**/*.log'
890bff23 136 failed-tests-mark-build-as-failure: true
95654431 137 todo-is-failure: false
890bff23
MJ
138 - warnings:
139 console-log-parsers:
140 - 'GNU Make + GNU C Compiler (gcc)'
141 total-thresholds:
51ca880a 142 unstable:
d2c76ee5
MJ
143 total-all: 0
144 total-high: 0
145 total-normal: 0
146 total-low: 0
b9c55ae7
MJ
147
148- babeltrace_build_publishers_prod: &babeltrace_build_publishers_prod
149 name: 'babeltrace_build_publishers_prod'
150 publishers:
0efb2471
JR
151 - tap:
152 results: 'tap/**/*.log'
153 failed-tests-mark-build-as-failure: true
154 todo-is-failure: false
155 - warnings:
156 console-log-parsers:
157 - 'GNU Make + GNU C Compiler (gcc)'
158 total-thresholds:
159 unstable:
160 total-all: 0
161 total-high: 0
162 total-normal: 0
163 total-low: 0
890bff23
MJ
164 - archive:
165 artifacts: 'build/**'
166 allow-empty: false
1f6ad2ae 167 - ircbot:
95654431 168 strategy: new-failure-and-fixed
1f6ad2ae
MJ
169 matrix-notifier: only-parent
170 channels:
171 - name: '#lttng'
890bff23 172
b9c55ae7
MJ
173## Templates
174
175- job-template:
176 name: babeltrace_{version}_{buildtype}
177 defaults: babeltrace
178
179 <<: *babeltrace_build_axes_defaults
180 <<: *babeltrace_build_builders_defaults
b9c55ae7
MJ
181 <<: *babeltrace_build_publishers_prod
182
183- job-template:
184 name: babeltrace_{version}_winbuild
185 defaults: babeltrace
186
187 <<: *babeltrace_build_axes_defaults
188 <<: *babeltrace_build_builders_win
b9c55ae7
MJ
189 <<: *babeltrace_build_publishers_prod
190
4f827afb
JR
191- job-template:
192 name: dev_{user}_babeltrace_{version}_{buildtype}
b9c55ae7
MJ
193 defaults: babeltrace
194
195 <<: *babeltrace_build_axes_defaults
196 <<: *babeltrace_build_builders_defaults
197 <<: *babeltrace_build_publishers_defaults
4f827afb 198
890bff23
MJ
199- job-template:
200 name: babeltrace_{version}_cppcheck
201 defaults: babeltrace
202
203 triggers:
6cf22a3a
MJ
204 - pollscm:
205 cron: "@daily"
890bff23
MJ
206
207 builders:
208 - shell: |
209 rm -f babeltrace-cppcheck.xml
73778992 210 cppcheck --enable=all --xml --xml-version=2 $WORKSPACE/src/babeltrace 2> babeltrace-cppcheck.xml
890bff23
MJ
211
212 publishers:
213 - archive:
214 artifacts: 'babeltrace-cppcheck.xml'
215 allow-empty: false
890bff23
MJ
216 - cppcheck:
217 pattern: 'babeltrace-cppcheck.xml'
890bff23
MJ
218
219- job-template:
220 name: babeltrace_{version}_scan-build
221 defaults: babeltrace
222 node: 'x86-64'
223
224 triggers:
6cf22a3a
MJ
225 - pollscm:
226 cron: "@daily"
890bff23
MJ
227
228 builders:
229 - shell:
69f05d59 230 !include-raw-escape: scripts/common/scan-build.sh
890bff23
MJ
231
232 publishers:
233 - html-publisher:
234 name: 'HTML Report'
235 dir: 'scan-build-archive/'
236 files: 'index.html'
237
6cf22a3a
MJ
238- job-template:
239 name: babeltrace_{version}_coverity
240 defaults: babeltrace
241 node: 'x86-64'
242
243 triggers:
244 - pollscm:
245 cron: "@daily"
246
247 wrappers:
248 - workspace-cleanup
249 - timestamps
250 - ansicolor:
251 colormap: xterm
252 - credentials-binding:
253 - username-password-separated:
254 credential-id: babeltrace_coverity_token
255 username: COVERITY_SCAN_PROJECT_NAME
256 password: COVERITY_SCAN_TOKEN
257 builders:
258 - shell:
ef63064f 259 !include-raw-escape: scripts/common/coverity.sh
6cf22a3a
MJ
260
261 publishers:
262 - workspace-cleanup
73778992
MJ
263 - archive:
264 artifacts: 'analysis-results.tgz,cov-int/**'
265 allow-empty: false
890bff23
MJ
266
267- job-template:
268 name: babeltrace_{version}_pylint
269 defaults: babeltrace
270 node: 'x86-64'
271
272 scm: []
273
274 triggers:
6cf22a3a
MJ
275 - pollscm:
276 cron: "@daily"
890bff23
MJ
277
278 builders:
279 - copyartifact:
ce1e1df3 280 project: babeltrace_{version}_build/arch=x86-64,build=std,conf=python-bindings
890bff23 281 which-build: last-successful
3522265a 282 stable: false
890bff23 283 filter: 'build/**'
b0afcb47 284 target: 'deps/babeltrace'
890bff23 285 - shell:
ef63064f 286 !include-raw-escape: scripts/babeltrace/pylint.sh
890bff23
MJ
287
288 publishers:
289 - archive:
290 artifacts: 'pep8.out,pylint.out'
890bff23
MJ
291 - violations:
292 pep8:
293 pattern: pep8.out
294 min: 10
295 max: 999
296 unstable: 999
297 pylint:
298 pattern: pylint.out
299 min: 10
300 max: 999
301 unstable: 999
302 - email:
303 recipients: 'ci-notification@lists.lttng.org'
304 notify-every-unstable-build: true
305 send-to-individuals: false
306
556e87cc
JR
307# Use - in version number since yaml anchor do not support dot
308- babeltrace_version_glib-2-22-5_anchor: &babeltrace_version_glib-2-22-5_anchor
309 name: 'babeltrace_version_glib_anchor'
310 defaults: babeltrace
311 node: 'x86-64'
312
313 builders:
314 - inject:
315 properties-content: |
316 LD_LIBRARY_PATH=$WORKSPACE/glib-2.22.5/BUILD_RESULT/lib
317 PKG_CONFIG_PATH=$WORKSPACE/glib-2.22.5/BUILD_RESULT/lib/pkgconfig
318 arch=x86-64
319 conf=std
320 build=std
321 - shell: |
322 wget http://ftp.gnome.org/pub/gnome/sources/glib/2.22/glib-2.22.5.tar.gz
323 tar xvf glib-2.22.5.tar.gz
324 cd glib-2.22.5
325 mkdir BUILD_RESULT
326 ./configure --prefix=$WORKSPACE/glib-2.22.5/BUILD_RESULT
327 make -j `nproc`
328 make install
329
330 - shell:
331 !include-raw-escape: scripts/babeltrace/build.sh
332
333- job-template:
334 name: babeltrace_{version}_glib-2.22.5
335 triggers:
336 - pollscm:
337 cron: "@daily"
338 <<: *babeltrace_version_glib-2-22-5_anchor
339
340- job-template:
341 name: dev_{user}_babeltrace_{version}_glib-2.22.5
342 <<: *babeltrace_version_glib-2-22-5_anchor
890bff23 343
b9c55ae7 344
890bff23
MJ
345## Project
346- project:
347 name: babeltrace
4f827afb
JR
348 github_user: efficios
349 github_name: babeltrace
890bff23 350 version:
ecf9997a
MJ
351 - stable-1.3
352 - stable-1.4
9eb09611 353 - stable-1.5
a0b535b2 354 - stable-2.0
ecf9997a 355 - master
890bff23 356 jobs:
57ae8ff4
MJ
357 - 'babeltrace_{version}_{buildtype}':
358 buildtype: build
890bff23 359 arch: !!python/tuple [x86-32, x86-64]
9d0846f3 360 build: !!python/tuple [std, oot, dist]
87e41bca 361 conf: !!python/tuple [std, static, python-bindings]
0628a9d8
MJ
362 - 'babeltrace_{version}_{buildtype}':
363 buildtype: clangbuild
364 arch: !!python/tuple [x86-32, x86-64]
365 build: !!python/tuple [clang]
366 conf: !!python/tuple [std, static]
57ae8ff4
MJ
367 - 'babeltrace_{version}_{buildtype}':
368 buildtype: portbuild
c56b9301 369 arch: !!python/tuple [armhf, arm64, powerpc, ppc64el]
9d0846f3 370 build: !!python/tuple [std]
87e41bca 371 conf: !!python/tuple [std, static, python-bindings]
81bf613d
MJ
372 - 'babeltrace_{version}_{buildtype}':
373 buildtype: slesbuild
374 arch: !!python/tuple [sles12sp2]
375 build: !!python/tuple [std]
376 conf: !!python/tuple [std]
87e41bca
MJ
377 - 'babeltrace_{version}_{buildtype}':
378 buildtype: solarisbuild
a0b535b2 379 arch: !!python/tuple [sol10-i386, sol11-i386]
87e41bca
MJ
380 build: !!python/tuple [std]
381 conf: !!python/tuple [std, static]
221450b6
MJ
382 - 'babeltrace_{version}_{buildtype}':
383 buildtype: macosxbuild
384 arch: !!python/tuple [macosx]
385 build: !!python/tuple [std]
cd12b140 386 conf: !!python/tuple [std]
a0b535b2 387 version: # macOS support was introduced in 1.4
ecf9997a 388 - stable-1.4
9eb09611 389 - stable-1.5
a0b535b2 390 - stable-2.0
221450b6 391 - master
8f541678
MJ
392 - 'babeltrace_{version}_winbuild':
393 arch: !!python/tuple [cygwin, cygwin64, msys2-mingw32, msys2-mingw64]
394 build: !!python/tuple [std]
395 conf: !!python/tuple [std]
a0b535b2
MJ
396 version: # Mingw support was introduced in 2.0
397 - stable-2.0
8f541678 398 - master
b9c55ae7
MJ
399 - 'babeltrace_{version}_winbuild':
400 arch: !!python/tuple [cygwin, cygwin64]
401 build: !!python/tuple [std]
402 conf: !!python/tuple [std]
a0b535b2 403 version: # Cygwin support was introduced in 1.5
b9c55ae7 404 - stable-1.5
890bff23
MJ
405 - 'babeltrace_{version}_cppcheck'
406 - 'babeltrace_{version}_scan-build'
407 - 'babeltrace_{version}_pylint'
6cf22a3a
MJ
408 - 'babeltrace_{version}_coverity':
409 version: master
556e87cc
JR
410 - 'babeltrace_{version}_glib-2.22.5':
411 version: master
a0b535b2
MJ
412
413
414- project:
415 name: babeltrace-jgalar-staging
416 user: jgalar
417 github_user: jgalar
418 github_name: babeltrace
419 version:
420 - stable-1.3-staging
421 - stable-1.4-staging
422 - stable-1.5-staging
423 - stable-2.0-staging
424 - master-staging
425 jobs:
556e87cc 426 - 'dev_{user}_babeltrace_{version}_glib-2.22.5':
556e87cc
JR
427 version:
428 - master-staging
4f827afb 429 - 'dev_{user}_babeltrace_{version}_{buildtype}':
4f827afb 430 buildtype: build
4f827afb
JR
431 arch: !!python/tuple [x86-32, x86-64]
432 build: !!python/tuple [std, oot, dist]
433 conf: !!python/tuple [std, static, python-bindings]
4b9bec35 434 - 'dev_{user}_babeltrace_{version}_{buildtype}':
4b9bec35 435 buildtype: macosxbuild
a0b535b2 436 version: # macOS support was introduced in 1.4
4b9bec35
MJ
437 - stable-1.4-staging
438 - stable-1.5-staging
a0b535b2
MJ
439 - stable-2.0-staging
440 - master-staging
4b9bec35
MJ
441 arch: !!python/tuple [macosx]
442 build: !!python/tuple [std]
443 conf: !!python/tuple [std]
890bff23 444
This page took 0.044049 seconds and 4 git commands to generate.