jjb: Add windows jobs to lttng-tools
[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: |
c4b8d4b3 62 git clone --depth=1 -b "v{kversion}" --reference $HOME/gitcache/linux-stable.git/ git://git-mirror.internal.efficios.com/git/linux-all.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.'
591756e5
MJ
99 - string:
100 name: 'kverceil'
101 default: '{kverceil}'
102 description: 'The highest kernel version to build. (excluded)'
e9b44189
MJ
103 - string:
104 name: 'kverfilter'
105 default: '{kverfilter}'
106 description: 'Kernel versions list filtering strategy.'
f3d8604b
MJ
107 - string:
108 name: 'kgitrepo'
c4b8d4b3 109 default: 'git://git-mirror.internal.efficios.com/git/linux-all.git'
f3d8604b
MJ
110 description: 'The linux kernel git repository url.'
111 - string:
112 name: 'kbuildjob'
e9b44189 113 default: 'lttng-modules_VERSION_param-{buildtype}'
f3d8604b
MJ
114 description: 'The parametrized job to use for child builds.'
115
116 builders:
117 - system-groovy:
118 command:
2c1d386a 119 !include-raw-escape: scripts/lttng-modules/master-vanilla.groovy
f3d8604b
MJ
120
121 publishers:
122 - workspace-cleanup
123
124- job-template:
125 name: lttng-modules_{mversion}_build-{uversion}
126 defaults: lttng-modules
2c1d386a
MJ
127 description: |
128 The LTTng modules provide Linux kernel tracing capability to the LTTng
129 2.0 tracer toolset.
130
131 This job will build the {mversion} branch against all Ubuntu {uversion}
132 released kernels, including the LTS backport kernels.
133
134 <p>Job is managed by Jenkins Job Builder.</p>
f3d8604b
MJ
135
136 node: 'master'
137
138 parameters:
139 - string:
140 name: 'mversion'
141 default: '{mversion}'
142 description: 'The lttng-modules branch to build.'
143 - string:
144 name: 'maxConcurrentBuild'
cb18f1d6 145 default: '20'
f3d8604b
MJ
146 description: 'The maximum number of concurrent child build to run.'
147 - string:
148 name: 'uversion'
149 default: '{uversion}'
150 description: 'The lowest kernel version to build.'
151 - string:
152 name: 'kgitrepo'
7e942863 153 default: 'git://git-mirror.internal.efficios.com/git/ubuntu-{uversion}.git'
f3d8604b
MJ
154 description: 'The linux kernel git repository url.'
155 - string:
156 name: 'kbuildjob'
157 default: 'lttng-modules_VERSION_param-build'
158 description: 'The parametrized job to use for child builds.'
159
160 builders:
161 - system-groovy:
162 command:
163 !include-raw-escape: scripts/lttng-modules/master-ubuntu.groovy
164
165 publishers:
166 - workspace-cleanup
167
2c1d386a
MJ
168- job-template:
169 name: lttng-modules_{mversion}_build-rt
170 defaults: lttng-modules
171 description: |
172 The LTTng modules provide Linux kernel tracing capability to the LTTng
173 2.0 tracer toolset.
174
175 This job will build the {mversion} branch against all Linutronix RT
176 kernels.
177
178 <p>Job is managed by Jenkins Job Builder.</p>
179
180 node: 'master'
181
182 parameters:
183 - string:
184 name: 'mversion'
185 default: '{mversion}'
186 description: 'The lttng-modules branch to build.'
187 - string:
188 name: 'maxConcurrentBuild'
cb18f1d6 189 default: '20'
2c1d386a
MJ
190 description: 'The maximum number of concurrent child build to run.'
191 - string:
192 name: 'kverfloor'
193 default: 'v2.6.36-rt0-rebase'
194 description: 'The lowest kernel version to build.'
195 - string:
196 name: 'kgitrepo'
7e942863 197 default: 'git://git-mirror.internal.efficios.com/kernel/rt/linux-rt-devel.git'
2c1d386a
MJ
198 description: 'The linux kernel git repository url.'
199 - string:
200 name: 'kbuildjob'
201 default: 'lttng-modules_VERSION_param-build'
202 description: 'The parametrized job to use for child builds.'
203
204 builders:
205 - system-groovy:
206 command:
207 !include-raw-escape: scripts/lttng-modules/master-rt.groovy
208
209 publishers:
210 - workspace-cleanup
211
f3d8604b
MJ
212- job-template:
213 name: lttng-modules_VERSION_param-build
214 defaults: lttng-modules
215 description: |
216 This is a parametrized job used by 'master' jobs to build any combinations
217 of lttng-modules and linux kernel versions.
218
219 <p>Job is managed by Jenkins Job Builder.</p>
220
221 project-type: matrix
222 node: 'master' # Applies only to matrix flyweight task
223 axes:
224 - axis:
225 type: slave
226 name: arch
227 values: '{obj:arch}'
228
a2f4e8b8
MJ
229 properties:
230 - build-discarder:
231 days-to-keep: 2
232
f3d8604b
MJ
233 parameters:
234 - string:
235 name: 'mversion'
236 default: 'master'
237 description: 'The lttng-modules branch to build.'
238 - string:
239 name: 'kversion'
240 default: ''
241 description: 'The linux kernel git tag to build against.'
242 - string:
243 name: 'kgitrepo'
c4b8d4b3 244 default: 'git://git-mirror.internal.efficios.com/git/linux-all.git'
f3d8604b
MJ
245 description: 'The linux kernel git repository url.'
246
247 concurrent: true
f3d8604b
MJ
248
249 scm:
250 - git:
251 url: git://github.com/lttng/lttng-modules.git
252 browser: githubweb
253 browser-url: https://github.com/lttng/lttng-modules
254 branches:
255 - "${{mversion}}"
256 skip-tag: true
339db64d 257 basedir: src/lttng-modules
f3d8604b 258
2c1d386a
MJ
259 triggers:
260
f3d8604b
MJ
261 builders:
262 - shell: |
339db64d 263 git clone --depth=1 -b "$kversion" --reference $HOME/gitcache/linux-stable.git/ "$kgitrepo" src/linux
f3d8604b
MJ
264 - shell:
265 !include-raw-escape: scripts/lttng-modules/param-build.sh
266
267 publishers:
268 - workspace-cleanup
269
e9b44189
MJ
270- job-template:
271 name: lttng-modules_VERSION_param-crossbuild
272 defaults: lttng-modules
273 description: |
274 This is a parametrized job used by 'master' jobs to build any combinations
275 of lttng-modules and linux kernel versions.
276
277 <p>Job is managed by Jenkins Job Builder.</p>
278
279 project-type: matrix
280 node: 'master' # Applies only to matrix flyweight task
281 axes:
282 - axis:
283 type: user-defined
284 name: cross_arch
285 values: '{obj:cross_arch}'
286
287 properties:
288 - build-discarder:
289 days-to-keep: 2
290
291 parameters:
292 - string:
293 name: 'mversion'
294 default: 'master'
295 description: 'The lttng-modules branch to build.'
296 - string:
297 name: 'kversion'
298 default: ''
299 description: 'The linux kernel git tag to build against.'
300 - string:
301 name: 'kgitrepo'
c4b8d4b3 302 default: 'git://git-mirror.internal.efficios.com/git/linux-all.git'
e9b44189
MJ
303 description: 'The linux kernel git repository url.'
304
305 concurrent: true
306
307 scm:
308 - git:
309 url: git://github.com/lttng/lttng-modules.git
310 browser: githubweb
311 browser-url: https://github.com/lttng/lttng-modules
312 branches:
313 - "${{mversion}}"
314 skip-tag: true
315 basedir: src/lttng-modules
316
317 triggers:
318
319 builders:
320 - shell: |
321 git clone --depth=1 -b "$kversion" --reference $HOME/gitcache/linux-stable.git/ "$kgitrepo" src/linux
322 - shell:
323 !include-raw-escape: scripts/lttng-modules/param-build.sh
324
325 publishers:
326 - workspace-cleanup
327
4f3fef7d 328- job-template:
f899b1be 329 name: lttng-modules_{mversion}_coverity
4f3fef7d
MJ
330 defaults: lttng-modules
331 node: 'x86-64'
332
333 triggers:
334 - pollscm:
335 cron: "@daily"
336
337 wrappers:
338 - workspace-cleanup
339 - timestamps
340 - ansicolor:
341 colormap: xterm
342 - credentials-binding:
343 - username-password-separated:
344 credential-id: lttng-modules_coverity_token
345 username: COVERITY_SCAN_PROJECT_NAME
346 password: COVERITY_SCAN_TOKEN
347
348 builders:
5122da3c 349 - shell: |
c4b8d4b3 350 git clone --depth=1 -b v4.9 --reference $HOME/gitcache/linux-stable.git/ git://git-mirror.internal.efficios.com/kernel/stable/linux-stable.git src/linux
7e942863 351 cd src/linux
5122da3c
JR
352 make defconfig
353 sed -i "s/# CONFIG_KALLSYMS_ALL is not set/CONFIG_KALLSYMS_ALL=y/g" .config
354 make modules_prepare
4f3fef7d 355 - shell:
ef63064f 356 !include-raw-escape: scripts/common/coverity.sh
4f3fef7d
MJ
357
358 publishers:
359 - workspace-cleanup
598af463 360
f899b1be
MJ
361- job-template:
362 name: lttng-modules_{mversion}_cppcheck
363 defaults: lttng-modules
364
365 triggers:
366 - pollscm:
997b01f2 367 cron: "@daily"
f899b1be 368
f899b1be
MJ
369 builders:
370 - shell: |
371 rm -f cppcheck.xml
7e942863 372 cppcheck --enable=all --xml --xml-version=2 $WORKSPACE/src/lttng-modules 2> cppcheck.xml
f899b1be
MJ
373
374 publishers:
375 - archive:
376 artifacts: 'cppcheck.xml'
377 allow-empty: false
378 - cppcheck:
379 pattern: 'cppcheck.xml'
380 - email:
381 recipients: 'ci-notification@lists.lttng.org'
382 notify-every-unstable-build: true
383 send-to-individuals: false
384
2c1d386a
MJ
385- job-template:
386 name: lttng-modules_{mversion}_sloccount
387 defaults: lttng-modules
388 description: |
389 The LTTng modules provide Linux kernel tracing capability to the LTTng
390 2.0 tracer toolset.
391
392 This job runs the sloccount utility and generates a trend report.
393
394 <p>Job is managed by Jenkins Job Builder.</p>
395
396 triggers:
397 - pollscm:
398 cron: "@daily"
399
400 builders:
401 - shell: |
106c873f 402 cloc --by-file --xml --out=cloc.xml src/lttng-modules/
2c1d386a
MJ
403
404 publishers:
405 - archive:
406 artifacts: 'cloc.xml'
407 allow-empty: false
408 - sloccount:
409 report-files: 'cloc.xml'
410
f899b1be 411
598af463
MJ
412## Project
413- project:
414 name: lttng-modules
51ca880a
MJ
415 github_user: lttng
416 github_name: lttng-modules
598af463 417 jobs:
e9b44189 418 - 'lttng-modules_{mversion}_{buildtype}-vanilla':
591756e5
MJ
419 mversion:
420 - stable-2.9
421 - master
422 buildtype: build
423 kverfloor: v2.6.36
424 kverceil: ''
425 kverfilter: none
426 - 'lttng-modules_{mversion}_{buildtype}-vanilla':
427 mversion: stable-2.7
428 buildtype: build
429 kverfloor: v2.6.36
430 kverceil: v4.8-rc0
431 kverfilter: none
432 - 'lttng-modules_{mversion}_{buildtype}-vanilla':
433 mversion: stable-2.8
e9b44189
MJ
434 buildtype: build
435 kverfloor: v2.6.36
591756e5 436 kverceil: v4.10-rc0
e9b44189 437 kverfilter: none
2c1d386a
MJ
438 - 'lttng-modules_{mversion}_build-rt':
439 mversion: master
f3d8604b 440 - 'lttng-modules_{mversion}_build-{uversion}':
591756e5
MJ
441 mversion:
442 - stable-2.8
443 - stable-2.9
444 - master
f3d8604b
MJ
445 uversion:
446 - trusty
447 - xenial
e9b44189 448 - 'lttng-modules_{mversion}_{buildtype}-vanilla':
591756e5
MJ
449 mversion:
450 - stable-2.9
451 - master
452 buildtype: crossbuild
453 kverfloor: v3.16
454 kverceil: ''
455 kverfilter: stable-head
456 - 'lttng-modules_{mversion}_{buildtype}-vanilla':
457 mversion: stable-2.7
458 buildtype: crossbuild
459 kverfloor: v3.16
460 kverceil: v4.8-rc0
461 kverfilter: stable-head
462 - 'lttng-modules_{mversion}_{buildtype}-vanilla':
463 mversion: stable-2.8
e9b44189
MJ
464 buildtype: crossbuild
465 kverfloor: v3.16
591756e5 466 kverceil: v4.10-rc0
e9b44189 467 kverfilter: stable-head
f3d8604b 468 - 'lttng-modules_VERSION_param-build':
598af463 469 arch: !!python/tuple [x86-32, x86-64]
e9b44189
MJ
470 - 'lttng-modules_VERSION_param-crossbuild':
471 cross_arch: !!python/tuple [armhf, arm64, powerpc, ppc64el]
591756e5
MJ
472 - 'lttng-modules_{mversion}_cppcheck':
473 mversion:
474 - stable-2.8
475 - stable-2.9
476 - master
2c1d386a
MJ
477 - 'lttng-modules_{mversion}_sloccount':
478 mversion: master
f899b1be
MJ
479 - 'lttng-modules_{mversion}_coverity':
480 mversion: master
This page took 0.056064 seconds and 4 git commands to generate.