Commit | Line | Data |
---|---|---|
598af463 | 1 | --- |
3a01c580 MJ |
2 | ## Anchors |
3 | - lttng-modules_build_parameters_defaults: <tng-modules_build_parameters_defaults | |
4 | name: 'lttng-modules_build_parameters_defaults' | |
5 | parameters: | |
6 | - string: | |
7 | name: 'mversion' | |
8 | default: '{mversion}' | |
9 | description: 'The lttng-modules branch to build.' | |
10 | - string: | |
11 | name: 'maxConcurrentBuild' | |
12 | default: '20' | |
13 | description: 'The maximum number of concurrent child build to run.' | |
14 | - string: | |
15 | name: 'kverfloor' | |
16 | default: '{kverfloor}' | |
17 | description: 'The lowest kernel version to build.' | |
18 | - string: | |
19 | name: 'kverceil' | |
20 | default: '{kverceil}' | |
21 | description: 'The highest kernel version to build. (excluded)' | |
22 | - string: | |
23 | name: 'kverfilter' | |
24 | default: '{kverfilter}' | |
25 | description: 'Kernel versions list filtering strategy.' | |
26 | - string: | |
27 | name: 'kgitrepo' | |
28 | default: 'git://git-mirror.internal.efficios.com/git/linux-all.git' | |
29 | description: 'The linux kernel git repository url.' | |
30 | - string: | |
31 | name: 'kbuildjob' | |
32 | default: 'lttng-modules_VERSION_param-{parambuildtype}' | |
33 | description: 'The parametrized job to use for child builds.' | |
34 | ||
35 | - lttng-modules_build_parameters_ubuntu: <tng-modules_build_parameters_ubuntu | |
36 | name: 'lttng-modules_build_parameters_ubuntu' | |
37 | parameters: | |
38 | - string: | |
39 | name: 'mversion' | |
40 | default: '{mversion}' | |
41 | description: 'The lttng-modules branch to build.' | |
42 | - string: | |
43 | name: 'maxConcurrentBuild' | |
44 | default: '20' | |
45 | description: 'The maximum number of concurrent child build to run.' | |
46 | - string: | |
47 | name: 'kverfloor' | |
48 | default: '{kverfloor}' | |
49 | description: 'The lowest kernel version to build.' | |
50 | - string: | |
51 | name: 'kverceil' | |
52 | default: '{kverceil}' | |
53 | description: 'The highest kernel version to build. (excluded)' | |
54 | - string: | |
55 | name: 'kverfilter' | |
56 | default: '{kverfilter}' | |
57 | description: 'Kernel versions list filtering strategy.' | |
58 | - string: | |
59 | name: 'kgitrepo' | |
60 | default: 'git://git-mirror.internal.efficios.com/git/ubuntu-{uversion}.git' | |
61 | description: 'The linux kernel git repository url.' | |
62 | - string: | |
63 | name: 'kbuildjob' | |
64 | default: 'lttng-modules_VERSION_param-{parambuildtype}' | |
65 | description: 'The parametrized job to use for child builds.' | |
66 | - string: | |
67 | name: 'uversion' | |
68 | default: '{uversion}' | |
69 | description: 'The lowest kernel version to build.' | |
70 | ||
71 | - lttng-modules_build_parameters_rt: <tng-modules_build_parameters_rt | |
72 | name: 'lttng-modules_build_parameters_rt' | |
73 | parameters: | |
74 | - string: | |
75 | name: 'mversion' | |
76 | default: '{mversion}' | |
77 | description: 'The lttng-modules branch to build.' | |
78 | - string: | |
79 | name: 'maxConcurrentBuild' | |
80 | default: '20' | |
81 | description: 'The maximum number of concurrent child build to run.' | |
82 | - string: | |
83 | name: 'kverfloor' | |
84 | default: 'v2.6.36-rt0-rebase' | |
85 | description: 'The lowest kernel version to build.' | |
86 | - string: | |
87 | name: 'kgitrepo' | |
88 | default: 'git://git-mirror.internal.efficios.com/kernel/rt/linux-rt-devel.git' | |
89 | description: 'The linux kernel git repository url.' | |
90 | - string: | |
91 | name: 'kbuildjob' | |
92 | default: 'lttng-modules_VERSION_param-build' | |
93 | description: 'The parametrized job to use for child builds.' | |
94 | ||
95 | - lttng-modules_build_builders_defaults: <tng-modules_build_builders_defaults | |
96 | name: 'lttng-modules_build_builders_defaults' | |
97 | builders: | |
98 | - system-groovy: | |
99 | command: | |
100 | !include-raw-escape: scripts/lttng-modules/master.groovy | |
101 | ||
102 | - lttng-modules_build_rt_builders_defaults: <tng-modules_build_rt_builders_defaults | |
103 | name: 'lttng-modules_build_rt_builders_defaults' | |
104 | builders: | |
105 | - system-groovy: | |
106 | command: | |
107 | !include-raw-escape: scripts/lttng-modules/master-rt.groovy | |
108 | ||
109 | ||
110 | ## Defaults | |
598af463 MJ |
111 | - defaults: |
112 | name: lttng-modules | |
113 | description: | | |
f899b1be MJ |
114 | The LTTng modules provide Linux kernel tracing capability to the LTTng |
115 | 2.0 tracer toolset. | |
a3c2d81c MJ |
116 | |
117 | <p>Job is managed by Jenkins Job Builder.</p> | |
598af463 MJ |
118 | |
119 | project-type: freestyle | |
120 | ||
598af463 MJ |
121 | wrappers: |
122 | - workspace-cleanup | |
123 | - timestamps | |
124 | - ansicolor | |
125 | ||
126 | scm: | |
598af463 | 127 | - git: |
51ca880a | 128 | url: git://github.com/{github_user}/{github_name}.git |
9a00aa82 | 129 | browser: githubweb |
51ca880a | 130 | browser-url: https://github.com/{github_user}/{github_name} |
598af463 MJ |
131 | branches: |
132 | - "{mversion}" | |
94bddbc4 | 133 | shallow-clone: true |
94bddbc4 | 134 | fastpoll: true |
7e942863 | 135 | basedir: src/lttng-modules |
3a01c580 MJ |
136 | wipe-workspace: false |
137 | skip-tag: true | |
598af463 | 138 | |
d2fc1027 | 139 | triggers: |
4f3fef7d | 140 | - pollscm: |
997b01f2 | 141 | cron: "@hourly" |
d2fc1027 | 142 | |
598af463 | 143 | properties: |
edf72710 MJ |
144 | - build-discarder: |
145 | num-to-keep: 2 | |
9a00aa82 | 146 | - github: |
51ca880a | 147 | url: https://github.com/{github_user}/{github_name} |
598af463 | 148 | |
3a01c580 MJ |
149 | publishers: |
150 | - workspace-cleanup | |
151 | ||
598af463 MJ |
152 | |
153 | ## Templates | |
154 | - job-template: | |
3a01c580 | 155 | name: lttng-modules_{mversion}_{buildtype}-vanilla |
598af463 | 156 | defaults: lttng-modules |
3a01c580 MJ |
157 | description: | |
158 | The LTTng modules provide Linux kernel tracing capability to the LTTng | |
159 | 2.0 tracer toolset. | |
598af463 | 160 | |
3a01c580 MJ |
161 | This job will build the {mversion} branch against stable vanilla |
162 | kernel tags. | |
598af463 | 163 | |
3a01c580 | 164 | <p>Job is managed by Jenkins Job Builder.</p> |
598af463 | 165 | |
3a01c580 MJ |
166 | node: 'master' |
167 | ||
168 | <<: *lttng-modules_build_parameters_defaults | |
169 | <<: *lttng-modules_build_builders_defaults | |
598af463 | 170 | |
f3d8604b | 171 | - job-template: |
3a01c580 | 172 | name: lttng-modules_{mversion}_fullbuild-vanilla |
f3d8604b | 173 | defaults: lttng-modules |
2c1d386a MJ |
174 | description: | |
175 | The LTTng modules provide Linux kernel tracing capability to the LTTng | |
176 | 2.0 tracer toolset. | |
177 | ||
178 | This job will build the {mversion} branch against all stable vanilla | |
179 | kernel tags. | |
180 | ||
181 | <p>Job is managed by Jenkins Job Builder.</p> | |
f3d8604b MJ |
182 | |
183 | node: 'master' | |
184 | ||
3a01c580 MJ |
185 | <<: *lttng-modules_build_parameters_defaults |
186 | <<: *lttng-modules_build_builders_defaults | |
f3d8604b | 187 | |
3a01c580 MJ |
188 | triggers: |
189 | - pollscm: | |
190 | cron: "@midnight" | |
f3d8604b MJ |
191 | |
192 | - job-template: | |
3a01c580 | 193 | name: lttng-modules_{mversion}_{buildtype}-{uversion} |
f3d8604b | 194 | defaults: lttng-modules |
2c1d386a MJ |
195 | description: | |
196 | The LTTng modules provide Linux kernel tracing capability to the LTTng | |
197 | 2.0 tracer toolset. | |
198 | ||
3a01c580 | 199 | This job will build the {mversion} branch against Ubuntu {uversion} |
2c1d386a MJ |
200 | released kernels, including the LTS backport kernels. |
201 | ||
202 | <p>Job is managed by Jenkins Job Builder.</p> | |
f3d8604b MJ |
203 | |
204 | node: 'master' | |
205 | ||
3a01c580 MJ |
206 | <<: *lttng-modules_build_parameters_ubuntu |
207 | <<: *lttng-modules_build_builders_defaults | |
f3d8604b | 208 | |
3a01c580 MJ |
209 | - job-template: |
210 | name: lttng-modules_{mversion}_fullbuild-{uversion} | |
211 | defaults: lttng-modules | |
212 | description: | | |
213 | The LTTng modules provide Linux kernel tracing capability to the LTTng | |
214 | 2.0 tracer toolset. | |
f3d8604b | 215 | |
3a01c580 MJ |
216 | This job will build the {mversion} branch against Ubuntu {uversion} |
217 | released kernels, including the LTS backport kernels. | |
218 | ||
219 | <p>Job is managed by Jenkins Job Builder.</p> | |
220 | ||
221 | node: 'master' | |
222 | ||
223 | <<: *lttng-modules_build_parameters_ubuntu | |
224 | <<: *lttng-modules_build_builders_defaults | |
225 | ||
226 | triggers: | |
227 | - pollscm: | |
228 | cron: "@midnight" | |
f3d8604b | 229 | |
2c1d386a MJ |
230 | - job-template: |
231 | name: lttng-modules_{mversion}_build-rt | |
232 | defaults: lttng-modules | |
233 | description: | | |
234 | The LTTng modules provide Linux kernel tracing capability to the LTTng | |
235 | 2.0 tracer toolset. | |
236 | ||
237 | This job will build the {mversion} branch against all Linutronix RT | |
238 | kernels. | |
239 | ||
240 | <p>Job is managed by Jenkins Job Builder.</p> | |
241 | ||
242 | node: 'master' | |
243 | ||
3a01c580 MJ |
244 | <<: *lttng-modules_build_parameters_rt |
245 | <<: *lttng-modules_build_rt_builders_defaults | |
2c1d386a | 246 | |
f3d8604b MJ |
247 | - job-template: |
248 | name: lttng-modules_VERSION_param-build | |
249 | defaults: lttng-modules | |
250 | description: | | |
251 | This is a parametrized job used by 'master' jobs to build any combinations | |
252 | of lttng-modules and linux kernel versions. | |
253 | ||
254 | <p>Job is managed by Jenkins Job Builder.</p> | |
255 | ||
256 | project-type: matrix | |
257 | node: 'master' # Applies only to matrix flyweight task | |
258 | axes: | |
259 | - axis: | |
260 | type: slave | |
261 | name: arch | |
262 | values: '{obj:arch}' | |
263 | ||
a2f4e8b8 MJ |
264 | properties: |
265 | - build-discarder: | |
266 | days-to-keep: 2 | |
267 | ||
f3d8604b MJ |
268 | parameters: |
269 | - string: | |
270 | name: 'mversion' | |
271 | default: 'master' | |
272 | description: 'The lttng-modules branch to build.' | |
273 | - string: | |
274 | name: 'kversion' | |
275 | default: '' | |
276 | description: 'The linux kernel git tag to build against.' | |
277 | - string: | |
278 | name: 'kgitrepo' | |
c4b8d4b3 | 279 | default: 'git://git-mirror.internal.efficios.com/git/linux-all.git' |
f3d8604b MJ |
280 | description: 'The linux kernel git repository url.' |
281 | ||
282 | concurrent: true | |
f3d8604b MJ |
283 | |
284 | scm: | |
285 | - git: | |
286 | url: git://github.com/lttng/lttng-modules.git | |
287 | browser: githubweb | |
288 | browser-url: https://github.com/lttng/lttng-modules | |
289 | branches: | |
290 | - "${{mversion}}" | |
291 | skip-tag: true | |
339db64d | 292 | basedir: src/lttng-modules |
f3d8604b | 293 | |
2c1d386a MJ |
294 | triggers: |
295 | ||
f3d8604b MJ |
296 | builders: |
297 | - shell: | | |
339db64d | 298 | git clone --depth=1 -b "$kversion" --reference $HOME/gitcache/linux-stable.git/ "$kgitrepo" src/linux |
f3d8604b MJ |
299 | - shell: |
300 | !include-raw-escape: scripts/lttng-modules/param-build.sh | |
301 | ||
e9b44189 MJ |
302 | - job-template: |
303 | name: lttng-modules_VERSION_param-crossbuild | |
304 | defaults: lttng-modules | |
305 | description: | | |
306 | This is a parametrized job used by 'master' jobs to build any combinations | |
307 | of lttng-modules and linux kernel versions. | |
308 | ||
309 | <p>Job is managed by Jenkins Job Builder.</p> | |
310 | ||
311 | project-type: matrix | |
312 | node: 'master' # Applies only to matrix flyweight task | |
313 | axes: | |
314 | - axis: | |
315 | type: user-defined | |
316 | name: cross_arch | |
317 | values: '{obj:cross_arch}' | |
318 | ||
319 | properties: | |
320 | - build-discarder: | |
321 | days-to-keep: 2 | |
322 | ||
323 | parameters: | |
324 | - string: | |
325 | name: 'mversion' | |
326 | default: 'master' | |
327 | description: 'The lttng-modules branch to build.' | |
328 | - string: | |
329 | name: 'kversion' | |
330 | default: '' | |
331 | description: 'The linux kernel git tag to build against.' | |
332 | - string: | |
333 | name: 'kgitrepo' | |
c4b8d4b3 | 334 | default: 'git://git-mirror.internal.efficios.com/git/linux-all.git' |
e9b44189 MJ |
335 | description: 'The linux kernel git repository url.' |
336 | ||
337 | concurrent: true | |
338 | ||
339 | scm: | |
340 | - git: | |
341 | url: git://github.com/lttng/lttng-modules.git | |
342 | browser: githubweb | |
343 | browser-url: https://github.com/lttng/lttng-modules | |
344 | branches: | |
345 | - "${{mversion}}" | |
346 | skip-tag: true | |
347 | basedir: src/lttng-modules | |
348 | ||
349 | triggers: | |
350 | ||
351 | builders: | |
352 | - shell: | | |
353 | git clone --depth=1 -b "$kversion" --reference $HOME/gitcache/linux-stable.git/ "$kgitrepo" src/linux | |
354 | - shell: | |
355 | !include-raw-escape: scripts/lttng-modules/param-build.sh | |
356 | ||
4f3fef7d | 357 | - job-template: |
f899b1be | 358 | name: lttng-modules_{mversion}_coverity |
4f3fef7d MJ |
359 | defaults: lttng-modules |
360 | node: 'x86-64' | |
361 | ||
362 | triggers: | |
363 | - pollscm: | |
364 | cron: "@daily" | |
365 | ||
366 | wrappers: | |
367 | - workspace-cleanup | |
368 | - timestamps | |
369 | - ansicolor: | |
370 | colormap: xterm | |
371 | - credentials-binding: | |
372 | - username-password-separated: | |
373 | credential-id: lttng-modules_coverity_token | |
374 | username: COVERITY_SCAN_PROJECT_NAME | |
375 | password: COVERITY_SCAN_TOKEN | |
376 | ||
377 | builders: | |
5122da3c | 378 | - shell: | |
3a01c580 | 379 | git clone --depth=1 -b v4.10 --reference $HOME/gitcache/linux-stable.git/ git://git-mirror.internal.efficios.com/kernel/stable/linux-stable.git src/linux |
7e942863 | 380 | cd src/linux |
5122da3c JR |
381 | make defconfig |
382 | sed -i "s/# CONFIG_KALLSYMS_ALL is not set/CONFIG_KALLSYMS_ALL=y/g" .config | |
383 | make modules_prepare | |
4f3fef7d | 384 | - shell: |
ef63064f | 385 | !include-raw-escape: scripts/common/coverity.sh |
4f3fef7d | 386 | |
f899b1be MJ |
387 | - job-template: |
388 | name: lttng-modules_{mversion}_cppcheck | |
389 | defaults: lttng-modules | |
390 | ||
391 | triggers: | |
392 | - pollscm: | |
997b01f2 | 393 | cron: "@daily" |
f899b1be | 394 | |
f899b1be MJ |
395 | builders: |
396 | - shell: | | |
397 | rm -f cppcheck.xml | |
7e942863 | 398 | cppcheck --enable=all --xml --xml-version=2 $WORKSPACE/src/lttng-modules 2> cppcheck.xml |
f899b1be MJ |
399 | |
400 | publishers: | |
401 | - archive: | |
402 | artifacts: 'cppcheck.xml' | |
403 | allow-empty: false | |
404 | - cppcheck: | |
405 | pattern: 'cppcheck.xml' | |
f899b1be | 406 | |
2c1d386a MJ |
407 | - job-template: |
408 | name: lttng-modules_{mversion}_sloccount | |
409 | defaults: lttng-modules | |
410 | description: | | |
411 | The LTTng modules provide Linux kernel tracing capability to the LTTng | |
412 | 2.0 tracer toolset. | |
413 | ||
414 | This job runs the sloccount utility and generates a trend report. | |
415 | ||
416 | <p>Job is managed by Jenkins Job Builder.</p> | |
417 | ||
418 | triggers: | |
419 | - pollscm: | |
420 | cron: "@daily" | |
421 | ||
422 | builders: | |
423 | - shell: | | |
106c873f | 424 | cloc --by-file --xml --out=cloc.xml src/lttng-modules/ |
2c1d386a MJ |
425 | |
426 | publishers: | |
427 | - archive: | |
428 | artifacts: 'cloc.xml' | |
429 | allow-empty: false | |
430 | - sloccount: | |
431 | report-files: 'cloc.xml' | |
3a01c580 | 432 | - workspace-cleanup |
2c1d386a | 433 | |
f899b1be | 434 | |
598af463 MJ |
435 | ## Project |
436 | - project: | |
437 | name: lttng-modules | |
51ca880a MJ |
438 | github_user: lttng |
439 | github_name: lttng-modules | |
598af463 | 440 | jobs: |
3a01c580 MJ |
441 | |
442 | # Vanilla normal builds | |
e9b44189 | 443 | - 'lttng-modules_{mversion}_{buildtype}-vanilla': |
591756e5 | 444 | mversion: |
3a01c580 | 445 | - stable-2.8 |
591756e5 MJ |
446 | - stable-2.9 |
447 | - master | |
448 | buildtype: build | |
3a01c580 | 449 | parambuildtype: build |
591756e5 MJ |
450 | kverfloor: v2.6.36 |
451 | kverceil: '' | |
3a01c580 | 452 | kverfilter: stable-head |
591756e5 MJ |
453 | - 'lttng-modules_{mversion}_{buildtype}-vanilla': |
454 | mversion: stable-2.7 | |
455 | buildtype: build | |
3a01c580 | 456 | parambuildtype: build |
591756e5 MJ |
457 | kverfloor: v2.6.36 |
458 | kverceil: v4.8-rc0 | |
3a01c580 MJ |
459 | kverfilter: stable-head |
460 | - 'lttng-modules_{mversion}_fullbuild-vanilla': | |
461 | mversion: | |
462 | - stable-2.8 | |
463 | - stable-2.9 | |
464 | - master | |
465 | buildtype: build | |
466 | parambuildtype: build | |
467 | kverfloor: v2.6.36 | |
468 | kverceil: '' | |
591756e5 | 469 | kverfilter: none |
3a01c580 MJ |
470 | - 'lttng-modules_{mversion}_fullbuild-vanilla': |
471 | mversion: stable-2.7 | |
e9b44189 | 472 | buildtype: build |
3a01c580 | 473 | parambuildtype: build |
e9b44189 | 474 | kverfloor: v2.6.36 |
3a01c580 | 475 | kverceil: v4.8-rc0 |
e9b44189 | 476 | kverfilter: none |
3a01c580 MJ |
477 | |
478 | # RT normal builds | |
2c1d386a MJ |
479 | - 'lttng-modules_{mversion}_build-rt': |
480 | mversion: master | |
3a01c580 MJ |
481 | |
482 | # Ubuntu normal builds | |
483 | - 'lttng-modules_{mversion}_{buildtype}-{uversion}': | |
591756e5 MJ |
484 | mversion: |
485 | - stable-2.8 | |
486 | - stable-2.9 | |
487 | - master | |
f3d8604b MJ |
488 | uversion: |
489 | - trusty | |
490 | - xenial | |
3a01c580 MJ |
491 | buildtype: build |
492 | parambuildtype: build | |
493 | kverfloor: '' | |
494 | kverceil: '' | |
495 | kverfilter: stable-head | |
496 | ||
497 | # Vanilla crossbuilds | |
e9b44189 | 498 | - 'lttng-modules_{mversion}_{buildtype}-vanilla': |
591756e5 | 499 | mversion: |
3a01c580 | 500 | - stable-2.8 |
591756e5 MJ |
501 | - stable-2.9 |
502 | - master | |
503 | buildtype: crossbuild | |
3a01c580 | 504 | parambuildtype: crossbuild |
591756e5 MJ |
505 | kverfloor: v3.16 |
506 | kverceil: '' | |
507 | kverfilter: stable-head | |
508 | - 'lttng-modules_{mversion}_{buildtype}-vanilla': | |
509 | mversion: stable-2.7 | |
510 | buildtype: crossbuild | |
3a01c580 | 511 | parambuildtype: crossbuild |
591756e5 MJ |
512 | kverfloor: v3.16 |
513 | kverceil: v4.8-rc0 | |
514 | kverfilter: stable-head | |
3a01c580 MJ |
515 | |
516 | # Ubuntu cross builds | |
517 | - 'lttng-modules_{mversion}_{buildtype}-{uversion}': | |
518 | mversion: | |
519 | - stable-2.8 | |
520 | - stable-2.9 | |
521 | - master | |
522 | uversion: | |
523 | - trusty | |
524 | - xenial | |
e9b44189 | 525 | buildtype: crossbuild |
3a01c580 MJ |
526 | parambuildtype: crossbuild |
527 | kverfloor: '' | |
528 | kverceil: '' | |
e9b44189 | 529 | kverfilter: stable-head |
3a01c580 MJ |
530 | |
531 | # Parametrized kernel and modules build jobs | |
f3d8604b | 532 | - 'lttng-modules_VERSION_param-build': |
598af463 | 533 | arch: !!python/tuple [x86-32, x86-64] |
e9b44189 MJ |
534 | - 'lttng-modules_VERSION_param-crossbuild': |
535 | cross_arch: !!python/tuple [armhf, arm64, powerpc, ppc64el] | |
3a01c580 MJ |
536 | |
537 | # Misc jobs | |
591756e5 MJ |
538 | - 'lttng-modules_{mversion}_cppcheck': |
539 | mversion: | |
540 | - stable-2.8 | |
541 | - stable-2.9 | |
542 | - master | |
2c1d386a MJ |
543 | - 'lttng-modules_{mversion}_sloccount': |
544 | mversion: master | |
f899b1be MJ |
545 | - 'lttng-modules_{mversion}_coverity': |
546 | mversion: master |