jjb: babeltrace: use jgit on windows only
[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
890bff23
MJ
37
38 triggers:
6cf22a3a
MJ
39 - pollscm:
40 cron: "@hourly"
890bff23
MJ
41
42 properties:
69f05d59
MJ
43 - inject:
44 properties-content: |
45 PROJECT_NAME=babeltrace
edf72710
MJ
46 - build-discarder:
47 num-to-keep: 2
890bff23 48 - github:
4f827afb 49 url: https://github.com/{github_user}/{github_name}
890bff23
MJ
50
51
b9c55ae7
MJ
52## Anchors
53- babeltrace_build_axes_defaults: &babeltrace_build_axes_defaults
54 name: 'babeltrace_build_axes_defaults'
890bff23 55 project-type: matrix
ca8c6144 56 node: 'master' # Applies only to matrix flyweight task
890bff23
MJ
57 axes:
58 - axis:
59 type: slave
60 name: arch
61 values: '{obj:arch}'
62 - axis:
63 type: user-defined
64 name: conf
87e41bca 65 values: '{obj:conf}'
890bff23
MJ
66 - axis:
67 type: user-defined
68 name: build
9d0846f3 69 values: '{obj:build}'
890bff23 70
6476f917
MJ
71- babeltrace_build_axes_cc: &babeltrace_build_axes_cc
72 name: 'babeltrace_build_axes_cc'
73 project-type: matrix
74 node: 'master' # Applies only to matrix flyweight task
75 axes:
76 - axis:
77 type: slave
78 name: arch
79 values: '{obj:arch}'
80 - axis:
81 type: user-defined
82 name: conf
83 values: '{obj:conf}'
84 - axis:
85 type: user-defined
86 name: build
87 values: '{obj:build}'
88 - axis:
89 type: user-defined
90 name: cc
91 values: '{obj:cc}'
92
b9c55ae7
MJ
93- babeltrace_build_builders_defaults: &babeltrace_build_builders_defaults
94 name: 'babeltrace_build_builders_defaults'
890bff23
MJ
95 builders:
96 - shell:
ef63064f 97 !include-raw-escape: scripts/babeltrace/build.sh
890bff23 98
b9c55ae7
MJ
99- babeltrace_build_builders_win: &babeltrace_build_builders_win
100 name: 'babeltrace_build_builders_win'
101 builders:
102 - conditional-step:
103 condition-kind: strings-match
104 on-evaluation-failure: run
105 condition-string1: '${{arch}}'
106 condition-string2: 'cygwin'
107 steps:
108 - shell:
109 !include-raw-escape:
110 - scripts/common/cygwin-shebang
111 - scripts/common/cygwin-prefix
112 - scripts/babeltrace/build.sh
113 - conditional-step:
114 condition-kind: strings-match
115 on-evaluation-failure: run
116 condition-string1: '${{arch}}'
117 condition-string2: 'cygwin64'
118 steps:
119 - shell:
120 !include-raw-escape:
121 - scripts/common/cygwin64-shebang
122 - scripts/common/cygwin-prefix
123 - scripts/babeltrace/build.sh
124 - conditional-step:
125 condition-kind: strings-match
126 on-evaluation-failure: run
127 condition-string1: '${{arch}}'
8f541678 128 condition-string2: 'msys2-mingw32'
b9c55ae7
MJ
129 steps:
130 - inject:
131 properties-content: 'MSYSTEM=MINGW32'
132 - shell:
133 !include-raw-escape:
8f541678 134 - scripts/common/msys2-shebang
b9c55ae7
MJ
135 - scripts/common/cygwin-prefix
136 - scripts/babeltrace/build.sh
137 - conditional-step:
138 condition-kind: strings-match
139 on-evaluation-failure: run
140 condition-string1: '${{arch}}'
8f541678 141 condition-string2: 'msys2-mingw64'
b9c55ae7
MJ
142 steps:
143 - inject:
144 properties-content: 'MSYSTEM=MINGW64'
145 - shell:
146 !include-raw-escape:
8f541678 147 - scripts/common/msys2-shebang
b9c55ae7
MJ
148 - scripts/common/cygwin-prefix
149 - scripts/babeltrace/build.sh
150
151
499a96d0
JR
152- babeltrace_build_publishers_dev: &babeltrace_build_publishers_dev
153 name: 'babeltrace_build_publishers_dev'
890bff23
MJ
154 publishers:
155 - tap:
e6be9fb0 156 results: 'tap/**/*.log'
890bff23 157 failed-tests-mark-build-as-failure: true
95654431 158 todo-is-failure: false
890bff23
MJ
159 - warnings:
160 console-log-parsers:
161 - 'GNU Make + GNU C Compiler (gcc)'
162 total-thresholds:
51ca880a 163 unstable:
d2c76ee5
MJ
164 total-all: 0
165 total-high: 0
166 total-normal: 0
167 total-low: 0
499a96d0
JR
168 - email-ext:
169 recipients: '{obj:email_to}'
170 always: false
171 unstable: false
172 first-failure: true
173 first-unstable: true
174 not-built: false
175 aborted: false
176 regression: false
177 failure: false
178 second-failure: false
179 improvement: false
180 still-failing: false
181 success: false
182 fixed: false
183 fixed-unhealthy: true
184 still-unstable: false
185 pre-build: false
186 matrix-trigger: only-parent
187 send-to:
188 - recipients
189
b9c55ae7
MJ
190
191- babeltrace_build_publishers_prod: &babeltrace_build_publishers_prod
192 name: 'babeltrace_build_publishers_prod'
193 publishers:
0efb2471
JR
194 - tap:
195 results: 'tap/**/*.log'
196 failed-tests-mark-build-as-failure: true
197 todo-is-failure: false
198 - warnings:
199 console-log-parsers:
200 - 'GNU Make + GNU C Compiler (gcc)'
201 total-thresholds:
202 unstable:
203 total-all: 0
204 total-high: 0
205 total-normal: 0
206 total-low: 0
890bff23
MJ
207 - archive:
208 artifacts: 'build/**'
209 allow-empty: false
499a96d0
JR
210 - email-ext:
211 recipients: '{obj:email_to}'
212 reply-to: ci-notification@lists.lttng.org
213 always: false
214 unstable: false
215 first-failure: true
216 first-unstable: true
217 not-built: false
218 aborted: false
219 regression: false
220 failure: false
221 second-failure: false
222 improvement: false
223 still-failing: false
224 success: false
225 fixed: false
226 fixed-unhealthy: true
227 still-unstable: false
228 pre-build: false
229 matrix-trigger: only-parent
230 send-to:
231 - recipients
890bff23 232
c871b3d3
MJ
233- babeltrace_build_publishers_gerrit: &babeltrace_build_publishers_gerrit
234 name: 'babeltrace_build_publishers_gerrit'
235 publishers:
236 - tap:
237 results: 'tap/**/*.log'
238 failed-tests-mark-build-as-failure: true
239 todo-is-failure: false
240 - warnings:
241 console-log-parsers:
242 - 'GNU Make + GNU C Compiler (gcc)'
243 total-thresholds:
244 unstable:
245 total-all: 0
246 total-high: 0
247 total-normal: 0
248 total-low: 0
249 - archive:
250 artifacts: 'build/**'
251 allow-empty: false
252
253
b9c55ae7
MJ
254## Templates
255
256- job-template:
257 name: babeltrace_{version}_{buildtype}
258 defaults: babeltrace
259
260 <<: *babeltrace_build_axes_defaults
261 <<: *babeltrace_build_builders_defaults
b9c55ae7
MJ
262 <<: *babeltrace_build_publishers_prod
263
6476f917
MJ
264- job-template:
265 name: babeltrace_{version}_{cctype}
266 defaults: babeltrace
267
268 <<: *babeltrace_build_axes_cc
269 <<: *babeltrace_build_builders_defaults
270 <<: *babeltrace_build_publishers_prod
271
b9c55ae7
MJ
272- job-template:
273 name: babeltrace_{version}_winbuild
274 defaults: babeltrace
275
d02fd604
MJ
276 # Use jgit on windows to work around path too long error
277 scm:
278 - git:
279 url: git://github.com/{github_user}/{github_name}.git
280 browser: githubweb
281 browser-url: https://github.com/{github_user}/{github_name}
282 branches:
283 - origin/{version}
284 basedir: src/babeltrace
285 skip-tag: true
286 git-tool: jgit
287
b9c55ae7
MJ
288 <<: *babeltrace_build_axes_defaults
289 <<: *babeltrace_build_builders_win
b9c55ae7
MJ
290 <<: *babeltrace_build_publishers_prod
291
4f827afb
JR
292- job-template:
293 name: dev_{user}_babeltrace_{version}_{buildtype}
b9c55ae7
MJ
294 defaults: babeltrace
295
296 <<: *babeltrace_build_axes_defaults
297 <<: *babeltrace_build_builders_defaults
499a96d0 298 <<: *babeltrace_build_publishers_dev
4f827afb 299
c871b3d3
MJ
300- job-template:
301 name: dev_gerrit_babeltrace_{buildtype}
302 defaults: babeltrace
303 concurrent: true
304
305 scm:
306 - git:
307 url: https://review.lttng.org/babeltrace
308 refspec: 'refs/changes/*:refs/changes/*'
309 branches:
310 - '$GERRIT_REFSPEC'
311 basedir: src/babeltrace
312 skip-tag: true
313
314 triggers:
315 - gerrit:
316 trigger-on:
317 - comment-added-event:
318 approval-category: 'CI-Build'
319 approval-value: 1
320 projects:
321 - project-compare-type: 'PLAIN'
322 project-pattern: 'babeltrace'
323 branches:
324 - branch-compare-type: 'ANT'
325 branch-pattern: '**'
326 trigger-for-unreviewed-patches: true
327
e1875e59
MJ
328 project-type: matrix
329 node: 'master' # Applies only to matrix flyweight task
330 execution-strategy:
331 combination-filter: |
9201e00d 332 (build=="std" && conf=="python-bindings") || (arch=="amd64")
e1875e59
MJ
333 axes:
334 - axis:
335 type: slave
336 name: arch
337 values: '{obj:arch}'
338 - axis:
339 type: user-defined
340 name: conf
341 values: '{obj:conf}'
342 - axis:
343 type: user-defined
344 name: build
345 values: '{obj:build}'
346
c871b3d3
MJ
347 <<: *babeltrace_build_builders_defaults
348 <<: *babeltrace_build_publishers_gerrit
349
350 properties:
351 - inject:
352 properties-content: |
353 PROJECT_NAME=babeltrace
354 - build-discarder:
355 days-to-keep: 2
356 - github:
357 url: https://github.com/{github_user}/{github_name}
358
890bff23
MJ
359- job-template:
360 name: babeltrace_{version}_cppcheck
361 defaults: babeltrace
362
363 triggers:
6cf22a3a
MJ
364 - pollscm:
365 cron: "@daily"
890bff23
MJ
366
367 builders:
368 - shell: |
5279b0f2
MJ
369 rm -f cppcheck-result.xml
370 cppcheck --enable=all --xml --xml-version=2 $WORKSPACE/src/babeltrace 2> cppcheck-result.xml
890bff23
MJ
371
372 publishers:
373 - archive:
5279b0f2 374 artifacts: 'cppcheck-result.xml'
890bff23 375 allow-empty: false
890bff23 376 - cppcheck:
5279b0f2 377 pattern: 'cppcheck-result.xml'
890bff23
MJ
378
379- job-template:
380 name: babeltrace_{version}_scan-build
381 defaults: babeltrace
16844a6d 382 node: 'amd64'
890bff23
MJ
383
384 triggers:
6cf22a3a
MJ
385 - pollscm:
386 cron: "@daily"
890bff23
MJ
387
388 builders:
389 - shell:
69f05d59 390 !include-raw-escape: scripts/common/scan-build.sh
890bff23
MJ
391
392 publishers:
393 - html-publisher:
394 name: 'HTML Report'
395 dir: 'scan-build-archive/'
396 files: 'index.html'
397
6cf22a3a
MJ
398- job-template:
399 name: babeltrace_{version}_coverity
400 defaults: babeltrace
16844a6d 401 node: 'amd64'
6cf22a3a
MJ
402
403 triggers:
404 - pollscm:
405 cron: "@daily"
406
407 wrappers:
408 - workspace-cleanup
409 - timestamps
410 - ansicolor:
411 colormap: xterm
412 - credentials-binding:
413 - username-password-separated:
414 credential-id: babeltrace_coverity_token
415 username: COVERITY_SCAN_PROJECT_NAME
416 password: COVERITY_SCAN_TOKEN
417 builders:
418 - shell:
ef63064f 419 !include-raw-escape: scripts/common/coverity.sh
6cf22a3a
MJ
420
421 publishers:
422 - workspace-cleanup
73778992
MJ
423 - archive:
424 artifacts: 'analysis-results.tgz,cov-int/**'
425 allow-empty: false
890bff23
MJ
426
427- job-template:
428 name: babeltrace_{version}_pylint
429 defaults: babeltrace
16844a6d 430 node: 'amd64'
890bff23
MJ
431
432 scm: []
433
434 triggers:
6cf22a3a
MJ
435 - pollscm:
436 cron: "@daily"
890bff23
MJ
437
438 builders:
439 - copyartifact:
16844a6d 440 project: babeltrace_{version}_build/arch=amd64,build=std,conf=python-bindings
890bff23 441 which-build: last-successful
3522265a 442 stable: false
890bff23 443 filter: 'build/**'
b0afcb47 444 target: 'deps/babeltrace'
890bff23 445 - shell:
ef63064f 446 !include-raw-escape: scripts/babeltrace/pylint.sh
890bff23
MJ
447
448 publishers:
449 - archive:
450 artifacts: 'pep8.out,pylint.out'
890bff23
MJ
451 - violations:
452 pep8:
453 pattern: pep8.out
454 min: 10
455 max: 999
456 unstable: 999
457 pylint:
458 pattern: pylint.out
459 min: 10
460 max: 999
461 unstable: 999
499a96d0
JR
462 - email-ext:
463 recipients: '{obj:email_to}'
464 reply-to: ci-notification@lists.lttng.org
465 always: false
466 unstable: false
467 first-failure: true
468 first-unstable: true
469 not-built: false
470 aborted: false
471 regression: false
472 failure: false
473 second-failure: false
474 improvement: false
475 still-failing: false
476 success: false
477 fixed: false
478 fixed-unhealthy: true
479 still-unstable: false
480 pre-build: false
481 matrix-trigger: only-parent
482 send-to:
483 - recipients
890bff23 484
556e87cc
JR
485# Use - in version number since yaml anchor do not support dot
486- babeltrace_version_glib-2-22-5_anchor: &babeltrace_version_glib-2-22-5_anchor
487 name: 'babeltrace_version_glib_anchor'
488 defaults: babeltrace
16844a6d 489 node: 'amd64'
556e87cc
JR
490
491 builders:
492 - inject:
493 properties-content: |
494 LD_LIBRARY_PATH=$WORKSPACE/glib-2.22.5/BUILD_RESULT/lib
495 PKG_CONFIG_PATH=$WORKSPACE/glib-2.22.5/BUILD_RESULT/lib/pkgconfig
16844a6d 496 arch=amd64
556e87cc
JR
497 conf=std
498 build=std
499 - shell: |
500 wget http://ftp.gnome.org/pub/gnome/sources/glib/2.22/glib-2.22.5.tar.gz
501 tar xvf glib-2.22.5.tar.gz
502 cd glib-2.22.5
503 mkdir BUILD_RESULT
504 ./configure --prefix=$WORKSPACE/glib-2.22.5/BUILD_RESULT
505 make -j `nproc`
506 make install
507
508 - shell:
509 !include-raw-escape: scripts/babeltrace/build.sh
510
511- job-template:
512 name: babeltrace_{version}_glib-2.22.5
513 triggers:
514 - pollscm:
515 cron: "@daily"
516 <<: *babeltrace_version_glib-2-22-5_anchor
499a96d0
JR
517 publishers:
518 - email-ext:
519 recipients: '{obj:email_to}'
520 reply-to: ci-notification@lists.lttng.org
521 always: false
522 unstable: false
523 first-failure: true
524 first-unstable: true
525 not-built: false
526 aborted: false
527 regression: false
528 failure: false
529 second-failure: false
530 improvement: false
531 still-failing: false
532 success: false
533 fixed: false
534 fixed-unhealthy: true
535 still-unstable: false
536 pre-build: false
537 matrix-trigger: only-parent
538 send-to:
539 - recipients
556e87cc
JR
540
541- job-template:
542 name: dev_{user}_babeltrace_{version}_glib-2.22.5
543 <<: *babeltrace_version_glib-2-22-5_anchor
890bff23 544
499a96d0
JR
545 publishers:
546 - email-ext:
547 recipients: '{obj:email_to}'
548 reply-to: ci-notification@lists.lttng.org
549 always: false
550 unstable: false
551 first-failure: true
552 first-unstable: true
553 not-built: false
554 aborted: false
555 regression: false
556 failure: false
557 second-failure: false
558 improvement: false
559 still-failing: false
560 success: false
561 fixed: false
562 fixed-unhealthy: true
563 still-unstable: false
564 pre-build: false
565 matrix-trigger: only-parent
566 send-to:
567 - recipients
b9c55ae7 568
890bff23
MJ
569## Project
570- project:
571 name: babeltrace
4f827afb
JR
572 github_user: efficios
573 github_name: babeltrace
499a96d0 574 email_to: 'ci-notification@lists.lttng.org, cc:jgalar@efficios.com'
890bff23 575 version:
9eb09611 576 - stable-1.5
a0b535b2 577 - stable-2.0
ecf9997a 578 - master
890bff23 579 jobs:
3945afd5
MJ
580 - 'babeltrace_{version}_{buildtype}':
581 buildtype: build
582 arch: !!python/tuple [amd64]
583 build: !!python/tuple [std, oot, dist]
584 conf: !!python/tuple [std, static, python-bindings, production]
585 version:
586 - stable-2.0
587 - master
57ae8ff4
MJ
588 - 'babeltrace_{version}_{buildtype}':
589 buildtype: build
16844a6d 590 arch: !!python/tuple [amd64]
9d0846f3 591 build: !!python/tuple [std, oot, dist]
87e41bca 592 conf: !!python/tuple [std, static, python-bindings]
3945afd5
MJ
593 version:
594 - stable-1.5
57ae8ff4
MJ
595 - 'babeltrace_{version}_{buildtype}':
596 buildtype: portbuild
16844a6d 597 arch: !!python/tuple [armhf, arm64, powerpc, ppc64el, i386]
9d0846f3 598 build: !!python/tuple [std]
87e41bca 599 conf: !!python/tuple [std, static, python-bindings]
81bf613d
MJ
600 - 'babeltrace_{version}_{buildtype}':
601 buildtype: slesbuild
602 arch: !!python/tuple [sles12sp2]
603 build: !!python/tuple [std]
604 conf: !!python/tuple [std]
15c21bc0
MJ
605 version: # // support 1.3 on SLES12
606 - stable-1.3
607 - stable-1.5
608 - stable-2.0
609 - master
87e41bca
MJ
610 - 'babeltrace_{version}_{buildtype}':
611 buildtype: solarisbuild
a0b535b2 612 arch: !!python/tuple [sol10-i386, sol11-i386]
87e41bca
MJ
613 build: !!python/tuple [std]
614 conf: !!python/tuple [std, static]
221450b6
MJ
615 - 'babeltrace_{version}_{buildtype}':
616 buildtype: macosxbuild
617 arch: !!python/tuple [macosx]
618 build: !!python/tuple [std]
cd12b140 619 conf: !!python/tuple [std]
a0b535b2 620 version: # macOS support was introduced in 1.4
9eb09611 621 - stable-1.5
a0b535b2 622 - stable-2.0
221450b6 623 - master
6476f917
MJ
624 - 'babeltrace_{version}_{cctype}':
625 cctype: clangbuild
626 arch: !!python/tuple [amd64]
627 build: !!python/tuple [std]
628 conf: !!python/tuple [std, static]
629 cc: !!python/tuple [clang-3.9, clang-4.0, clang-6.0, clang-7]
8f541678
MJ
630 - 'babeltrace_{version}_winbuild':
631 arch: !!python/tuple [cygwin, cygwin64, msys2-mingw32, msys2-mingw64]
632 build: !!python/tuple [std]
633 conf: !!python/tuple [std]
a0b535b2
MJ
634 version: # Mingw support was introduced in 2.0
635 - stable-2.0
8f541678 636 - master
b9c55ae7
MJ
637 - 'babeltrace_{version}_winbuild':
638 arch: !!python/tuple [cygwin, cygwin64]
639 build: !!python/tuple [std]
640 conf: !!python/tuple [std]
a0b535b2 641 version: # Cygwin support was introduced in 1.5
b9c55ae7 642 - stable-1.5
890bff23
MJ
643 - 'babeltrace_{version}_cppcheck'
644 - 'babeltrace_{version}_scan-build'
645 - 'babeltrace_{version}_pylint'
6cf22a3a
MJ
646 - 'babeltrace_{version}_coverity':
647 version: master
556e87cc
JR
648 - 'babeltrace_{version}_glib-2.22.5':
649 version: master
a0b535b2
MJ
650
651
652- project:
653 name: babeltrace-jgalar-staging
654 user: jgalar
655 github_user: jgalar
656 github_name: babeltrace
499a96d0 657 email_to: "jgalar@efficios.com"
a0b535b2
MJ
658 version:
659 - stable-1.3-staging
a0b535b2
MJ
660 - stable-1.5-staging
661 - stable-2.0-staging
662 - master-staging
663 jobs:
556e87cc 664 - 'dev_{user}_babeltrace_{version}_glib-2.22.5':
556e87cc
JR
665 version:
666 - master-staging
4f827afb 667 - 'dev_{user}_babeltrace_{version}_{buildtype}':
4f827afb 668 buildtype: build
16844a6d 669 arch: !!python/tuple [amd64]
4f827afb
JR
670 build: !!python/tuple [std, oot, dist]
671 conf: !!python/tuple [std, static, python-bindings]
4b9bec35 672 - 'dev_{user}_babeltrace_{version}_{buildtype}':
4b9bec35 673 buildtype: macosxbuild
a0b535b2 674 version: # macOS support was introduced in 1.4
4b9bec35 675 - stable-1.5-staging
a0b535b2
MJ
676 - stable-2.0-staging
677 - master-staging
4b9bec35
MJ
678 arch: !!python/tuple [macosx]
679 build: !!python/tuple [std]
680 conf: !!python/tuple [std]
890bff23 681
c871b3d3
MJ
682
683- project:
684 name: gerrit-babeltrace
685 github_user: efficios
686 github_name: babeltrace
687 jobs:
688 - 'dev_gerrit_babeltrace_{buildtype}':
689 buildtype: build
e1875e59
MJ
690 arch: !!python/tuple [amd64, armhf, arm64, powerpc, ppc64el, i386]
691 build: !!python/tuple [std, oot, dist]
16ec8358 692 conf: !!python/tuple [std, static, python-bindings, production]
This page took 0.056431 seconds and 4 git commands to generate.