6 The LTTng modules provide Linux kernel tracing capability to the LTTng
9 <p>Job is managed by Jenkins Job Builder.</p>
11 project-type: freestyle
20 url: https://github.com/{github_user}/{github_name}.git
22 browser-url: https://github.com/{github_user}/{github_name}
24 - "refs/heads/{mversion}"
27 basedir: src/lttng-modules
38 artifact-num-to-keep: 2
40 url: https://github.com/{github_user}/{github_name}
44 - ircbot: <tng-modules_publisher_ircbot_defaults
45 strategy: statechange-only
47 matrix-notifier: only-parent
48 - email-ext: <tng-modules_publisher_email-ext_defaults
49 recipients: '{obj:email_to}'
50 reply-to: ci-notification@lists.lttng.org
67 matrix-trigger: only-parent
73 - _lttng-modules_build_parameters_defaults: <tng-modules_build_parameters_defaults
74 name: 'lttng-modules_build_parameters_defaults'
77 name: 'maxConcurrentBuild'
79 description: 'The maximum number of concurrent child build to run.'
82 default: '{kverfloor}'
83 description: 'The lowest kernel version to build.'
87 description: 'The highest kernel version to build. (excluded)'
90 default: '{kverfilter}'
91 description: 'Kernel versions list filtering strategy.'
94 default: '{kverrc|true}'
95 description: 'Add latest RC to kernel versions list.'
98 default: 'git://git-mirror.internal.efficios.com/git/linux-all.git'
99 description: 'The linux kernel git repository url.'
102 default: 'lttng-modules_PARAM_{parambuildtype}'
103 description: 'The parametrized job to use for child builds.'
105 - _lttng-modules_build_parameters_review: <tng-modules_build_parameters_review
106 name: 'lttng-modules_build_parameters_review'
109 name: 'maxConcurrentBuild'
111 description: 'The maximum number of concurrent child build to run.'
114 default: '{kverfloor}'
115 description: 'The lowest kernel version to build.'
118 default: '{kverceil}'
119 description: 'The highest kernel version to build. (excluded)'
122 default: '{kverfilter}'
123 description: 'Kernel versions list filtering strategy.'
126 default: '{kverrc|true}'
127 description: 'Add latest RC to kernel versions list.'
130 default: 'git://git-mirror.internal.efficios.com/git/linux-all.git'
131 description: 'The linux kernel git repository url.'
134 default: 'lttng-modules_PARAM_build'
135 description: 'The parametrized job to use for child builds.'
137 - _lttng-modules_build_parameters_ubuntu: <tng-modules_build_parameters_el
138 name: 'lttng-modules_build_parameters_el'
141 name: 'maxConcurrentBuild'
143 description: 'The maximum number of concurrent child build to run.'
146 default: '{kverfloor}'
147 description: 'The lowest kernel version to build.'
150 default: '{kverceil}'
151 description: 'The highest kernel version to build. (excluded)'
154 default: '{kverfilter}'
155 description: 'Kernel versions list filtering strategy.'
159 description: 'Add latest RC to kernel versions list.'
162 default: 'git://git-mirror.internal.efficios.com/git/rocky.git'
163 description: 'The linux kernel git repository url.'
166 default: 'lttng-modules_PARAM_{parambuildtype}'
167 description: 'The parametrized job to use for child builds.'
170 default: '{elversion}'
171 description: 'The EL release (eg. el8)'
174 default: 'https://github.com/rocky-linux/rocky-tools.git'
175 description: 'The git repository that contains the getsrc tool'
177 name: 'getsrc_version'
179 description: 'The tag or commit to use when cloning the getsrc tool'
181 - _lttng-modules_build_parameters_ubuntu: <tng-modules_build_parameters_sles
182 name: 'lttng-modules_build_parameters_sles'
185 name: 'maxConcurrentBuild'
187 description: 'The maximum number of concurrent child build to run.'
190 default: '{kverfloor}'
191 description: 'The lowest kernel version to build.'
194 default: '{kverceil}'
195 description: 'The highest kernel version to build. (excluded)'
198 default: '{kverfilter}'
199 description: 'Kernel versions list filtering strategy.'
203 description: 'Add latest RC to kernel versions list.'
206 default: 'git://git-mirror.internal.efficios.com/git/sles.git'
207 description: 'The linux kernel git repository url.'
210 default: 'lttng-modules_PARAM_{parambuildtype}'
211 description: 'The parametrized job to use for child builds.'
214 default: '{slesversion}'
215 description: 'The SLES release (eg. sles15sp4)'
217 - _lttng-modules_build_parameters_ubuntu: <tng-modules_build_parameters_ubuntu
218 name: 'lttng-modules_build_parameters_ubuntu'
221 name: 'maxConcurrentBuild'
223 description: 'The maximum number of concurrent child build to run.'
226 default: '{kverfloor}'
227 description: 'The lowest kernel version to build.'
230 default: '{kverceil}'
231 description: 'The highest kernel version to build. (excluded)'
234 default: '{kverfilter}'
235 description: 'Kernel versions list filtering strategy.'
239 description: 'Add latest RC to kernel versions list.'
242 default: 'git://git-mirror.internal.efficios.com/git/ubuntu-{uversion}.git'
243 description: 'The linux kernel git repository url.'
246 default: 'lttng-modules_PARAM_{parambuildtype}'
247 description: 'The parametrized job to use for child builds.'
250 default: '{uversion}'
251 description: 'The lowest kernel version to build.'
253 - _lttng-modules_build_parameters_rt: <tng-modules_build_parameters_rt
254 name: 'lttng-modules_build_parameters_rt'
257 name: 'maxConcurrentBuild'
259 description: 'The maximum number of concurrent child build to run.'
262 default: '{kverfloor}'
263 description: 'The lowest kernel version to build.'
266 default: '{kverceil}'
267 description: 'The highest kernel version to build. (excluded)'
270 default: '{kverfilter}'
271 description: 'Kernel versions list filtering strategy.'
275 description: 'Add latest RC to kernel versions list.'
278 default: 'git://git-mirror.internal.efficios.com/kernel/rt/linux-stable-rt.git'
279 description: 'The linux kernel git repository url.'
282 default: 'lttng-modules_PARAM_build'
283 description: 'The parametrized job to use for child builds.'
285 - _lttng-modules_build_builders_defaults: <tng-modules_build_builders_defaults
286 name: 'lttng-modules_build_builders_defaults'
290 !include-raw-escape: scripts/lttng-modules/master.groovy
292 - _lttng-modules_build_rt_builders_defaults: <tng-modules_build_rt_builders_defaults
293 name: 'lttng-modules_build_rt_builders_defaults'
297 !include-raw-escape: scripts/lttng-modules/master-rt.groovy
302 name: lttng-modules_ALL_trigger-vanilla
303 defaults: lttng-modules
305 The LTTng modules provide Linux kernel tracing capability to the LTTng
308 This job will trigger the build jobs when a new tag is added to the vanilla
309 and stable kernel trees.
311 <p>Job is managed by Jenkins Job Builder.</p>
322 # Check for new kernel tags everay day at 22:00
323 - timed: "0 22 * * *"
328 !include-raw-escape: scripts/lttng-modules/trigger-vanilla.groovy
333 name: lttng-modules_{mversion}_{buildtype}-vanilla
334 defaults: lttng-modules
336 The LTTng modules provide Linux kernel tracing capability to the LTTng
339 This job will build the {mversion} branch against stable vanilla
342 <p>Job is managed by Jenkins Job Builder.</p>
347 # Check for new commits every hour
351 <<: *lttng-modules_build_parameters_defaults
352 <<: *lttng-modules_build_builders_defaults
355 name: dev_mjeanson_lttng-modules_{mversion}_{buildtype}-vanilla
356 defaults: lttng-modules
358 The LTTng modules provide Linux kernel tracing capability to the LTTng
361 This job will build the {mversion} branch against stable vanilla
364 <p>Job is managed by Jenkins Job Builder.</p>
368 # This is a test job, no triggers
373 name: 'maxConcurrentBuild'
375 description: 'The maximum number of concurrent child build to run.'
378 default: '{kverfloor}'
379 description: 'The lowest kernel version to build.'
382 default: '{kverceil}'
383 description: 'The highest kernel version to build. (excluded)'
386 default: '{kverfilter}'
387 description: 'Kernel versions list filtering strategy.'
391 description: 'Add latest RC to kernel versions list.'
394 default: 'git://git-mirror.internal.efficios.com/git/linux-all.git'
395 description: 'The linux kernel git repository url.'
398 default: 'dev_mjeanson_lttng-modules_PARAM_{parambuildtype}'
399 description: 'The parametrized job to use for child builds.'
401 <<: *lttng-modules_build_builders_defaults
404 name: dev_review_lttng-modules_{mversion}_build
405 defaults: lttng-modules
412 url: https://review.lttng.org/lttng-modules
413 refspec: 'refs/changes/*:refs/changes/*'
416 basedir: src/lttng-modules
422 - comment-added-event:
423 approval-category: 'CI-Build'
426 - project-compare-type: 'PLAIN'
427 project-pattern: 'lttng-modules'
429 - branch-compare-type: 'PLAIN'
430 branch-pattern: '{mversion}'
440 <<: *lttng-modules_build_parameters_review
441 <<: *lttng-modules_build_builders_defaults
447 name: 'dev_review_lttng-modules_{mversion}_build-{elversion}'
448 defaults: lttng-modules
455 url: https://review.lttng.org/lttng-modules
456 refspec: 'refs/changes/*:refs/changes/*'
459 basedir: src/lttng-modules
465 - comment-added-event:
466 approval-category: 'CI-Build'
469 - project-compare-type: 'PLAIN'
470 project-pattern: 'lttng-modules'
472 - branch-compare-type: 'PLAIN'
473 branch-pattern: '{mversion}'
483 <<: *lttng-modules_build_parameters_el
484 <<: *lttng-modules_build_builders_defaults
490 name: 'dev_review_lttng-modules_{mversion}_build-{slesversion}'
491 defaults: lttng-modules
498 url: https://review.lttng.org/lttng-modules
499 refspec: 'refs/changes/*:refs/changes/*'
502 basedir: src/lttng-modules
508 - comment-added-event:
509 approval-category: 'CI-Build'
512 - project-compare-type: 'PLAIN'
513 project-pattern: 'lttng-modules'
515 - branch-compare-type: 'PLAIN'
516 branch-pattern: '{mversion}'
526 <<: *lttng-modules_build_parameters_sles
527 <<: *lttng-modules_build_builders_defaults
533 name: lttng-modules_{mversion}_fullbuild-vanilla
534 defaults: lttng-modules
536 The LTTng modules provide Linux kernel tracing capability to the LTTng
539 This job will build the {mversion} branch against all stable vanilla
542 <p>Job is managed by Jenkins Job Builder.</p>
546 <<: *lttng-modules_build_parameters_defaults
547 <<: *lttng-modules_build_builders_defaults
550 # Check for new commits every friday at midnight
555 name: 'lttng-modules_{mversion}_{buildtype}-{elversion}'
556 defaults: lttng-modules
558 The LTTng modules provide Linux kernel tracing capability to the LTTng
561 This job will the {mversion} branch against EL {elversion} released
564 <p>Job is managed by Jenkins Job Builder.</p>
571 <<: *lttng-modules_build_parameters_el
572 <<: *lttng-modules_build_builders_defaults
575 name: lttng-modules_{mversion}_{buildtype}-{slesversion}
576 defaults: lttng-modules
578 The LTTng modules provide Linux kernel tracing capability to the LTTng
581 This job will the {mversion} branch against SLES {slesversion} released
584 <p>Job is managed by Jenkins Job Builder.</p>
591 <<: *lttng-modules_build_parameters_sles
592 <<: *lttng-modules_build_builders_defaults
595 name: lttng-modules_{mversion}_{buildtype}-{uversion}
596 defaults: lttng-modules
598 The LTTng modules provide Linux kernel tracing capability to the LTTng
601 This job will build the {mversion} branch against Ubuntu {uversion}
602 released kernels, including the LTS backport kernels.
604 <p>Job is managed by Jenkins Job Builder.</p>
609 # Check for new commits every hour
612 # Also run every saturday at midnight to catch new ubuntu kernel tags
615 <<: *lttng-modules_build_parameters_ubuntu
616 <<: *lttng-modules_build_builders_defaults
619 name: lttng-modules_{mversion}_fullbuild-{uversion}
620 defaults: lttng-modules
622 The LTTng modules provide Linux kernel tracing capability to the LTTng
625 This job will build the {mversion} branch against Ubuntu {uversion}
626 released kernels, including the LTS backport kernels.
628 <p>Job is managed by Jenkins Job Builder.</p>
632 <<: *lttng-modules_build_parameters_ubuntu
633 <<: *lttng-modules_build_builders_defaults
640 name: lttng-modules_{mversion}_build-rt
641 defaults: lttng-modules
643 The LTTng modules provide Linux kernel tracing capability to the LTTng
646 This job will build the {mversion} branch against all Linutronix RT
649 <p>Job is managed by Jenkins Job Builder.</p>
654 # Check for new commits every hour
657 # Also run every sunday at midnight to catch new rt kernel tags
660 <<: *lttng-modules_build_parameters_rt
661 <<: *lttng-modules_build_rt_builders_defaults
664 name: lttng-modules_PARAM_build
665 defaults: lttng-modules
667 This is a parametrized job used by 'master' jobs to build any combinations
668 of lttng-modules and linux kernel versions.
670 <p>Job is managed by Jenkins Job Builder.</p>
673 node: 'master' # Applies only to matrix flyweight task
678 values: '{obj:platforms}'
688 description: 'The lttng-modules branch to build.'
691 default: 'git://git-mirror.internal.efficios.com/lttng/lttng-modules.git'
692 description: 'The lttng-modules git repository url.'
696 description: 'The linux kernel git tag to build against.'
699 default: 'git://git-mirror.internal.efficios.com/git/linux-all.git'
700 description: 'The linux kernel git repository url.'
702 name: 'distroversion'
704 description: 'Supplementary distribution version, eg. sles15sp4 or el8'
707 default: 'https://github.com/rocky-linux/rocky-tools.git'
708 description: 'The git repository that contains the getsrc tool'
710 name: 'getsrc_version'
712 description: 'The tag or commit to use when cloning the getsrc tool'
722 condition-kind: regex-match
723 label: '$distroversion'
729 git clone -b "$getsrc_version" "$getsrc_repo" src/getsrc
731 !include-raw-escape: scripts/lttng-modules/param-build.sh
737 name: dev_mjeanson_lttng-modules_PARAM_build
738 defaults: lttng-modules
740 This is a parametrized job used by 'master' jobs to build any combinations
741 of lttng-modules and linux kernel versions.
743 <p>Job is managed by Jenkins Job Builder.</p>
746 node: 'master' # Applies only to matrix flyweight task
751 values: '{obj:platforms}'
761 description: 'The lttng-modules branch to build.'
764 default: 'https://github.com/{github_user}/lttng-modules.git'
765 description: 'The lttng-modules git repository url.'
769 description: 'The linux kernel git tag to build against.'
772 default: 'git://git-mirror.internal.efficios.com/git/linux-all.git'
773 description: 'The linux kernel git repository url.'
783 !include-raw-escape: scripts/lttng-modules/param-build.sh
790 name: dev_mjeanson_lttng-modules_PARAM_crossbuild
791 defaults: lttng-modules
793 This is a parametrized job used by 'master' jobs to build any combinations
794 of lttng-modules and linux kernel versions.
796 <p>Job is managed by Jenkins Job Builder.</p>
799 node: 'master' # Applies only to matrix flyweight task
804 values: '{obj:cross_arch}'
808 values: '{obj:platforms}'
818 description: 'The lttng-modules branch to build.'
821 default: 'git://git-mirror.internal.efficios.com/lttng/lttng-modules.git'
822 description: 'The lttng-modules git repository url.'
826 description: 'The linux kernel git tag to build against.'
829 default: 'git://git-mirror.internal.efficios.com/git/linux-all.git'
830 description: 'The linux kernel git repository url.'
840 !include-raw-escape: scripts/lttng-modules/param-build.sh
846 name: lttng-modules_PARAM_crossbuild
847 defaults: lttng-modules
849 This is a parametrized job used by 'master' jobs to build any combinations
850 of lttng-modules and linux kernel versions.
852 <p>Job is managed by Jenkins Job Builder.</p>
855 node: 'master' # Applies only to matrix flyweight task
860 values: '{obj:cross_arch}'
864 values: '{obj:platforms}'
874 description: 'The lttng-modules branch to build.'
877 default: 'git://git-mirror.internal.efficios.com/lttng/lttng-modules.git'
878 description: 'The lttng-modules git repository url.'
882 description: 'The linux kernel git tag to build against.'
885 default: 'git://git-mirror.internal.efficios.com/git/linux-all.git'
886 description: 'The linux kernel git repository url.'
896 !include-raw-escape: scripts/lttng-modules/param-build.sh
902 name: lttng-modules_{mversion}_coverity
903 defaults: lttng-modules
915 - credentials-binding:
916 - username-password-separated:
917 credential-id: lttng-modules_coverity_token
918 username: COVERITY_SCAN_PROJECT_NAME
919 password: COVERITY_SCAN_TOKEN
923 git clone --depth=1 -b v6.1 --reference-if-able $HOME/gitcache/linux-stable.git/ git://git-mirror.internal.efficios.com/kernel/stable/linux-stable.git src/linux
926 sed -i "s/# CONFIG_KALLSYMS_ALL is not set/CONFIG_KALLSYMS_ALL=y/g" .config
929 !include-raw-escape: scripts/common/coverity.sh
933 artifacts: 'analysis-results.tgz,cov-int/**'
935 - ircbot: *lttng-modules_publisher_ircbot_defaults
943 github_name: lttng-modules
944 email_to: 'ci-notification@lists.lttng.org, cc:mathieu.desnoyers@efficios.com'
951 # Vanilla normal builds
952 - 'lttng-modules_{mversion}_{buildtype}-vanilla':
956 parambuildtype: build
959 kverfilter: stable-head
960 - 'lttng-modules_{mversion}_fullbuild-vanilla':
964 parambuildtype: build
969 - 'lttng-modules_{mversion}_{buildtype}-vanilla':
973 parambuildtype: build
976 kverfilter: stable-head
977 - 'lttng-modules_{mversion}_fullbuild-vanilla':
981 parambuildtype: build
986 - 'lttng-modules_{mversion}_{buildtype}-vanilla':
990 parambuildtype: build
993 kverfilter: stable-head
995 - 'lttng-modules_{mversion}_fullbuild-vanilla':
999 parambuildtype: build
1006 - 'lttng-modules_{mversion}_{buildtype}-{elversion}':
1014 parambuildtype: build
1017 kverfilter: stable-head
1020 - 'lttng-modules_{mversion}_build-rt':
1022 kverfloor: v4.4.0-rt1-rebase
1024 kverfilter: stable-head
1026 # SLES normal builders
1027 - 'lttng-modules_{mversion}_{buildtype}-{slesversion}':
1035 parambuildtype: build
1038 kverfilter: stable-head
1040 # Ubuntu normal builds
1041 - 'lttng-modules_{mversion}_{buildtype}-{uversion}':
1050 parambuildtype: build
1053 kverfilter: stable-head
1055 - 'lttng-modules_{mversion}_{buildtype}-{uversion}':
1062 parambuildtype: build
1064 kverceil: Ubuntu-hwe-5.18.0-0.0
1065 kverfilter: stable-head
1067 # Vanilla crossbuilds
1068 - 'lttng-modules_{mversion}_{buildtype}-vanilla':
1071 buildtype: crossbuild
1072 parambuildtype: crossbuild
1075 kverfilter: stable-head
1077 - 'lttng-modules_{mversion}_{buildtype}-vanilla':
1080 buildtype: crossbuild
1081 parambuildtype: crossbuild
1084 kverfilter: stable-head
1086 - 'lttng-modules_{mversion}_{buildtype}-vanilla':
1089 buildtype: crossbuild
1090 parambuildtype: crossbuild
1093 kverfilter: stable-head
1096 # Ubuntu cross builds
1097 - 'lttng-modules_{mversion}_{buildtype}-{uversion}':
1105 buildtype: crossbuild
1106 parambuildtype: crossbuild
1109 kverfilter: stable-head
1111 - 'lttng-modules_{mversion}_{buildtype}-{uversion}':
1117 buildtype: crossbuild
1118 parambuildtype: crossbuild
1120 kverceil: Ubuntu-hwe-5.18.0-0.0
1121 kverfilter: stable-head
1123 # Parametrized kernel and modules build jobs
1124 - 'lttng-modules_PARAM_build':
1125 platforms: !!python/tuple [deb12-amd64]
1126 - 'lttng-modules_PARAM_crossbuild':
1127 platforms: !!python/tuple [deb12-amd64]
1128 cross_arch: !!python/tuple [armhf, arm64, powerpc, ppc64el, riscv64]
1131 - 'lttng-modules_ALL_trigger-vanilla'
1132 - 'lttng-modules_{mversion}_coverity':
1136 name: lttng-modules-review
1138 - 'dev_review_lttng-modules_{mversion}_build':
1142 kverfilter: lts-head
1143 - 'dev_review_lttng-modules_{mversion}_build':
1144 mversion: stable-2.13
1147 kverfilter: lts-head
1148 - 'dev_review_lttng-modules_{mversion}_build':
1149 mversion: stable-2.12
1152 kverfilter: lts-head
1154 - 'dev_review_lttng-modules_{mversion}_build-{elversion}':
1162 parambuildtype: build
1165 kverfilter: stable-head
1166 - 'dev_review_lttng-modules_{mversion}_build-{slesversion}':
1174 parambuildtype: build
1177 kverfilter: stable-head
1180 name: lttng-modules-dev-mjeanson
1181 github_user: mjeanson
1182 github_name: lttng-modules
1185 - 'dev_mjeanson_lttng-modules_PARAM_build':
1186 platforms: !!python/tuple [deb12-amd64]
1187 - 'dev_mjeanson_lttng-modules_PARAM_crossbuild':
1188 platforms: !!python/tuple [deb12-amd64]
1189 cross_arch: !!python/tuple [armhf, arm64, powerpc, ppc64el]
1190 - 'dev_mjeanson_lttng-modules_{mversion}_{buildtype}-vanilla':
1194 parambuildtype: build
1197 kverfilter: stable-head
1198 - 'dev_mjeanson_lttng-modules_{mversion}_{buildtype}-vanilla':
1201 buildtype: crossbuild
1202 parambuildtype: crossbuild
1205 kverfilter: lts-head