gerrit: bt2: add dev and prod mode
[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" && bt2_mode=="std") || (arch=="amd64")) && (! (arch="amd64" && (build=="oot" || build=="dist") && bt2_mode=="dev"))
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 - axis:
336 type: user-defined
337 name: bt2_mode
338 values: '{obj:bt2_mode}'
339
340 <<: *babeltrace_build_builders_defaults
341 <<: *babeltrace_build_publishers_gerrit
342
343 properties:
344 - inject:
345 properties-content: |
346 PROJECT_NAME=babeltrace
347 - build-discarder:
348 days-to-keep: 2
349 - github:
350 url: https://github.com/{github_user}/{github_name}
351
352 - job-template:
353 name: babeltrace_{version}_cppcheck
354 defaults: babeltrace
355
356 triggers:
357 - pollscm:
358 cron: "@daily"
359
360 builders:
361 - shell: |
362 rm -f cppcheck-result.xml
363 cppcheck --enable=all --xml --xml-version=2 $WORKSPACE/src/babeltrace 2> cppcheck-result.xml
364
365 publishers:
366 - archive:
367 artifacts: 'cppcheck-result.xml'
368 allow-empty: false
369 - cppcheck:
370 pattern: 'cppcheck-result.xml'
371
372 - job-template:
373 name: babeltrace_{version}_scan-build
374 defaults: babeltrace
375 node: 'amd64'
376
377 triggers:
378 - pollscm:
379 cron: "@daily"
380
381 builders:
382 - shell:
383 !include-raw-escape: scripts/common/scan-build.sh
384
385 publishers:
386 - html-publisher:
387 name: 'HTML Report'
388 dir: 'scan-build-archive/'
389 files: 'index.html'
390
391 - job-template:
392 name: babeltrace_{version}_coverity
393 defaults: babeltrace
394 node: 'amd64'
395
396 triggers:
397 - pollscm:
398 cron: "@daily"
399
400 wrappers:
401 - workspace-cleanup
402 - timestamps
403 - ansicolor:
404 colormap: xterm
405 - credentials-binding:
406 - username-password-separated:
407 credential-id: babeltrace_coverity_token
408 username: COVERITY_SCAN_PROJECT_NAME
409 password: COVERITY_SCAN_TOKEN
410 builders:
411 - shell:
412 !include-raw-escape: scripts/common/coverity.sh
413
414 publishers:
415 - workspace-cleanup
416 - archive:
417 artifacts: 'analysis-results.tgz,cov-int/**'
418 allow-empty: false
419
420 - job-template:
421 name: babeltrace_{version}_pylint
422 defaults: babeltrace
423 node: 'amd64'
424
425 scm: []
426
427 triggers:
428 - pollscm:
429 cron: "@daily"
430
431 builders:
432 - copyartifact:
433 project: babeltrace_{version}_build/arch=amd64,build=std,conf=python-bindings
434 which-build: last-successful
435 stable: false
436 filter: 'build/**'
437 target: 'deps/babeltrace'
438 - shell:
439 !include-raw-escape: scripts/babeltrace/pylint.sh
440
441 publishers:
442 - archive:
443 artifacts: 'pep8.out,pylint.out'
444 - violations:
445 pep8:
446 pattern: pep8.out
447 min: 10
448 max: 999
449 unstable: 999
450 pylint:
451 pattern: pylint.out
452 min: 10
453 max: 999
454 unstable: 999
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 # Use - in version number since yaml anchor do not support dot
479 - babeltrace_version_glib-2-22-5_anchor: &babeltrace_version_glib-2-22-5_anchor
480 name: 'babeltrace_version_glib_anchor'
481 defaults: babeltrace
482 node: 'amd64'
483
484 builders:
485 - inject:
486 properties-content: |
487 LD_LIBRARY_PATH=$WORKSPACE/glib-2.22.5/BUILD_RESULT/lib
488 PKG_CONFIG_PATH=$WORKSPACE/glib-2.22.5/BUILD_RESULT/lib/pkgconfig
489 arch=amd64
490 conf=std
491 build=std
492 - shell: |
493 wget http://ftp.gnome.org/pub/gnome/sources/glib/2.22/glib-2.22.5.tar.gz
494 tar xvf glib-2.22.5.tar.gz
495 cd glib-2.22.5
496 mkdir BUILD_RESULT
497 ./configure --prefix=$WORKSPACE/glib-2.22.5/BUILD_RESULT
498 make -j `nproc`
499 make install
500
501 - shell:
502 !include-raw-escape: scripts/babeltrace/build.sh
503
504 - job-template:
505 name: babeltrace_{version}_glib-2.22.5
506 triggers:
507 - pollscm:
508 cron: "@daily"
509 <<: *babeltrace_version_glib-2-22-5_anchor
510 publishers:
511 - email-ext:
512 recipients: '{obj:email_to}'
513 reply-to: ci-notification@lists.lttng.org
514 always: false
515 unstable: false
516 first-failure: true
517 first-unstable: true
518 not-built: false
519 aborted: false
520 regression: false
521 failure: false
522 second-failure: false
523 improvement: false
524 still-failing: false
525 success: false
526 fixed: false
527 fixed-unhealthy: true
528 still-unstable: false
529 pre-build: false
530 matrix-trigger: only-parent
531 send-to:
532 - recipients
533
534 - job-template:
535 name: dev_{user}_babeltrace_{version}_glib-2.22.5
536 <<: *babeltrace_version_glib-2-22-5_anchor
537
538 publishers:
539 - email-ext:
540 recipients: '{obj:email_to}'
541 reply-to: ci-notification@lists.lttng.org
542 always: false
543 unstable: false
544 first-failure: true
545 first-unstable: true
546 not-built: false
547 aborted: false
548 regression: false
549 failure: false
550 second-failure: false
551 improvement: false
552 still-failing: false
553 success: false
554 fixed: false
555 fixed-unhealthy: true
556 still-unstable: false
557 pre-build: false
558 matrix-trigger: only-parent
559 send-to:
560 - recipients
561
562 ## Project
563 - project:
564 name: babeltrace
565 github_user: efficios
566 github_name: babeltrace
567 email_to: 'ci-notification@lists.lttng.org, cc:jgalar@efficios.com'
568 version:
569 - stable-1.5
570 - stable-2.0
571 - master
572 jobs:
573 - 'babeltrace_{version}_{buildtype}':
574 buildtype: build
575 arch: !!python/tuple [amd64]
576 build: !!python/tuple [std, oot, dist]
577 conf: !!python/tuple [std, static, python-bindings]
578 - 'babeltrace_{version}_{buildtype}':
579 buildtype: portbuild
580 arch: !!python/tuple [armhf, arm64, powerpc, ppc64el, i386]
581 build: !!python/tuple [std]
582 conf: !!python/tuple [std, static, python-bindings]
583 - 'babeltrace_{version}_{buildtype}':
584 buildtype: slesbuild
585 arch: !!python/tuple [sles12sp2]
586 build: !!python/tuple [std]
587 conf: !!python/tuple [std]
588 version: # // support 1.3 on SLES12
589 - stable-1.3
590 - stable-1.5
591 - stable-2.0
592 - master
593 - 'babeltrace_{version}_{buildtype}':
594 buildtype: solarisbuild
595 arch: !!python/tuple [sol10-i386, sol11-i386]
596 build: !!python/tuple [std]
597 conf: !!python/tuple [std, static]
598 - 'babeltrace_{version}_{buildtype}':
599 buildtype: macosxbuild
600 arch: !!python/tuple [macosx]
601 build: !!python/tuple [std]
602 conf: !!python/tuple [std]
603 version: # macOS support was introduced in 1.4
604 - stable-1.5
605 - stable-2.0
606 - master
607 - 'babeltrace_{version}_{cctype}':
608 cctype: clangbuild
609 arch: !!python/tuple [amd64]
610 build: !!python/tuple [std]
611 conf: !!python/tuple [std, static]
612 cc: !!python/tuple [clang-3.9, clang-4.0, clang-6.0, clang-7]
613 - 'babeltrace_{version}_winbuild':
614 arch: !!python/tuple [cygwin, cygwin64, msys2-mingw32, msys2-mingw64]
615 build: !!python/tuple [std]
616 conf: !!python/tuple [std]
617 version: # Mingw support was introduced in 2.0
618 - stable-2.0
619 - master
620 - 'babeltrace_{version}_winbuild':
621 arch: !!python/tuple [cygwin, cygwin64]
622 build: !!python/tuple [std]
623 conf: !!python/tuple [std]
624 version: # Cygwin support was introduced in 1.5
625 - stable-1.5
626 - 'babeltrace_{version}_cppcheck'
627 - 'babeltrace_{version}_scan-build'
628 - 'babeltrace_{version}_pylint'
629 - 'babeltrace_{version}_coverity':
630 version: master
631 - 'babeltrace_{version}_glib-2.22.5':
632 version: master
633
634
635 - project:
636 name: babeltrace-jgalar-staging
637 user: jgalar
638 github_user: jgalar
639 github_name: babeltrace
640 email_to: "jgalar@efficios.com"
641 version:
642 - stable-1.3-staging
643 - stable-1.5-staging
644 - stable-2.0-staging
645 - master-staging
646 jobs:
647 - 'dev_{user}_babeltrace_{version}_glib-2.22.5':
648 version:
649 - master-staging
650 - 'dev_{user}_babeltrace_{version}_{buildtype}':
651 buildtype: build
652 arch: !!python/tuple [amd64]
653 build: !!python/tuple [std, oot, dist]
654 conf: !!python/tuple [std, static, python-bindings]
655 - 'dev_{user}_babeltrace_{version}_{buildtype}':
656 buildtype: macosxbuild
657 version: # macOS support was introduced in 1.4
658 - stable-1.5-staging
659 - stable-2.0-staging
660 - master-staging
661 arch: !!python/tuple [macosx]
662 build: !!python/tuple [std]
663 conf: !!python/tuple [std]
664
665
666 - project:
667 name: gerrit-babeltrace
668 github_user: efficios
669 github_name: babeltrace
670 jobs:
671 - 'dev_gerrit_babeltrace_{buildtype}':
672 buildtype: build
673 arch: !!python/tuple [amd64, armhf, arm64, powerpc, ppc64el, i386]
674 build: !!python/tuple [std, oot, dist]
675 conf: !!python/tuple [std, python-bindings]
676 bt2_mode: !!python/tuple [dev, std]
This page took 0.043297 seconds and 5 git commands to generate.