4 The lttng-tools project provides a session daemon (lttng-sessiond)
5 that acts as a tracing registry, the "lttng" command line for tracing
6 control, a lttng-ctl library for tracing control and a lttng-relayd
9 <p>Job is managed by Jenkins Job Builder.</p>
11 project-type: freestyle
26 url: git://github.com/{github_user}/{github_name}.git
28 browser-url: https://github.com/{github_user}/{github_name}
31 basedir: src/lttng-tools
42 PROJECT_NAME=lttng-tools
44 url: https://github.com/{github_user}/{github_name}
47 artifact-num-to-keep: 2
51 - lttng-tools_build_axes_defaults: <tng-tools_build_axes_defaults
52 name: 'lttng-tools_build_axes_defaults'
54 node: 'master' # Applies only to matrix flyweight task
67 values: '{obj:urcuversion}'
70 name: babeltrace_version
71 values: '{obj:babelversion}'
77 - lttng-tools_build_builders_defaults: <tng-tools_build_builders_defaults
78 name: 'lttng-tools_build_builders_defaults'
81 condition-kind: regex-match
84 on-evaluation-failure: run
87 project: liburcu_${{liburcu_version}}_{buildtype}/arch=${{arch}},conf=${{conf}},build=std
88 which-build: last-successful
91 target: 'deps/liburcu'
92 do-not-fingerprint: true
94 project: babeltrace_${{babeltrace_version}}_{buildtype}/arch=${{arch}},conf=${{conf}},build=std
95 which-build: last-successful
98 target: 'deps/babeltrace'
99 do-not-fingerprint: true
101 project: lttng-ust_{ustversion}_{buildtype}/liburcu_version=${{liburcu_version}},arch=${{arch}},conf=${{conf}},build=std
102 which-build: last-successful
105 target: 'deps/lttng-ust'
106 do-not-fingerprint: true
108 condition-kind: regex-match
111 on-evaluation-failure: run
114 project: liburcu_${{liburcu_version}}_{buildtype}/arch=${{arch}},conf=std,build=std
115 which-build: last-successful
118 target: 'deps/liburcu'
119 do-not-fingerprint: true
121 project: babeltrace_${{babeltrace_version}}_{buildtype}/arch=${{arch}},conf=std,build=std
122 which-build: last-successful
125 target: 'deps/babeltrace'
126 do-not-fingerprint: true
128 project: lttng-ust_{ustversion}_{buildtype}/liburcu_version=${{liburcu_version}},arch=${{arch}},conf=std,build=std
129 which-build: last-successful
132 target: 'deps/lttng-ust'
133 do-not-fingerprint: true
135 condition-kind: regex-match
138 on-evaluation-failure: run
141 project: liburcu_${{liburcu_version}}_{buildtype}/arch=${{arch}},conf=std,build=std
142 which-build: last-successful
145 target: 'deps/liburcu'
146 do-not-fingerprint: true
148 project: babeltrace_${{babeltrace_version}}_{buildtype}/arch=${{arch}},conf=std,build=std
149 which-build: last-successful
152 target: 'deps/babeltrace'
153 do-not-fingerprint: true
155 project: lttng-ust_{ustversion}_{buildtype}/liburcu_version=${{liburcu_version}},arch=${{arch}},conf=${{conf}},build=std
156 which-build: last-successful
159 target: 'deps/lttng-ust'
160 do-not-fingerprint: true
162 condition-kind: regex-match
165 on-evaluation-failure: run
168 project: liburcu_${{liburcu_version}}_{buildtype}/arch=${{arch}},conf=std,build=std
169 which-build: last-successful
172 target: 'deps/liburcu'
173 do-not-fingerprint: true
175 project: babeltrace_${{babeltrace_version}}_{buildtype}/arch=${{arch}},conf=std,build=std
176 which-build: last-successful
179 target: 'deps/babeltrace'
180 do-not-fingerprint: true
182 condition-kind: regex-match
185 on-evaluation-failure: run
188 project: liburcu_${{liburcu_version}}_{buildtype}/arch=${{arch}},conf=debug-rcu,build=std
189 which-build: last-successful
192 target: 'deps/liburcu'
193 do-not-fingerprint: true
195 project: babeltrace_${{babeltrace_version}}_{buildtype}/arch=${{arch}},conf=std,build=std
196 which-build: last-successful
199 target: 'deps/babeltrace'
200 do-not-fingerprint: true
202 project: lttng-ust_{ustversion}_{buildtype}/liburcu_version=${{liburcu_version}},arch=${{arch}},conf=debug-rcu,build=std
203 which-build: last-successful
206 target: 'deps/lttng-ust'
207 do-not-fingerprint: true
209 !include-raw-escape: scripts/lttng-tools/build.sh
211 - lttng-tools_build_builders_win: <tng-tools_build_builders_win
212 name: 'lttng-tools_build_builders_win'
215 project: liburcu_${{liburcu_version}}_winbuild/arch=${{arch}},conf=std,build=std
216 which-build: last-successful
219 target: 'deps/liburcu'
220 do-not-fingerprint: true
222 project: babeltrace_${{babeltrace_version}}_winbuild/arch=${{arch}},conf=std,build=std
223 which-build: last-successful
226 target: 'deps/babeltrace'
227 do-not-fingerprint: true
229 condition-kind: strings-match
230 on-evaluation-failure: run
231 condition-string1: '${{arch}}'
232 condition-string2: 'cygwin'
236 - scripts/common/cygwin-shebang
237 - scripts/common/cygwin-prefix
238 - scripts/lttng-tools/build.sh
240 condition-kind: strings-match
241 on-evaluation-failure: run
242 condition-string1: '${{arch}}'
243 condition-string2: 'cygwin64'
247 - scripts/common/cygwin64-shebang
248 - scripts/common/cygwin-prefix
249 - scripts/lttng-tools/build.sh
251 condition-kind: strings-match
252 on-evaluation-failure: run
253 condition-string1: '${{arch}}'
254 condition-string2: 'msys2-mingw32'
257 properties-content: 'MSYSTEM=MINGW32'
260 - scripts/common/msys2-shebang
261 - scripts/common/cygwin-prefix
262 - scripts/lttng-tools/build.sh
264 condition-kind: strings-match
265 on-evaluation-failure: run
266 condition-string1: '${{arch}}'
267 condition-string2: 'msys2-mingw64'
270 properties-content: 'MSYSTEM=MINGW64'
273 - scripts/common/msys2-shebang
274 - scripts/common/cygwin-prefix
275 - scripts/lttng-tools/build.sh
277 - lttng-tools_build_publishers_defaults: <tng-tools_build_publishers_defaults
278 name: 'lttng-tools_build_publishers_defaults'
281 results: 'tap/**/*.tap'
282 failed-tests-mark-build-as-failure: true
283 todo-is-failure: false
286 - 'GNU Make + GNU C Compiler (gcc)'
297 - lttng-tools_build_publishers_prod: <tng-tools_build_publishers_prod
298 name: 'lttng-tools_build_publishers_prod'
301 artifacts: 'build/**'
304 strategy: new-failure-and-fixed
305 matrix-notifier: only-parent
312 name: lttng-tools_{version}_{buildtype}
313 defaults: lttng-tools
315 <<: *lttng-tools_build_axes_defaults
316 <<: *lttng-tools_build_builders_defaults
317 <<: *lttng-tools_build_publishers_defaults
318 <<: *lttng-tools_build_publishers_prod
324 jobs: 'lttng-ust_{version}_{buildtype}'
328 name: lttng-tools_{version}_winbuild
329 defaults: lttng-tools
331 <<: *lttng-tools_build_axes_defaults
332 <<: *lttng-tools_build_builders_win
333 <<: *lttng-tools_build_publishers_defaults
334 <<: *lttng-tools_build_publishers_prod
337 name: dev_{user}_lttng-tools_{version}_{buildtype}
338 defaults: lttng-tools
340 <<: *lttng-tools_build_axes_defaults
341 <<: *lttng-tools_build_builders_defaults
342 <<: *lttng-tools_build_publishers_defaults
345 name: lttng-tools_{version}_cppcheck
346 defaults: lttng-tools
354 rm -f lttng-tools-cppcheck.xml
355 cppcheck --enable=all --xml --xml-version=2 $WORKSPACE 2> lttng-tools-cppcheck.xml
359 artifacts: 'lttng-tools-cppcheck.xml'
362 pattern: 'lttng-tools-cppcheck.xml'
364 recipients: 'ci-notification@lists.lttng.org'
365 notify-every-unstable-build: true
366 send-to-individuals: false
369 name: lttng-tools_{version}_scan-build
370 defaults: lttng-tools
379 project: liburcu_{urcuversion}_build/arch=x86-64,conf=std,build=std
380 which-build: last-successful
383 target: 'deps/liburcu'
384 do-not-fingerprint: true
386 project: lttng-ust_{ustversion}_build/liburcu_version={urcuversion},arch=x86-64,conf=std,build=std
387 which-build: last-successful
390 target: 'deps/lttng-ust'
391 do-not-fingerprint: true
393 !include-raw-escape: scripts/common/scan-build.sh
398 dir: 'scan-build-archive/'
402 name: lttng-tools_{version}_coverity
403 defaults: lttng-tools
415 - credentials-binding:
416 - username-password-separated:
417 credential-id: lttng-tools_coverity_token
418 username: COVERITY_SCAN_PROJECT_NAME
419 password: COVERITY_SCAN_TOKEN
423 project: liburcu_{urcuversion}_build/arch=x86-64,conf=std,build=std
424 which-build: last-successful
427 target: 'deps/liburcu'
428 do-not-fingerprint: true
430 project: lttng-ust_{ustversion}_build/liburcu_version={urcuversion},arch=x86-64,conf=std,build=std
431 which-build: last-successful
434 target: 'deps/lttng-ust'
435 do-not-fingerprint: true
437 !include-raw-escape: scripts/common/coverity.sh
444 name: lttng-tools_{version}_pylint
445 defaults: lttng-tools
456 project: lttng-tools-{version}/arch=x86-64,build=std,conf=agents
457 which-build: last-successful
460 target: 'deps/lttng-tools'
461 do-not-fingerprint: true
463 !include-raw-escape: scripts/lttng-tools/pylint.sh
467 artifacts: 'pep8.out,pylint.out'
480 recipients: 'ci-notification@lists.lttng.org'
481 notify-every-unstable-build: true
482 send-to-individuals: false
489 github_name: lttng-tools
498 - 'lttng-tools_{version}_{buildtype}':
502 arch: !!python/tuple [x86-32, x86-64]
503 build: !!python/tuple [std, oot, dist]
504 conf: !!python/tuple [std, no-ust, agents, debug-rcu]
505 urcuversion: !!python/tuple [master]
506 babelversion: !!python/tuple [stable-1.5]
507 - 'lttng-tools_{version}_{buildtype}':
511 arch: !!python/tuple [armhf, arm64, powerpc, ppc64el]
512 build: !!python/tuple [std]
513 conf: !!python/tuple [std, no-ust, agents]
514 urcuversion: !!python/tuple [master]
515 babelversion: !!python/tuple [stable-1.5]
516 - 'lttng-tools_{version}_{buildtype}':
520 arch: !!python/tuple [sles12sp2]
521 build: !!python/tuple [std]
522 conf: !!python/tuple [std]
523 urcuversion: !!python/tuple [master]
524 babelversion: !!python/tuple [stable-1.5]
525 - 'lttng-tools_{version}_{buildtype}':
526 buildtype: macosxbuild
529 arch: !!python/tuple [macosx]
530 build: !!python/tuple [std]
531 conf: !!python/tuple [relayd-only]
532 urcuversion: !!python/tuple [master]
533 babelversion: !!python/tuple [stable-1.5]
534 - 'lttng-tools_{version}_{buildtype}':
535 buildtype: solarisbuild
538 arch: !!python/tuple [sol10-i386, sol11-i386]
539 build: !!python/tuple [std]
540 conf: !!python/tuple [relayd-only]
541 urcuversion: !!python/tuple [master]
542 babelversion: !!python/tuple [stable-1.5]
543 - 'lttng-tools_{version}_winbuild':
546 arch: !!python/tuple [cygwin, cygwin64]
547 build: !!python/tuple [std]
548 conf: !!python/tuple [relayd-only]
549 urcuversion: !!python/tuple [master]
550 babelversion: !!python/tuple [stable-1.5]
553 - 'lttng-tools_{version}_{buildtype}':
556 ustversion: stable-2.10
557 arch: !!python/tuple [x86-32, x86-64]
558 build: !!python/tuple [std, oot, dist]
559 conf: !!python/tuple [std, no-ust, agents, debug-rcu]
560 urcuversion: !!python/tuple [stable-0.9]
561 babelversion: !!python/tuple [stable-1.5]
562 - 'lttng-tools_{version}_{buildtype}':
565 ustversion: stable-2.10
566 arch: !!python/tuple [armhf, arm64, powerpc, ppc64el]
567 build: !!python/tuple [std]
568 conf: !!python/tuple [std, no-ust, agents]
569 urcuversion: !!python/tuple [stable-0.9]
570 babelversion: !!python/tuple [stable-1.5]
571 - 'lttng-tools_{version}_{buildtype}':
574 ustversion: stable-2.10
575 arch: !!python/tuple [sles12sp2]
576 build: !!python/tuple [std]
577 conf: !!python/tuple [std]
578 urcuversion: !!python/tuple [stable-0.9]
579 babelversion: !!python/tuple [stable-1.5]
580 - 'lttng-tools_{version}_{buildtype}':
581 buildtype: solarisbuild
583 ustversion: stable-2.10
584 arch: !!python/tuple [sol10-i386, sol11-i386]
585 build: !!python/tuple [std]
586 conf: !!python/tuple [relayd-only]
587 urcuversion: !!python/tuple [stable-0.9]
588 babelversion: !!python/tuple [stable-1.5]
589 - 'lttng-tools_{version}_{buildtype}':
590 buildtype: macosxbuild
592 ustversion: stable-2.10
593 arch: !!python/tuple [macosx]
594 build: !!python/tuple [std]
595 conf: !!python/tuple [relayd-only]
596 urcuversion: !!python/tuple [stable-0.9]
597 babelversion: !!python/tuple [stable-1.5]
598 - 'lttng-tools_{version}_winbuild':
600 ustversion: stable-2.10
601 arch: !!python/tuple [cygwin, cygwin64]
602 build: !!python/tuple [std]
603 conf: !!python/tuple [relayd-only]
604 urcuversion: !!python/tuple [stable-0.9]
605 babelversion: !!python/tuple [stable-1.5]
608 - 'lttng-tools_{version}_{buildtype}':
611 ustversion: stable-2.9
612 arch: !!python/tuple [x86-32, x86-64]
613 build: !!python/tuple [std, oot, dist]
614 conf: !!python/tuple [std, no-ust, agents, debug-rcu]
615 urcuversion: !!python/tuple [stable-0.9]
616 babelversion: !!python/tuple [stable-1.5]
617 - 'lttng-tools_{version}_{buildtype}':
620 ustversion: stable-2.9
621 arch: !!python/tuple [armhf, arm64, powerpc, ppc64el]
622 build: !!python/tuple [std]
623 conf: !!python/tuple [std, no-ust, agents]
624 urcuversion: !!python/tuple [stable-0.9]
625 babelversion: !!python/tuple [stable-1.5]
626 - 'lttng-tools_{version}_{buildtype}':
629 ustversion: stable-2.9
630 arch: !!python/tuple [sles12sp2]
631 build: !!python/tuple [std]
632 conf: !!python/tuple [std]
633 urcuversion: !!python/tuple [stable-0.9]
634 babelversion: !!python/tuple [stable-1.5]
635 - 'lttng-tools_{version}_{buildtype}':
636 buildtype: solarisbuild
638 ustversion: stable-2.9
639 arch: !!python/tuple [sol10-i386, sol11-i386]
640 build: !!python/tuple [std]
641 conf: !!python/tuple [relayd-only]
642 urcuversion: !!python/tuple [stable-0.9]
643 babelversion: !!python/tuple [stable-1.5]
644 - 'lttng-tools_{version}_{buildtype}':
645 buildtype: macosxbuild
647 ustversion: stable-2.9
648 arch: !!python/tuple [macosx]
649 build: !!python/tuple [std]
650 conf: !!python/tuple [relayd-only]
651 urcuversion: !!python/tuple [stable-0.9]
652 babelversion: !!python/tuple [stable-1.5]
653 - 'lttng-tools_{version}_winbuild':
655 ustversion: stable-2.9
656 arch: !!python/tuple [cygwin, cygwin64]
657 build: !!python/tuple [std]
658 conf: !!python/tuple [relayd-only]
659 urcuversion: !!python/tuple [stable-0.9]
660 babelversion: !!python/tuple [stable-1.5]
663 - 'lttng-tools_{version}_{buildtype}':
666 ustversion: stable-2.8
667 arch: !!python/tuple [x86-32, x86-64]
668 build: !!python/tuple [std, oot, dist]
669 conf: !!python/tuple [std, no-ust, agents, debug-rcu]
670 urcuversion: !!python/tuple [stable-0.9]
671 babelversion: !!python/tuple [stable-1.4]
672 - 'lttng-tools_{version}_{buildtype}':
675 ustversion: stable-2.8
676 arch: !!python/tuple [armhf, arm64, powerpc, ppc64el]
677 build: !!python/tuple [std]
678 conf: !!python/tuple [std, no-ust, agents]
679 urcuversion: !!python/tuple [stable-0.9]
680 babelversion: !!python/tuple [stable-1.4]
681 - 'lttng-tools_{version}_{buildtype}':
684 ustversion: stable-2.8
685 arch: !!python/tuple [sles12sp2]
686 build: !!python/tuple [std]
687 conf: !!python/tuple [std]
688 urcuversion: !!python/tuple [stable-0.9]
689 babelversion: !!python/tuple [stable-1.4]
690 - 'lttng-tools_{version}_{buildtype}':
691 buildtype: solarisbuild
693 ustversion: stable-2.8
694 arch: !!python/tuple [sol10-i386, sol11-i386]
695 build: !!python/tuple [std]
696 conf: !!python/tuple [relayd-only]
697 urcuversion: !!python/tuple [stable-0.9]
698 babelversion: !!python/tuple [stable-1.4]
701 - 'lttng-tools_{version}_{buildtype}':
704 ustversion: stable-2.7
705 arch: !!python/tuple [x86-32, x86-64]
706 build: !!python/tuple [std, oot, dist]
707 conf: !!python/tuple [std, no-ust, agents, debug-rcu]
708 urcuversion: !!python/tuple [stable-0.9]
709 babelversion: !!python/tuple [stable-1.5]
710 - 'lttng-tools_{version}_{buildtype}':
713 ustversion: stable-2.7
714 arch: !!python/tuple [armhf, arm64, powerpc]
715 build: !!python/tuple [std]
716 conf: !!python/tuple [std, no-ust, agents]
717 urcuversion: !!python/tuple [stable-0.9]
718 babelversion: !!python/tuple [stable-1.5]
719 - 'lttng-tools_{version}_{buildtype}':
722 ustversion: stable-2.7
723 arch: !!python/tuple [sles12sp2]
724 build: !!python/tuple [std]
725 conf: !!python/tuple [std]
726 urcuversion: !!python/tuple [stable-0.9]
727 babelversion: !!python/tuple [stable-1.5]
729 - 'lttng-tools_{version}_cppcheck'
730 - 'lttng-tools_{version}_scan-build':
734 - 'lttng-tools_{version}_scan-build':
736 urcuversion: stable-0.9
737 ustversion: stable-2.10
738 - 'lttng-tools_{version}_scan-build':
740 urcuversion: stable-0.9
741 ustversion: stable-2.9
742 - 'lttng-tools_{version}_scan-build':
744 urcuversion: stable-0.9
745 ustversion: stable-2.8
746 - 'lttng-tools_{version}_scan-build':
748 urcuversion: stable-0.9
749 ustversion: stable-2.7
750 #- 'lttng-tools_{version}_pylint'
751 - 'lttng-tools_{version}_coverity':
758 name: dev_jgalar_lttng-tools
761 github_name: lttng-tools
763 - 'dev_{user}_lttng-tools_{version}_{buildtype}':
765 version: master-staging
767 arch: !!python/tuple [x86-32, x86-64]
768 build: !!python/tuple [std, oot, dist]
769 conf: !!python/tuple [std, no-ust, agents]
770 urcuversion: !!python/tuple [master]
771 babelversion: !!python/tuple [stable-1.5]
772 - 'dev_{user}_lttng-tools_{version}_{buildtype}':
774 version: stable-2.10-staging
775 ustversion: stable-2.10
776 arch: !!python/tuple [x86-32, x86-64]
777 build: !!python/tuple [std, oot, dist]
778 conf: !!python/tuple [std, no-ust, agents]
779 urcuversion: !!python/tuple [stable-0.9]
780 babelversion: !!python/tuple [stable-1.5]
781 - 'dev_{user}_lttng-tools_{version}_{buildtype}':
783 version: stable-2.9-staging
784 ustversion: stable-2.9
785 arch: !!python/tuple [x86-32, x86-64]
786 build: !!python/tuple [std, oot, dist]
787 conf: !!python/tuple [std, no-ust, agents]
788 urcuversion: !!python/tuple [stable-0.9]
789 babelversion: !!python/tuple [stable-1.5]
790 - 'dev_{user}_lttng-tools_{version}_{buildtype}':
792 version: stable-2.8-staging
793 ustversion: stable-2.8
794 arch: !!python/tuple [x86-32, x86-64]
795 build: !!python/tuple [std, oot, dist]
796 conf: !!python/tuple [std, no-ust, agents]
797 urcuversion: !!python/tuple [stable-0.9]
798 babelversion: !!python/tuple [stable-1.4]
799 - 'dev_{user}_lttng-tools_{version}_{buildtype}':
801 version: stable-2.7-staging
802 ustversion: stable-2.7
803 arch: !!python/tuple [x86-32, x86-64]
804 build: !!python/tuple [std, oot, dist]
805 conf: !!python/tuple [std, no-ust, agents]
806 urcuversion: !!python/tuple [stable-0.9]
807 babelversion: !!python/tuple [stable-1.5]
808 - 'dev_{user}_lttng-tools_{version}_{buildtype}':
810 version: master-staging
812 arch: !!python/tuple [armhf, arm64, powerpc, ppc64el]
813 build: !!python/tuple [std]
814 conf: !!python/tuple [std, no-ust, agents]
815 urcuversion: !!python/tuple [master]
816 babelversion: !!python/tuple [stable-1.5]
817 - 'dev_{user}_lttng-tools_{version}_{buildtype}':
819 version: stable-2.10-staging
820 ustversion: stable-2.10
821 arch: !!python/tuple [armhf, arm64, powerpc, ppc64el]
822 build: !!python/tuple [std]
823 conf: !!python/tuple [std, no-ust, agents]
824 urcuversion: !!python/tuple [stable-0.9]
825 babelversion: !!python/tuple [stable-1.5]
826 - 'dev_{user}_lttng-tools_{version}_{buildtype}':
828 version: stable-2.9-staging
829 ustversion: stable-2.9
830 arch: !!python/tuple [armhf, arm64, powerpc, ppc64el]
831 build: !!python/tuple [std]
832 conf: !!python/tuple [std, no-ust, agents]
833 urcuversion: !!python/tuple [stable-0.9]
834 babelversion: !!python/tuple [stable-1.5]
835 - 'dev_{user}_lttng-tools_{version}_{buildtype}':
837 version: stable-2.8-staging
838 ustversion: stable-2.8
839 arch: !!python/tuple [armhf, arm64, powerpc, ppc64el]
840 build: !!python/tuple [std]
841 conf: !!python/tuple [std, no-ust, agents]
842 urcuversion: !!python/tuple [stable-0.9]
843 babelversion: !!python/tuple [stable-1.4]
844 - 'dev_{user}_lttng-tools_{version}_{buildtype}':
846 version: stable-2.7-staging
847 ustversion: stable-2.7
848 arch: !!python/tuple [armhf, arm64, powerpc, ppc64el]
849 build: !!python/tuple [std]
850 conf: !!python/tuple [std, no-ust, agents]
851 urcuversion: !!python/tuple [stable-0.9]
852 babelversion: !!python/tuple [stable-1.5]
853 - 'dev_{user}_lttng-tools_{version}_{buildtype}':
854 buildtype: macosxbuild
855 version: master-staging
857 arch: !!python/tuple [macosx]
858 build: !!python/tuple [std]
859 conf: !!python/tuple [relayd-only]
860 urcuversion: !!python/tuple [master]
861 babelversion: !!python/tuple [stable-1.5]
862 - 'dev_{user}_lttng-tools_{version}_{buildtype}':
863 buildtype: solarisbuild
864 version: master-staging
866 arch: !!python/tuple [sol10-i386, sol11-i386]
867 build: !!python/tuple [std]
868 conf: !!python/tuple [relayd-only]
869 urcuversion: !!python/tuple [master]
870 babelversion: !!python/tuple [stable-1.5]