ansible: Add numa dep to lttng-ust
[lttng-ci.git] / jobs / lttng-modules.yaml
CommitLineData
598af463 1---
3a01c580
MJ
2## Anchors
3- lttng-modules_build_parameters_defaults: &lttng-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: &lttng-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: &lttng-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: &lttng-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: &lttng-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
9e5c099a
MJ
154- job-template:
155 name: lttng-modules_ALL_trigger-vanilla
156 defaults: lttng-modules
157 description: |
158 The LTTng modules provide Linux kernel tracing capability to the LTTng
159 2.0 tracer toolset.
160
161 This job will trigger the build jobs when a new tag is added to the vanilla
162 and stable kernel trees.
163
164 <p>Job is managed by Jenkins Job Builder.</p>
165
166 node: 'master'
167
168 wrappers:
169 - timestamps
170 - ansicolor
171
172 scm: []
173
48745db5
MJ
174 triggers:
175 - timed: "@hourly"
176
9e5c099a
MJ
177 builders:
178 - system-groovy:
179 command:
180 !include-raw-escape: scripts/lttng-modules/trigger-vanilla.groovy
181
182 publishers: []
183
598af463 184- job-template:
3a01c580 185 name: lttng-modules_{mversion}_{buildtype}-vanilla
598af463 186 defaults: lttng-modules
3a01c580
MJ
187 description: |
188 The LTTng modules provide Linux kernel tracing capability to the LTTng
189 2.0 tracer toolset.
598af463 190
3a01c580
MJ
191 This job will build the {mversion} branch against stable vanilla
192 kernel tags.
598af463 193
3a01c580 194 <p>Job is managed by Jenkins Job Builder.</p>
598af463 195
3a01c580
MJ
196 node: 'master'
197
198 <<: *lttng-modules_build_parameters_defaults
199 <<: *lttng-modules_build_builders_defaults
598af463 200
f3d8604b 201- job-template:
3a01c580 202 name: lttng-modules_{mversion}_fullbuild-vanilla
f3d8604b 203 defaults: lttng-modules
2c1d386a
MJ
204 description: |
205 The LTTng modules provide Linux kernel tracing capability to the LTTng
206 2.0 tracer toolset.
207
208 This job will build the {mversion} branch against all stable vanilla
209 kernel tags.
210
211 <p>Job is managed by Jenkins Job Builder.</p>
f3d8604b
MJ
212
213 node: 'master'
214
3a01c580
MJ
215 <<: *lttng-modules_build_parameters_defaults
216 <<: *lttng-modules_build_builders_defaults
f3d8604b 217
3a01c580
MJ
218 triggers:
219 - pollscm:
220 cron: "@midnight"
f3d8604b
MJ
221
222- job-template:
3a01c580 223 name: lttng-modules_{mversion}_{buildtype}-{uversion}
f3d8604b 224 defaults: lttng-modules
2c1d386a
MJ
225 description: |
226 The LTTng modules provide Linux kernel tracing capability to the LTTng
227 2.0 tracer toolset.
228
3a01c580 229 This job will build the {mversion} branch against Ubuntu {uversion}
2c1d386a
MJ
230 released kernels, including the LTS backport kernels.
231
232 <p>Job is managed by Jenkins Job Builder.</p>
f3d8604b
MJ
233
234 node: 'master'
235
3a01c580
MJ
236 <<: *lttng-modules_build_parameters_ubuntu
237 <<: *lttng-modules_build_builders_defaults
f3d8604b 238
3a01c580
MJ
239- job-template:
240 name: lttng-modules_{mversion}_fullbuild-{uversion}
241 defaults: lttng-modules
242 description: |
243 The LTTng modules provide Linux kernel tracing capability to the LTTng
244 2.0 tracer toolset.
f3d8604b 245
3a01c580
MJ
246 This job will build the {mversion} branch against Ubuntu {uversion}
247 released kernels, including the LTS backport kernels.
248
249 <p>Job is managed by Jenkins Job Builder.</p>
250
251 node: 'master'
252
253 <<: *lttng-modules_build_parameters_ubuntu
254 <<: *lttng-modules_build_builders_defaults
255
256 triggers:
257 - pollscm:
258 cron: "@midnight"
f3d8604b 259
2c1d386a
MJ
260- job-template:
261 name: lttng-modules_{mversion}_build-rt
262 defaults: lttng-modules
263 description: |
264 The LTTng modules provide Linux kernel tracing capability to the LTTng
265 2.0 tracer toolset.
266
267 This job will build the {mversion} branch against all Linutronix RT
268 kernels.
269
270 <p>Job is managed by Jenkins Job Builder.</p>
271
272 node: 'master'
273
3a01c580
MJ
274 <<: *lttng-modules_build_parameters_rt
275 <<: *lttng-modules_build_rt_builders_defaults
2c1d386a 276
f3d8604b
MJ
277- job-template:
278 name: lttng-modules_VERSION_param-build
279 defaults: lttng-modules
280 description: |
281 This is a parametrized job used by 'master' jobs to build any combinations
282 of lttng-modules and linux kernel versions.
283
284 <p>Job is managed by Jenkins Job Builder.</p>
285
286 project-type: matrix
287 node: 'master' # Applies only to matrix flyweight task
288 axes:
289 - axis:
290 type: slave
291 name: arch
292 values: '{obj:arch}'
293
a2f4e8b8
MJ
294 properties:
295 - build-discarder:
296 days-to-keep: 2
297
f3d8604b
MJ
298 parameters:
299 - string:
300 name: 'mversion'
301 default: 'master'
302 description: 'The lttng-modules branch to build.'
303 - string:
a1ae361e 304 name: 'ktag'
f3d8604b
MJ
305 default: ''
306 description: 'The linux kernel git tag to build against.'
307 - string:
308 name: 'kgitrepo'
c4b8d4b3 309 default: 'git://git-mirror.internal.efficios.com/git/linux-all.git'
f3d8604b
MJ
310 description: 'The linux kernel git repository url.'
311
312 concurrent: true
f3d8604b
MJ
313
314 scm:
315 - git:
316 url: git://github.com/lttng/lttng-modules.git
317 browser: githubweb
318 browser-url: https://github.com/lttng/lttng-modules
319 branches:
320 - "${{mversion}}"
321 skip-tag: true
339db64d 322 basedir: src/lttng-modules
f3d8604b 323
2c1d386a
MJ
324 triggers:
325
f3d8604b
MJ
326 builders:
327 - shell: |
a1ae361e 328 git clone --depth=1 -b "$ktag" --reference $HOME/gitcache/linux-stable.git/ "$kgitrepo" src/linux
f3d8604b
MJ
329 - shell:
330 !include-raw-escape: scripts/lttng-modules/param-build.sh
331
e9b44189
MJ
332- job-template:
333 name: lttng-modules_VERSION_param-crossbuild
334 defaults: lttng-modules
335 description: |
336 This is a parametrized job used by 'master' jobs to build any combinations
337 of lttng-modules and linux kernel versions.
338
339 <p>Job is managed by Jenkins Job Builder.</p>
340
341 project-type: matrix
342 node: 'master' # Applies only to matrix flyweight task
343 axes:
344 - axis:
345 type: user-defined
346 name: cross_arch
347 values: '{obj:cross_arch}'
348
349 properties:
350 - build-discarder:
351 days-to-keep: 2
352
353 parameters:
354 - string:
355 name: 'mversion'
356 default: 'master'
357 description: 'The lttng-modules branch to build.'
358 - string:
a1ae361e 359 name: 'ktag'
e9b44189
MJ
360 default: ''
361 description: 'The linux kernel git tag to build against.'
362 - string:
363 name: 'kgitrepo'
c4b8d4b3 364 default: 'git://git-mirror.internal.efficios.com/git/linux-all.git'
e9b44189
MJ
365 description: 'The linux kernel git repository url.'
366
367 concurrent: true
368
369 scm:
370 - git:
371 url: git://github.com/lttng/lttng-modules.git
372 browser: githubweb
373 browser-url: https://github.com/lttng/lttng-modules
374 branches:
375 - "${{mversion}}"
376 skip-tag: true
377 basedir: src/lttng-modules
378
379 triggers:
380
381 builders:
382 - shell: |
a1ae361e 383 git clone --depth=1 -b "$ktag" --reference $HOME/gitcache/linux-stable.git/ "$kgitrepo" src/linux
e9b44189
MJ
384 - shell:
385 !include-raw-escape: scripts/lttng-modules/param-build.sh
386
4f3fef7d 387- job-template:
f899b1be 388 name: lttng-modules_{mversion}_coverity
4f3fef7d
MJ
389 defaults: lttng-modules
390 node: 'x86-64'
391
392 triggers:
393 - pollscm:
394 cron: "@daily"
395
396 wrappers:
397 - workspace-cleanup
398 - timestamps
399 - ansicolor:
400 colormap: xterm
401 - credentials-binding:
402 - username-password-separated:
403 credential-id: lttng-modules_coverity_token
404 username: COVERITY_SCAN_PROJECT_NAME
405 password: COVERITY_SCAN_TOKEN
406
407 builders:
5122da3c 408 - shell: |
3a01c580 409 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 410 cd src/linux
5122da3c
JR
411 make defconfig
412 sed -i "s/# CONFIG_KALLSYMS_ALL is not set/CONFIG_KALLSYMS_ALL=y/g" .config
413 make modules_prepare
4f3fef7d 414 - shell:
ef63064f 415 !include-raw-escape: scripts/common/coverity.sh
4f3fef7d 416
f899b1be
MJ
417- job-template:
418 name: lttng-modules_{mversion}_cppcheck
419 defaults: lttng-modules
420
421 triggers:
422 - pollscm:
997b01f2 423 cron: "@daily"
f899b1be 424
f899b1be
MJ
425 builders:
426 - shell: |
427 rm -f cppcheck.xml
7e942863 428 cppcheck --enable=all --xml --xml-version=2 $WORKSPACE/src/lttng-modules 2> cppcheck.xml
f899b1be
MJ
429
430 publishers:
431 - archive:
432 artifacts: 'cppcheck.xml'
433 allow-empty: false
434 - cppcheck:
435 pattern: 'cppcheck.xml'
f899b1be 436
2c1d386a
MJ
437- job-template:
438 name: lttng-modules_{mversion}_sloccount
439 defaults: lttng-modules
440 description: |
441 The LTTng modules provide Linux kernel tracing capability to the LTTng
442 2.0 tracer toolset.
443
444 This job runs the sloccount utility and generates a trend report.
445
446 <p>Job is managed by Jenkins Job Builder.</p>
447
448 triggers:
449 - pollscm:
450 cron: "@daily"
451
452 builders:
453 - shell: |
106c873f 454 cloc --by-file --xml --out=cloc.xml src/lttng-modules/
2c1d386a
MJ
455
456 publishers:
457 - archive:
458 artifacts: 'cloc.xml'
459 allow-empty: false
460 - sloccount:
461 report-files: 'cloc.xml'
3a01c580 462 - workspace-cleanup
2c1d386a 463
f899b1be 464
598af463
MJ
465## Project
466- project:
467 name: lttng-modules
51ca880a
MJ
468 github_user: lttng
469 github_name: lttng-modules
598af463 470 jobs:
3a01c580
MJ
471
472# Vanilla normal builds
e9b44189 473 - 'lttng-modules_{mversion}_{buildtype}-vanilla':
591756e5
MJ
474 mversion:
475 - stable-2.9
bb368cde 476 - stable-2.10
591756e5
MJ
477 - master
478 buildtype: build
3a01c580 479 parambuildtype: build
591756e5
MJ
480 kverfloor: v2.6.36
481 kverceil: ''
3a01c580 482 kverfilter: stable-head
591756e5
MJ
483 - 'lttng-modules_{mversion}_{buildtype}-vanilla':
484 mversion: stable-2.7
485 buildtype: build
3a01c580 486 parambuildtype: build
591756e5
MJ
487 kverfloor: v2.6.36
488 kverceil: v4.8-rc0
3a01c580
MJ
489 kverfilter: stable-head
490 - 'lttng-modules_{mversion}_fullbuild-vanilla':
491 mversion:
3a01c580 492 - stable-2.9
bb368cde 493 - stable-2.10
3a01c580
MJ
494 - master
495 buildtype: build
496 parambuildtype: build
497 kverfloor: v2.6.36
498 kverceil: ''
591756e5 499 kverfilter: none
3a01c580
MJ
500 - 'lttng-modules_{mversion}_fullbuild-vanilla':
501 mversion: stable-2.7
e9b44189 502 buildtype: build
3a01c580 503 parambuildtype: build
e9b44189 504 kverfloor: v2.6.36
3a01c580 505 kverceil: v4.8-rc0
e9b44189 506 kverfilter: none
3a01c580
MJ
507
508# RT normal builds
2c1d386a
MJ
509 - 'lttng-modules_{mversion}_build-rt':
510 mversion: master
3a01c580
MJ
511
512# Ubuntu normal builds
513 - 'lttng-modules_{mversion}_{buildtype}-{uversion}':
591756e5 514 mversion:
591756e5 515 - stable-2.9
bb368cde 516 - stable-2.10
591756e5 517 - master
f3d8604b
MJ
518 uversion:
519 - trusty
520 - xenial
3a01c580
MJ
521 buildtype: build
522 parambuildtype: build
523 kverfloor: ''
524 kverceil: ''
525 kverfilter: stable-head
526
527# Vanilla crossbuilds
e9b44189 528 - 'lttng-modules_{mversion}_{buildtype}-vanilla':
591756e5
MJ
529 mversion:
530 - stable-2.9
bb368cde 531 - stable-2.10
591756e5
MJ
532 - master
533 buildtype: crossbuild
3a01c580 534 parambuildtype: crossbuild
591756e5
MJ
535 kverfloor: v3.16
536 kverceil: ''
537 kverfilter: stable-head
538 - 'lttng-modules_{mversion}_{buildtype}-vanilla':
539 mversion: stable-2.7
540 buildtype: crossbuild
3a01c580 541 parambuildtype: crossbuild
591756e5
MJ
542 kverfloor: v3.16
543 kverceil: v4.8-rc0
544 kverfilter: stable-head
3a01c580
MJ
545
546# Ubuntu cross builds
547 - 'lttng-modules_{mversion}_{buildtype}-{uversion}':
548 mversion:
3a01c580 549 - stable-2.9
bb368cde 550 - stable-2.10
3a01c580
MJ
551 - master
552 uversion:
553 - trusty
554 - xenial
e9b44189 555 buildtype: crossbuild
3a01c580
MJ
556 parambuildtype: crossbuild
557 kverfloor: ''
558 kverceil: ''
e9b44189 559 kverfilter: stable-head
3a01c580
MJ
560
561# Parametrized kernel and modules build jobs
f3d8604b 562 - 'lttng-modules_VERSION_param-build':
598af463 563 arch: !!python/tuple [x86-32, x86-64]
e9b44189
MJ
564 - 'lttng-modules_VERSION_param-crossbuild':
565 cross_arch: !!python/tuple [armhf, arm64, powerpc, ppc64el]
3a01c580
MJ
566
567# Misc jobs
9e5c099a 568 - 'lttng-modules_ALL_trigger-vanilla'
591756e5
MJ
569 - 'lttng-modules_{mversion}_cppcheck':
570 mversion:
591756e5 571 - stable-2.9
bb368cde 572 - stable-2.10
591756e5 573 - master
2c1d386a
MJ
574 - 'lttng-modules_{mversion}_sloccount':
575 mversion: master
f899b1be
MJ
576 - 'lttng-modules_{mversion}_coverity':
577 mversion: master
This page took 0.053092 seconds and 4 git commands to generate.