jjb: Convert bt2 prod to configuration
[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 - babeltrace_build_publishers_gerrit: &babeltrace_build_publishers_gerrit
235 name: 'babeltrace_build_publishers_gerrit'
236 publishers:
237 - tap:
238 results: 'tap/**/*.log'
239 failed-tests-mark-build-as-failure: true
240 todo-is-failure: false
241 - warnings:
242 console-log-parsers:
243 - 'GNU Make + GNU C Compiler (gcc)'
244 total-thresholds:
245 unstable:
246 total-all: 0
247 total-high: 0
248 total-normal: 0
249 total-low: 0
250 - archive:
251 artifacts: 'build/**'
252 allow-empty: false
253
254
255 ## Templates
256
257 - job-template:
258 name: babeltrace_{version}_{buildtype}
259 defaults: babeltrace
260
261 <<: *babeltrace_build_axes_defaults
262 <<: *babeltrace_build_builders_defaults
263 <<: *babeltrace_build_publishers_prod
264
265 - job-template:
266 name: babeltrace_{version}_{cctype}
267 defaults: babeltrace
268
269 <<: *babeltrace_build_axes_cc
270 <<: *babeltrace_build_builders_defaults
271 <<: *babeltrace_build_publishers_prod
272
273 - job-template:
274 name: babeltrace_{version}_winbuild
275 defaults: babeltrace
276
277 <<: *babeltrace_build_axes_defaults
278 <<: *babeltrace_build_builders_win
279 <<: *babeltrace_build_publishers_prod
280
281 - job-template:
282 name: dev_{user}_babeltrace_{version}_{buildtype}
283 defaults: babeltrace
284
285 <<: *babeltrace_build_axes_defaults
286 <<: *babeltrace_build_builders_defaults
287 <<: *babeltrace_build_publishers_dev
288
289 - job-template:
290 name: dev_gerrit_babeltrace_{buildtype}
291 defaults: babeltrace
292 concurrent: true
293
294 scm:
295 - git:
296 url: https://review.lttng.org/babeltrace
297 refspec: 'refs/changes/*:refs/changes/*'
298 branches:
299 - '$GERRIT_REFSPEC'
300 basedir: src/babeltrace
301 skip-tag: true
302
303 triggers:
304 - gerrit:
305 trigger-on:
306 - comment-added-event:
307 approval-category: 'CI-Build'
308 approval-value: 1
309 projects:
310 - project-compare-type: 'PLAIN'
311 project-pattern: 'babeltrace'
312 branches:
313 - branch-compare-type: 'ANT'
314 branch-pattern: '**'
315 trigger-for-unreviewed-patches: true
316
317 project-type: matrix
318 node: 'master' # Applies only to matrix flyweight task
319 execution-strategy:
320 combination-filter: |
321 (build=="std" && conf=="python-bindings") || (arch=="amd64")
322 axes:
323 - axis:
324 type: slave
325 name: arch
326 values: '{obj:arch}'
327 - axis:
328 type: user-defined
329 name: conf
330 values: '{obj:conf}'
331 - axis:
332 type: user-defined
333 name: build
334 values: '{obj:build}'
335
336 <<: *babeltrace_build_builders_defaults
337 <<: *babeltrace_build_publishers_gerrit
338
339 properties:
340 - inject:
341 properties-content: |
342 PROJECT_NAME=babeltrace
343 - build-discarder:
344 days-to-keep: 2
345 - github:
346 url: https://github.com/{github_user}/{github_name}
347
348 - job-template:
349 name: babeltrace_{version}_cppcheck
350 defaults: babeltrace
351
352 triggers:
353 - pollscm:
354 cron: "@daily"
355
356 builders:
357 - shell: |
358 rm -f cppcheck-result.xml
359 cppcheck --enable=all --xml --xml-version=2 $WORKSPACE/src/babeltrace 2> cppcheck-result.xml
360
361 publishers:
362 - archive:
363 artifacts: 'cppcheck-result.xml'
364 allow-empty: false
365 - cppcheck:
366 pattern: 'cppcheck-result.xml'
367
368 - job-template:
369 name: babeltrace_{version}_scan-build
370 defaults: babeltrace
371 node: 'amd64'
372
373 triggers:
374 - pollscm:
375 cron: "@daily"
376
377 builders:
378 - shell:
379 !include-raw-escape: scripts/common/scan-build.sh
380
381 publishers:
382 - html-publisher:
383 name: 'HTML Report'
384 dir: 'scan-build-archive/'
385 files: 'index.html'
386
387 - job-template:
388 name: babeltrace_{version}_coverity
389 defaults: babeltrace
390 node: 'amd64'
391
392 triggers:
393 - pollscm:
394 cron: "@daily"
395
396 wrappers:
397 - workspace-cleanup
398 - timestamps
399 - ansicolor:
400 colormap: xterm
401 - credentials-binding:
402 - username-password-separated:
403 credential-id: babeltrace_coverity_token
404 username: COVERITY_SCAN_PROJECT_NAME
405 password: COVERITY_SCAN_TOKEN
406 builders:
407 - shell:
408 !include-raw-escape: scripts/common/coverity.sh
409
410 publishers:
411 - workspace-cleanup
412 - archive:
413 artifacts: 'analysis-results.tgz,cov-int/**'
414 allow-empty: false
415
416 - job-template:
417 name: babeltrace_{version}_pylint
418 defaults: babeltrace
419 node: 'amd64'
420
421 scm: []
422
423 triggers:
424 - pollscm:
425 cron: "@daily"
426
427 builders:
428 - copyartifact:
429 project: babeltrace_{version}_build/arch=amd64,build=std,conf=python-bindings
430 which-build: last-successful
431 stable: false
432 filter: 'build/**'
433 target: 'deps/babeltrace'
434 - shell:
435 !include-raw-escape: scripts/babeltrace/pylint.sh
436
437 publishers:
438 - archive:
439 artifacts: 'pep8.out,pylint.out'
440 - violations:
441 pep8:
442 pattern: pep8.out
443 min: 10
444 max: 999
445 unstable: 999
446 pylint:
447 pattern: pylint.out
448 min: 10
449 max: 999
450 unstable: 999
451 - email-ext:
452 recipients: '{obj:email_to}'
453 reply-to: ci-notification@lists.lttng.org
454 always: false
455 unstable: false
456 first-failure: true
457 first-unstable: true
458 not-built: false
459 aborted: false
460 regression: false
461 failure: false
462 second-failure: false
463 improvement: false
464 still-failing: false
465 success: false
466 fixed: false
467 fixed-unhealthy: true
468 still-unstable: false
469 pre-build: false
470 matrix-trigger: only-parent
471 send-to:
472 - recipients
473
474 # Use - in version number since yaml anchor do not support dot
475 - babeltrace_version_glib-2-22-5_anchor: &babeltrace_version_glib-2-22-5_anchor
476 name: 'babeltrace_version_glib_anchor'
477 defaults: babeltrace
478 node: 'amd64'
479
480 builders:
481 - inject:
482 properties-content: |
483 LD_LIBRARY_PATH=$WORKSPACE/glib-2.22.5/BUILD_RESULT/lib
484 PKG_CONFIG_PATH=$WORKSPACE/glib-2.22.5/BUILD_RESULT/lib/pkgconfig
485 arch=amd64
486 conf=std
487 build=std
488 - shell: |
489 wget http://ftp.gnome.org/pub/gnome/sources/glib/2.22/glib-2.22.5.tar.gz
490 tar xvf glib-2.22.5.tar.gz
491 cd glib-2.22.5
492 mkdir BUILD_RESULT
493 ./configure --prefix=$WORKSPACE/glib-2.22.5/BUILD_RESULT
494 make -j `nproc`
495 make install
496
497 - shell:
498 !include-raw-escape: scripts/babeltrace/build.sh
499
500 - job-template:
501 name: babeltrace_{version}_glib-2.22.5
502 triggers:
503 - pollscm:
504 cron: "@daily"
505 <<: *babeltrace_version_glib-2-22-5_anchor
506 publishers:
507 - email-ext:
508 recipients: '{obj:email_to}'
509 reply-to: ci-notification@lists.lttng.org
510 always: false
511 unstable: false
512 first-failure: true
513 first-unstable: true
514 not-built: false
515 aborted: false
516 regression: false
517 failure: false
518 second-failure: false
519 improvement: false
520 still-failing: false
521 success: false
522 fixed: false
523 fixed-unhealthy: true
524 still-unstable: false
525 pre-build: false
526 matrix-trigger: only-parent
527 send-to:
528 - recipients
529
530 - job-template:
531 name: dev_{user}_babeltrace_{version}_glib-2.22.5
532 <<: *babeltrace_version_glib-2-22-5_anchor
533
534 publishers:
535 - email-ext:
536 recipients: '{obj:email_to}'
537 reply-to: ci-notification@lists.lttng.org
538 always: false
539 unstable: false
540 first-failure: true
541 first-unstable: true
542 not-built: false
543 aborted: false
544 regression: false
545 failure: false
546 second-failure: false
547 improvement: false
548 still-failing: false
549 success: false
550 fixed: false
551 fixed-unhealthy: true
552 still-unstable: false
553 pre-build: false
554 matrix-trigger: only-parent
555 send-to:
556 - recipients
557
558 ## Project
559 - project:
560 name: babeltrace
561 github_user: efficios
562 github_name: babeltrace
563 email_to: 'ci-notification@lists.lttng.org, cc:jgalar@efficios.com'
564 version:
565 - stable-1.5
566 - stable-2.0
567 - master
568 jobs:
569 - 'babeltrace_{version}_{buildtype}':
570 buildtype: build
571 arch: !!python/tuple [amd64]
572 build: !!python/tuple [std, oot, dist]
573 conf: !!python/tuple [std, static, python-bindings]
574 - 'babeltrace_{version}_{buildtype}':
575 buildtype: portbuild
576 arch: !!python/tuple [armhf, arm64, powerpc, ppc64el, i386]
577 build: !!python/tuple [std]
578 conf: !!python/tuple [std, static, python-bindings]
579 - 'babeltrace_{version}_{buildtype}':
580 buildtype: slesbuild
581 arch: !!python/tuple [sles12sp2]
582 build: !!python/tuple [std]
583 conf: !!python/tuple [std]
584 version: # // support 1.3 on SLES12
585 - stable-1.3
586 - stable-1.5
587 - stable-2.0
588 - master
589 - 'babeltrace_{version}_{buildtype}':
590 buildtype: solarisbuild
591 arch: !!python/tuple [sol10-i386, sol11-i386]
592 build: !!python/tuple [std]
593 conf: !!python/tuple [std, static]
594 - 'babeltrace_{version}_{buildtype}':
595 buildtype: macosxbuild
596 arch: !!python/tuple [macosx]
597 build: !!python/tuple [std]
598 conf: !!python/tuple [std]
599 version: # macOS support was introduced in 1.4
600 - stable-1.5
601 - stable-2.0
602 - master
603 - 'babeltrace_{version}_{cctype}':
604 cctype: clangbuild
605 arch: !!python/tuple [amd64]
606 build: !!python/tuple [std]
607 conf: !!python/tuple [std, static]
608 cc: !!python/tuple [clang-3.9, clang-4.0, clang-6.0, clang-7]
609 - 'babeltrace_{version}_winbuild':
610 arch: !!python/tuple [cygwin, cygwin64, msys2-mingw32, msys2-mingw64]
611 build: !!python/tuple [std]
612 conf: !!python/tuple [std]
613 version: # Mingw support was introduced in 2.0
614 - stable-2.0
615 - master
616 - 'babeltrace_{version}_winbuild':
617 arch: !!python/tuple [cygwin, cygwin64]
618 build: !!python/tuple [std]
619 conf: !!python/tuple [std]
620 version: # Cygwin support was introduced in 1.5
621 - stable-1.5
622 - 'babeltrace_{version}_cppcheck'
623 - 'babeltrace_{version}_scan-build'
624 - 'babeltrace_{version}_pylint'
625 - 'babeltrace_{version}_coverity':
626 version: master
627 - 'babeltrace_{version}_glib-2.22.5':
628 version: master
629
630
631 - project:
632 name: babeltrace-jgalar-staging
633 user: jgalar
634 github_user: jgalar
635 github_name: babeltrace
636 email_to: "jgalar@efficios.com"
637 version:
638 - stable-1.3-staging
639 - stable-1.5-staging
640 - stable-2.0-staging
641 - master-staging
642 jobs:
643 - 'dev_{user}_babeltrace_{version}_glib-2.22.5':
644 version:
645 - master-staging
646 - 'dev_{user}_babeltrace_{version}_{buildtype}':
647 buildtype: build
648 arch: !!python/tuple [amd64]
649 build: !!python/tuple [std, oot, dist]
650 conf: !!python/tuple [std, static, python-bindings]
651 - 'dev_{user}_babeltrace_{version}_{buildtype}':
652 buildtype: macosxbuild
653 version: # macOS support was introduced in 1.4
654 - stable-1.5-staging
655 - stable-2.0-staging
656 - master-staging
657 arch: !!python/tuple [macosx]
658 build: !!python/tuple [std]
659 conf: !!python/tuple [std]
660
661
662 - project:
663 name: gerrit-babeltrace
664 github_user: efficios
665 github_name: babeltrace
666 jobs:
667 - 'dev_gerrit_babeltrace_{buildtype}':
668 buildtype: build
669 arch: !!python/tuple [amd64, armhf, arm64, powerpc, ppc64el, i386]
670 build: !!python/tuple [std, oot, dist]
671 conf: !!python/tuple [std, python-bindings, production]
This page took 0.041842 seconds and 5 git commands to generate.