Commit | Line | Data |
---|---|---|
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 |