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. Use `refs/XXX` for a specific ref, or a commit hash.'
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'
716 description: "Enable verbose builds"
718 name: 'FAIL_ON_WARNINGS'
720 description: "Fail the lttng-modules build if there are any warnings"
730 condition-kind: regex-match
731 label: '$distroversion'
737 git clone -b "$getsrc_version" "$getsrc_repo" src/getsrc
739 !include-raw-escape: scripts/lttng-modules/param-build.sh
745 name: dev_mjeanson_lttng-modules_PARAM_build
746 defaults: lttng-modules
748 This is a parametrized job used by 'master' jobs to build any combinations
749 of lttng-modules and linux kernel versions.
751 <p>Job is managed by Jenkins Job Builder.</p>
754 node: 'master' # Applies only to matrix flyweight task
759 values: '{obj:platforms}'
769 description: 'The lttng-modules branch to build.'
772 default: 'https://github.com/{github_user}/lttng-modules.git'
773 description: 'The lttng-modules git repository url.'
777 description: 'The linux kernel git tag to build against.'
780 default: 'git://git-mirror.internal.efficios.com/git/linux-all.git'
781 description: 'The linux kernel git repository url.'
791 !include-raw-escape: scripts/lttng-modules/param-build.sh
798 name: dev_mjeanson_lttng-modules_PARAM_crossbuild
799 defaults: lttng-modules
801 This is a parametrized job used by 'master' jobs to build any combinations
802 of lttng-modules and linux kernel versions.
804 <p>Job is managed by Jenkins Job Builder.</p>
807 node: 'master' # Applies only to matrix flyweight task
812 values: '{obj:cross_arch}'
816 values: '{obj:platforms}'
826 description: 'The lttng-modules branch to build.'
829 default: 'git://git-mirror.internal.efficios.com/lttng/lttng-modules.git'
830 description: 'The lttng-modules git repository url.'
834 description: 'The linux kernel git tag to build against.'
837 default: 'git://git-mirror.internal.efficios.com/git/linux-all.git'
838 description: 'The linux kernel git repository url.'
848 !include-raw-escape: scripts/lttng-modules/param-build.sh
854 name: lttng-modules_PARAM_crossbuild
855 defaults: lttng-modules
857 This is a parametrized job used by 'master' jobs to build any combinations
858 of lttng-modules and linux kernel versions.
860 <p>Job is managed by Jenkins Job Builder.</p>
863 node: 'master' # Applies only to matrix flyweight task
868 values: '{obj:cross_arch}'
872 values: '{obj:platforms}'
882 description: 'The lttng-modules branch to build.'
885 default: 'git://git-mirror.internal.efficios.com/lttng/lttng-modules.git'
886 description: 'The lttng-modules git repository url.'
890 description: 'The linux kernel git tag to build against.'
893 default: 'git://git-mirror.internal.efficios.com/git/linux-all.git'
894 description: 'The linux kernel git repository url.'
904 !include-raw-escape: scripts/lttng-modules/param-build.sh
910 name: lttng-modules_{mversion}_coverity
911 defaults: lttng-modules
923 - credentials-binding:
924 - username-password-separated:
925 credential-id: lttng-modules_coverity_token
926 username: COVERITY_SCAN_PROJECT_NAME
927 password: COVERITY_SCAN_TOKEN
931 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
934 sed -i "s/# CONFIG_KALLSYMS_ALL is not set/CONFIG_KALLSYMS_ALL=y/g" .config
937 !include-raw-escape: scripts/common/coverity.sh
941 artifacts: 'analysis-results.tgz,cov-int/**'
943 - ircbot: *lttng-modules_publisher_ircbot_defaults
951 github_name: lttng-modules
952 email_to: 'ci-notification@lists.lttng.org, cc:mathieu.desnoyers@efficios.com'
959 # Vanilla normal builds
960 - 'lttng-modules_{mversion}_{buildtype}-vanilla':
964 parambuildtype: build
967 kverfilter: stable-head
968 - 'lttng-modules_{mversion}_fullbuild-vanilla':
972 parambuildtype: build
977 - 'lttng-modules_{mversion}_{buildtype}-vanilla':
981 parambuildtype: build
984 kverfilter: stable-head
985 - 'lttng-modules_{mversion}_fullbuild-vanilla':
989 parambuildtype: build
994 - 'lttng-modules_{mversion}_{buildtype}-vanilla':
998 parambuildtype: build
1001 kverfilter: stable-head
1003 - 'lttng-modules_{mversion}_fullbuild-vanilla':
1007 parambuildtype: build
1014 - 'lttng-modules_{mversion}_{buildtype}-{elversion}':
1022 parambuildtype: build
1025 kverfilter: stable-head
1028 - 'lttng-modules_{mversion}_build-rt':
1030 kverfloor: v4.4.0-rt1-rebase
1032 kverfilter: stable-head
1034 # SLES normal builders
1035 - 'lttng-modules_{mversion}_{buildtype}-{slesversion}':
1043 parambuildtype: build
1046 kverfilter: stable-head
1048 # Ubuntu normal builds
1049 - 'lttng-modules_{mversion}_{buildtype}-{uversion}':
1058 parambuildtype: build
1061 kverfilter: stable-head
1063 - 'lttng-modules_{mversion}_{buildtype}-{uversion}':
1070 parambuildtype: build
1072 kverceil: Ubuntu-hwe-5.18.0-0.0
1073 kverfilter: stable-head
1075 # Vanilla crossbuilds
1076 - 'lttng-modules_{mversion}_{buildtype}-vanilla':
1079 buildtype: crossbuild
1080 parambuildtype: crossbuild
1083 kverfilter: stable-head
1085 - 'lttng-modules_{mversion}_{buildtype}-vanilla':
1088 buildtype: crossbuild
1089 parambuildtype: crossbuild
1092 kverfilter: stable-head
1094 - 'lttng-modules_{mversion}_{buildtype}-vanilla':
1097 buildtype: crossbuild
1098 parambuildtype: crossbuild
1101 kverfilter: stable-head
1104 # Ubuntu cross builds
1105 - 'lttng-modules_{mversion}_{buildtype}-{uversion}':
1113 buildtype: crossbuild
1114 parambuildtype: crossbuild
1117 kverfilter: stable-head
1119 - 'lttng-modules_{mversion}_{buildtype}-{uversion}':
1125 buildtype: crossbuild
1126 parambuildtype: crossbuild
1128 kverceil: Ubuntu-hwe-5.18.0-0.0
1129 kverfilter: stable-head
1131 # Parametrized kernel and modules build jobs
1132 - 'lttng-modules_PARAM_build':
1133 platforms: !!python/tuple [deb12-amd64]
1134 - 'lttng-modules_PARAM_crossbuild':
1135 platforms: !!python/tuple [deb12-amd64]
1136 cross_arch: !!python/tuple [armhf, arm64, powerpc, ppc64el, riscv64]
1139 - 'lttng-modules_ALL_trigger-vanilla'
1140 - 'lttng-modules_{mversion}_coverity':
1144 name: lttng-modules-review
1146 - 'dev_review_lttng-modules_{mversion}_build':
1150 kverfilter: lts-head
1151 - 'dev_review_lttng-modules_{mversion}_build':
1152 mversion: stable-2.13
1155 kverfilter: lts-head
1156 - 'dev_review_lttng-modules_{mversion}_build':
1157 mversion: stable-2.12
1160 kverfilter: lts-head
1162 - 'dev_review_lttng-modules_{mversion}_build-{elversion}':
1170 parambuildtype: build
1173 kverfilter: stable-head
1174 - 'dev_review_lttng-modules_{mversion}_build-{slesversion}':
1182 parambuildtype: build
1185 kverfilter: stable-head
1188 name: lttng-modules-dev-mjeanson
1189 github_user: mjeanson
1190 github_name: lttng-modules
1193 - 'dev_mjeanson_lttng-modules_PARAM_build':
1194 platforms: !!python/tuple [deb12-amd64]
1195 - 'dev_mjeanson_lttng-modules_PARAM_crossbuild':
1196 platforms: !!python/tuple [deb12-amd64]
1197 cross_arch: !!python/tuple [armhf, arm64, powerpc, ppc64el]
1198 - 'dev_mjeanson_lttng-modules_{mversion}_{buildtype}-vanilla':
1202 parambuildtype: build
1205 kverfilter: stable-head
1206 - 'dev_mjeanson_lttng-modules_{mversion}_{buildtype}-vanilla':
1209 buildtype: crossbuild
1210 parambuildtype: crossbuild
1213 kverfilter: lts-head