jjb: lttng-modules fix ppc build failure on ubuntu
[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
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
This page took 0.048222 seconds and 4 git commands to generate.