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