jjb: Add multi-version clang build to babeltrace
[lttng-ci.git] / jobs / babeltrace.yaml
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
17 wrappers:
18 - ansicolor
19 - timeout:
20 timeout: 90
21 fail: true
22 type: absolute
23 - timestamps
24 - workspace-cleanup:
25 clean-if:
26 - failure: false
27
28 scm:
29 - git:
30 url: git://github.com/{github_user}/{github_name}.git
31 browser: githubweb
32 browser-url: https://github.com/{github_user}/{github_name}
33 branches:
34 - origin/{version}
35 basedir: src/babeltrace
36 skip-tag: true
37 git-tool: jgit
38
39 triggers:
40 - pollscm:
41 cron: "@hourly"
42
43 properties:
44 - inject:
45 properties-content: |
46 PROJECT_NAME=babeltrace
47 - build-discarder:
48 num-to-keep: 2
49 - github:
50 url: https://github.com/{github_user}/{github_name}
51
52
53 ## Anchors
54 - babeltrace_build_axes_defaults: &babeltrace_build_axes_defaults
55 name: 'babeltrace_build_axes_defaults'
56 project-type: matrix
57 node: 'master' # Applies only to matrix flyweight task
58 axes:
59 - axis:
60 type: slave
61 name: arch
62 values: '{obj:arch}'
63 - axis:
64 type: user-defined
65 name: conf
66 values: '{obj:conf}'
67 - axis:
68 type: user-defined
69 name: build
70 values: '{obj:build}'
71
72 - babeltrace_build_axes_cc: &babeltrace_build_axes_cc
73 name: 'babeltrace_build_axes_cc'
74 project-type: matrix
75 node: 'master' # Applies only to matrix flyweight task
76 axes:
77 - axis:
78 type: slave
79 name: arch
80 values: '{obj:arch}'
81 - axis:
82 type: user-defined
83 name: conf
84 values: '{obj:conf}'
85 - axis:
86 type: user-defined
87 name: build
88 values: '{obj:build}'
89 - axis:
90 type: user-defined
91 name: cc
92 values: '{obj:cc}'
93
94 - babeltrace_build_builders_defaults: &babeltrace_build_builders_defaults
95 name: 'babeltrace_build_builders_defaults'
96 builders:
97 - shell:
98 !include-raw-escape: scripts/babeltrace/build.sh
99
100 - babeltrace_build_builders_win: &babeltrace_build_builders_win
101 name: 'babeltrace_build_builders_win'
102 builders:
103 - conditional-step:
104 condition-kind: strings-match
105 on-evaluation-failure: run
106 condition-string1: '${{arch}}'
107 condition-string2: 'cygwin'
108 steps:
109 - shell:
110 !include-raw-escape:
111 - scripts/common/cygwin-shebang
112 - scripts/common/cygwin-prefix
113 - scripts/babeltrace/build.sh
114 - conditional-step:
115 condition-kind: strings-match
116 on-evaluation-failure: run
117 condition-string1: '${{arch}}'
118 condition-string2: 'cygwin64'
119 steps:
120 - shell:
121 !include-raw-escape:
122 - scripts/common/cygwin64-shebang
123 - scripts/common/cygwin-prefix
124 - scripts/babeltrace/build.sh
125 - conditional-step:
126 condition-kind: strings-match
127 on-evaluation-failure: run
128 condition-string1: '${{arch}}'
129 condition-string2: 'msys2-mingw32'
130 steps:
131 - inject:
132 properties-content: 'MSYSTEM=MINGW32'
133 - shell:
134 !include-raw-escape:
135 - scripts/common/msys2-shebang
136 - scripts/common/cygwin-prefix
137 - scripts/babeltrace/build.sh
138 - conditional-step:
139 condition-kind: strings-match
140 on-evaluation-failure: run
141 condition-string1: '${{arch}}'
142 condition-string2: 'msys2-mingw64'
143 steps:
144 - inject:
145 properties-content: 'MSYSTEM=MINGW64'
146 - shell:
147 !include-raw-escape:
148 - scripts/common/msys2-shebang
149 - scripts/common/cygwin-prefix
150 - scripts/babeltrace/build.sh
151
152
153 - babeltrace_build_publishers_dev: &babeltrace_build_publishers_dev
154 name: 'babeltrace_build_publishers_dev'
155 publishers:
156 - tap:
157 results: 'tap/**/*.log'
158 failed-tests-mark-build-as-failure: true
159 todo-is-failure: false
160 - warnings:
161 console-log-parsers:
162 - 'GNU Make + GNU C Compiler (gcc)'
163 total-thresholds:
164 unstable:
165 total-all: 0
166 total-high: 0
167 total-normal: 0
168 total-low: 0
169 - email-ext:
170 recipients: '{obj:email_to}'
171 always: false
172 unstable: false
173 first-failure: true
174 first-unstable: true
175 not-built: false
176 aborted: false
177 regression: false
178 failure: false
179 second-failure: false
180 improvement: false
181 still-failing: false
182 success: false
183 fixed: false
184 fixed-unhealthy: true
185 still-unstable: false
186 pre-build: false
187 matrix-trigger: only-parent
188 send-to:
189 - recipients
190
191
192 - babeltrace_build_publishers_prod: &babeltrace_build_publishers_prod
193 name: 'babeltrace_build_publishers_prod'
194 publishers:
195 - tap:
196 results: 'tap/**/*.log'
197 failed-tests-mark-build-as-failure: true
198 todo-is-failure: false
199 - warnings:
200 console-log-parsers:
201 - 'GNU Make + GNU C Compiler (gcc)'
202 total-thresholds:
203 unstable:
204 total-all: 0
205 total-high: 0
206 total-normal: 0
207 total-low: 0
208 - archive:
209 artifacts: 'build/**'
210 allow-empty: false
211 - email-ext:
212 recipients: '{obj:email_to}'
213 reply-to: ci-notification@lists.lttng.org
214 always: false
215 unstable: false
216 first-failure: true
217 first-unstable: true
218 not-built: false
219 aborted: false
220 regression: false
221 failure: false
222 second-failure: false
223 improvement: false
224 still-failing: false
225 success: false
226 fixed: false
227 fixed-unhealthy: true
228 still-unstable: false
229 pre-build: false
230 matrix-trigger: only-parent
231 send-to:
232 - recipients
233
234 ## Templates
235
236 - job-template:
237 name: babeltrace_{version}_{buildtype}
238 defaults: babeltrace
239
240 <<: *babeltrace_build_axes_defaults
241 <<: *babeltrace_build_builders_defaults
242 <<: *babeltrace_build_publishers_prod
243
244 - job-template:
245 name: babeltrace_{version}_{cctype}
246 defaults: babeltrace
247
248 <<: *babeltrace_build_axes_cc
249 <<: *babeltrace_build_builders_defaults
250 <<: *babeltrace_build_publishers_prod
251
252 - job-template:
253 name: babeltrace_{version}_winbuild
254 defaults: babeltrace
255
256 <<: *babeltrace_build_axes_defaults
257 <<: *babeltrace_build_builders_win
258 <<: *babeltrace_build_publishers_prod
259
260 - job-template:
261 name: dev_{user}_babeltrace_{version}_{buildtype}
262 defaults: babeltrace
263
264 <<: *babeltrace_build_axes_defaults
265 <<: *babeltrace_build_builders_defaults
266 <<: *babeltrace_build_publishers_dev
267
268 - job-template:
269 name: babeltrace_{version}_cppcheck
270 defaults: babeltrace
271
272 triggers:
273 - pollscm:
274 cron: "@daily"
275
276 builders:
277 - shell: |
278 rm -f cppcheck-result.xml
279 cppcheck --enable=all --xml --xml-version=2 $WORKSPACE/src/babeltrace 2> cppcheck-result.xml
280
281 publishers:
282 - archive:
283 artifacts: 'cppcheck-result.xml'
284 allow-empty: false
285 - cppcheck:
286 pattern: 'cppcheck-result.xml'
287
288 - job-template:
289 name: babeltrace_{version}_scan-build
290 defaults: babeltrace
291 node: 'amd64'
292
293 triggers:
294 - pollscm:
295 cron: "@daily"
296
297 builders:
298 - shell:
299 !include-raw-escape: scripts/common/scan-build.sh
300
301 publishers:
302 - html-publisher:
303 name: 'HTML Report'
304 dir: 'scan-build-archive/'
305 files: 'index.html'
306
307 - job-template:
308 name: babeltrace_{version}_coverity
309 defaults: babeltrace
310 node: 'amd64'
311
312 triggers:
313 - pollscm:
314 cron: "@daily"
315
316 wrappers:
317 - workspace-cleanup
318 - timestamps
319 - ansicolor:
320 colormap: xterm
321 - credentials-binding:
322 - username-password-separated:
323 credential-id: babeltrace_coverity_token
324 username: COVERITY_SCAN_PROJECT_NAME
325 password: COVERITY_SCAN_TOKEN
326 builders:
327 - shell:
328 !include-raw-escape: scripts/common/coverity.sh
329
330 publishers:
331 - workspace-cleanup
332 - archive:
333 artifacts: 'analysis-results.tgz,cov-int/**'
334 allow-empty: false
335
336 - job-template:
337 name: babeltrace_{version}_pylint
338 defaults: babeltrace
339 node: 'amd64'
340
341 scm: []
342
343 triggers:
344 - pollscm:
345 cron: "@daily"
346
347 builders:
348 - copyartifact:
349 project: babeltrace_{version}_build/arch=amd64,build=std,conf=python-bindings
350 which-build: last-successful
351 stable: false
352 filter: 'build/**'
353 target: 'deps/babeltrace'
354 - shell:
355 !include-raw-escape: scripts/babeltrace/pylint.sh
356
357 publishers:
358 - archive:
359 artifacts: 'pep8.out,pylint.out'
360 - violations:
361 pep8:
362 pattern: pep8.out
363 min: 10
364 max: 999
365 unstable: 999
366 pylint:
367 pattern: pylint.out
368 min: 10
369 max: 999
370 unstable: 999
371 - email-ext:
372 recipients: '{obj:email_to}'
373 reply-to: ci-notification@lists.lttng.org
374 always: false
375 unstable: false
376 first-failure: true
377 first-unstable: true
378 not-built: false
379 aborted: false
380 regression: false
381 failure: false
382 second-failure: false
383 improvement: false
384 still-failing: false
385 success: false
386 fixed: false
387 fixed-unhealthy: true
388 still-unstable: false
389 pre-build: false
390 matrix-trigger: only-parent
391 send-to:
392 - recipients
393
394 # Use - in version number since yaml anchor do not support dot
395 - babeltrace_version_glib-2-22-5_anchor: &babeltrace_version_glib-2-22-5_anchor
396 name: 'babeltrace_version_glib_anchor'
397 defaults: babeltrace
398 node: 'amd64'
399
400 builders:
401 - inject:
402 properties-content: |
403 LD_LIBRARY_PATH=$WORKSPACE/glib-2.22.5/BUILD_RESULT/lib
404 PKG_CONFIG_PATH=$WORKSPACE/glib-2.22.5/BUILD_RESULT/lib/pkgconfig
405 arch=amd64
406 conf=std
407 build=std
408 - shell: |
409 wget http://ftp.gnome.org/pub/gnome/sources/glib/2.22/glib-2.22.5.tar.gz
410 tar xvf glib-2.22.5.tar.gz
411 cd glib-2.22.5
412 mkdir BUILD_RESULT
413 ./configure --prefix=$WORKSPACE/glib-2.22.5/BUILD_RESULT
414 make -j `nproc`
415 make install
416
417 - shell:
418 !include-raw-escape: scripts/babeltrace/build.sh
419
420 - job-template:
421 name: babeltrace_{version}_glib-2.22.5
422 triggers:
423 - pollscm:
424 cron: "@daily"
425 <<: *babeltrace_version_glib-2-22-5_anchor
426 publishers:
427 - email-ext:
428 recipients: '{obj:email_to}'
429 reply-to: ci-notification@lists.lttng.org
430 always: false
431 unstable: false
432 first-failure: true
433 first-unstable: true
434 not-built: false
435 aborted: false
436 regression: false
437 failure: false
438 second-failure: false
439 improvement: false
440 still-failing: false
441 success: false
442 fixed: false
443 fixed-unhealthy: true
444 still-unstable: false
445 pre-build: false
446 matrix-trigger: only-parent
447 send-to:
448 - recipients
449
450 - job-template:
451 name: dev_{user}_babeltrace_{version}_glib-2.22.5
452 <<: *babeltrace_version_glib-2-22-5_anchor
453
454 publishers:
455 - email-ext:
456 recipients: '{obj:email_to}'
457 reply-to: ci-notification@lists.lttng.org
458 always: false
459 unstable: false
460 first-failure: true
461 first-unstable: true
462 not-built: false
463 aborted: false
464 regression: false
465 failure: false
466 second-failure: false
467 improvement: false
468 still-failing: false
469 success: false
470 fixed: false
471 fixed-unhealthy: true
472 still-unstable: false
473 pre-build: false
474 matrix-trigger: only-parent
475 send-to:
476 - recipients
477
478 ## Project
479 - project:
480 name: babeltrace
481 github_user: efficios
482 github_name: babeltrace
483 email_to: 'ci-notification@lists.lttng.org, cc:jgalar@efficios.com'
484 version:
485 - stable-1.5
486 - stable-2.0
487 - master
488 jobs:
489 - 'babeltrace_{version}_{buildtype}':
490 buildtype: build
491 arch: !!python/tuple [amd64]
492 build: !!python/tuple [std, oot, dist]
493 conf: !!python/tuple [std, static, python-bindings]
494 - 'babeltrace_{version}_{buildtype}':
495 buildtype: portbuild
496 arch: !!python/tuple [armhf, arm64, powerpc, ppc64el, i386]
497 build: !!python/tuple [std]
498 conf: !!python/tuple [std, static, python-bindings]
499 - 'babeltrace_{version}_{buildtype}':
500 buildtype: slesbuild
501 arch: !!python/tuple [sles12sp2]
502 build: !!python/tuple [std]
503 conf: !!python/tuple [std]
504 version: # // support 1.3 on SLES12
505 - stable-1.3
506 - stable-1.5
507 - stable-2.0
508 - master
509 - 'babeltrace_{version}_{buildtype}':
510 buildtype: solarisbuild
511 arch: !!python/tuple [sol10-i386, sol11-i386]
512 build: !!python/tuple [std]
513 conf: !!python/tuple [std, static]
514 - 'babeltrace_{version}_{buildtype}':
515 buildtype: macosxbuild
516 arch: !!python/tuple [macosx]
517 build: !!python/tuple [std]
518 conf: !!python/tuple [std]
519 version: # macOS support was introduced in 1.4
520 - stable-1.5
521 - stable-2.0
522 - master
523 - 'babeltrace_{version}_{cctype}':
524 cctype: clangbuild
525 arch: !!python/tuple [amd64]
526 build: !!python/tuple [std]
527 conf: !!python/tuple [std, static]
528 cc: !!python/tuple [clang-3.9, clang-4.0, clang-6.0, clang-7]
529 - 'babeltrace_{version}_winbuild':
530 arch: !!python/tuple [cygwin, cygwin64, msys2-mingw32, msys2-mingw64]
531 build: !!python/tuple [std]
532 conf: !!python/tuple [std]
533 version: # Mingw support was introduced in 2.0
534 - stable-2.0
535 - master
536 - 'babeltrace_{version}_winbuild':
537 arch: !!python/tuple [cygwin, cygwin64]
538 build: !!python/tuple [std]
539 conf: !!python/tuple [std]
540 version: # Cygwin support was introduced in 1.5
541 - stable-1.5
542 - 'babeltrace_{version}_cppcheck'
543 - 'babeltrace_{version}_scan-build'
544 - 'babeltrace_{version}_pylint'
545 - 'babeltrace_{version}_coverity':
546 version: master
547 - 'babeltrace_{version}_glib-2.22.5':
548 version: master
549
550
551 - project:
552 name: babeltrace-jgalar-staging
553 user: jgalar
554 github_user: jgalar
555 github_name: babeltrace
556 email_to: "jgalar@efficios.com"
557 version:
558 - stable-1.3-staging
559 - stable-1.5-staging
560 - stable-2.0-staging
561 - master-staging
562 jobs:
563 - 'dev_{user}_babeltrace_{version}_glib-2.22.5':
564 version:
565 - master-staging
566 - 'dev_{user}_babeltrace_{version}_{buildtype}':
567 buildtype: build
568 arch: !!python/tuple [amd64]
569 build: !!python/tuple [std, oot, dist]
570 conf: !!python/tuple [std, static, python-bindings]
571 - 'dev_{user}_babeltrace_{version}_{buildtype}':
572 buildtype: macosxbuild
573 version: # macOS support was introduced in 1.4
574 - stable-1.5-staging
575 - stable-2.0-staging
576 - master-staging
577 arch: !!python/tuple [macosx]
578 build: !!python/tuple [std]
579 conf: !!python/tuple [std]
580
This page took 0.042043 seconds and 5 git commands to generate.