Commit | Line | Data |
---|---|---|
81fa42ce MJ |
1 | --- |
2 | - defaults: | |
3 | name: latency-tracker | |
4 | description: | | |
5 | ||
6 | <p>Job is managed by Jenkins Job Builder.</p> | |
7 | ||
8 | project-type: freestyle | |
9 | ||
10 | wrappers: | |
11 | - workspace-cleanup | |
12 | - timestamps | |
13 | - ansicolor | |
14 | ||
15 | scm: | |
16 | - git: | |
17 | url: git://github.com/{github_user}/{github_name}.git | |
18 | browser: githubweb | |
19 | browser-url: https://github.com/{github_user}/{github_name} | |
20 | branches: | |
21 | - "{mversion}" | |
22 | shallow-clone: true | |
23 | skip-tag: true | |
24 | fastpoll: true | |
25 | basedir: src/latency-tracker | |
26 | ||
27 | triggers: | |
28 | - pollscm: | |
29 | cron: "@hourly" | |
30 | ||
31 | properties: | |
32 | - build-discarder: | |
33 | num-to-keep: 2 | |
34 | - github: | |
35 | url: https://github.com/{github_user}/{github_name} | |
36 | ||
37 | ||
38 | ## Templates | |
39 | - job-template: | |
40 | name: latency-tracker_{mversion}_{kversion}_{buildtype} | |
41 | defaults: latency-tracker | |
42 | ||
43 | project-type: matrix | |
44 | node: 'master' # Applies only to matrix flyweight task | |
45 | axes: | |
46 | - axis: | |
47 | type: slave | |
48 | name: arch | |
49 | values: '{obj:arch}' | |
50 | ||
51 | builders: | |
52 | - copyartifact: | |
53 | project: kernel_{kversion}_{buildtype}/arch=$arch | |
54 | which-build: last-successful | |
3522265a | 55 | stable: false |
81fa42ce MJ |
56 | filter: 'build/**' |
57 | target: 'deps/linux' | |
58 | do-not-fingerprint: true | |
59 | - shell: | | |
c4b8d4b3 | 60 | 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 |
81fa42ce MJ |
61 | - shell: |
62 | !include-raw-escape: scripts/latency-tracker/build.sh | |
63 | ||
64 | publishers: | |
65 | - archive: | |
66 | artifacts: 'build/**' | |
67 | allow-empty: false | |
68 | - workspace-cleanup | |
be3bc39e JR |
69 | - email-ext: |
70 | recipients: '{obj:email_to}' | |
71 | reply-to: ci-notification@lists.lttng.org | |
72 | always: false | |
73 | unstable: false | |
74 | first-failure: true | |
75 | first-unstable: true | |
76 | not-built: false | |
77 | aborted: false | |
78 | regression: false | |
79 | failure: false | |
80 | second-failure: false | |
81 | improvement: false | |
82 | still-failing: false | |
83 | success: false | |
84 | fixed: false | |
85 | fixed-unhealthy: true | |
86 | still-unstable: false | |
87 | pre-build: false | |
88 | matrix-trigger: only-parent | |
89 | send-to: | |
90 | - recipients | |
91 | ||
81fa42ce MJ |
92 | |
93 | - job-template: | |
e9b44189 | 94 | name: latency-tracker_{mversion}_{buildtype}-vanilla |
81fa42ce MJ |
95 | defaults: latency-tracker |
96 | description: | | |
97 | The LTTng modules provide Linux kernel tracing capability to the LTTng | |
98 | 2.0 tracer toolset. | |
99 | ||
100 | This job will build the {mversion} branch against all stable vanilla | |
101 | kernel tags. | |
102 | ||
103 | <p>Job is managed by Jenkins Job Builder.</p> | |
104 | ||
105 | node: 'master' | |
106 | ||
107 | parameters: | |
108 | - string: | |
109 | name: 'mversion' | |
110 | default: '{mversion}' | |
111 | description: 'The latency-tracker branch to build.' | |
112 | - string: | |
113 | name: 'maxConcurrentBuild' | |
114 | default: '20' | |
115 | description: 'The maximum number of concurrent child build to run.' | |
116 | - string: | |
117 | name: 'kverfloor' | |
7c1967f7 | 118 | default: 'v3.12' |
81fa42ce | 119 | description: 'The lowest kernel version to build.' |
6f1411b1 MJ |
120 | - string: |
121 | name: 'kverceil' | |
122 | default: '' | |
123 | description: 'The highest kernel version to build. (excluded)' | |
e9b44189 MJ |
124 | - string: |
125 | name: 'kverfilter' | |
126 | default: 'stable-head' | |
127 | description: 'Kernel versions list filtering strategy.' | |
81fa42ce MJ |
128 | - string: |
129 | name: 'kgitrepo' | |
c4b8d4b3 | 130 | default: 'git://git-mirror.internal.efficios.com/git/linux-all.git' |
81fa42ce MJ |
131 | description: 'The linux kernel git repository url.' |
132 | - string: | |
133 | name: 'kbuildjob' | |
e9b44189 | 134 | default: 'latency-tracker_VERSION_param-{buildtype}' |
81fa42ce MJ |
135 | description: 'The parametrized job to use for child builds.' |
136 | ||
137 | builders: | |
138 | - system-groovy: | |
139 | command: | |
6f1411b1 | 140 | !include-raw-escape: scripts/latency-tracker/master.groovy |
81fa42ce MJ |
141 | |
142 | publishers: | |
143 | - workspace-cleanup | |
7c1967f7 | 144 | - email-ext: |
be3bc39e JR |
145 | recipients: '{obj:email_to}' |
146 | reply-to: ci-notification@lists.lttng.org | |
147 | always: false | |
148 | unstable: false | |
149 | first-failure: true | |
150 | first-unstable: true | |
151 | not-built: false | |
152 | aborted: false | |
153 | regression: false | |
154 | failure: false | |
155 | second-failure: false | |
156 | improvement: false | |
157 | still-failing: false | |
158 | success: false | |
159 | fixed: false | |
160 | fixed-unhealthy: true | |
161 | still-unstable: false | |
162 | pre-build: false | |
163 | matrix-trigger: only-parent | |
164 | send-to: | |
165 | - recipients | |
81fa42ce MJ |
166 | |
167 | - job-template: | |
168 | name: latency-tracker_{mversion}_build-{uversion} | |
169 | defaults: latency-tracker | |
170 | description: | | |
171 | The LTTng modules provide Linux kernel tracing capability to the LTTng | |
172 | 2.0 tracer toolset. | |
173 | ||
174 | This job will build the {mversion} branch against all Ubuntu {uversion} | |
175 | released kernels, including the LTS backport kernels. | |
176 | ||
177 | <p>Job is managed by Jenkins Job Builder.</p> | |
178 | ||
179 | node: 'master' | |
180 | ||
181 | parameters: | |
182 | - string: | |
183 | name: 'mversion' | |
184 | default: '{mversion}' | |
185 | description: 'The latency-tracker branch to build.' | |
186 | - string: | |
187 | name: 'maxConcurrentBuild' | |
188 | default: '20' | |
189 | description: 'The maximum number of concurrent child build to run.' | |
190 | - string: | |
6f1411b1 MJ |
191 | name: 'kverfloor' |
192 | default: '' | |
81fa42ce | 193 | description: 'The lowest kernel version to build.' |
6f1411b1 MJ |
194 | - string: |
195 | name: 'kverceil' | |
196 | default: '' | |
197 | description: 'The highest kernel version to build. (excluded)' | |
198 | - string: | |
199 | name: 'kverfilter' | |
200 | default: 'stable-head' | |
201 | description: 'Kernel versions list filtering strategy.' | |
81fa42ce MJ |
202 | - string: |
203 | name: 'kgitrepo' | |
204 | default: 'git://git-mirror.internal.efficios.com/git/ubuntu-{uversion}.git' | |
205 | description: 'The linux kernel git repository url.' | |
206 | - string: | |
207 | name: 'kbuildjob' | |
208 | default: 'latency-tracker_VERSION_param-build' | |
209 | description: 'The parametrized job to use for child builds.' | |
6f1411b1 MJ |
210 | - string: |
211 | name: 'uversion' | |
212 | default: '{uversion}' | |
213 | description: 'The lowest kernel version to build.' | |
81fa42ce MJ |
214 | |
215 | builders: | |
216 | - system-groovy: | |
217 | command: | |
6f1411b1 | 218 | !include-raw-escape: scripts/latency-tracker/master.groovy |
81fa42ce MJ |
219 | |
220 | publishers: | |
221 | - workspace-cleanup | |
7c1967f7 | 222 | - email-ext: |
be3bc39e JR |
223 | recipients: '{obj:email_to}' |
224 | reply-to: ci-notification@lists.lttng.org | |
225 | always: false | |
226 | unstable: false | |
227 | first-failure: true | |
228 | first-unstable: true | |
229 | not-built: false | |
230 | aborted: false | |
231 | regression: false | |
232 | failure: false | |
233 | second-failure: false | |
234 | improvement: false | |
235 | still-failing: false | |
236 | success: false | |
237 | fixed: false | |
238 | fixed-unhealthy: true | |
239 | still-unstable: false | |
240 | pre-build: false | |
241 | matrix-trigger: only-parent | |
242 | send-to: | |
243 | - recipients | |
244 | ||
81fa42ce MJ |
245 | |
246 | - job-template: | |
247 | name: latency-tracker_{mversion}_build-rt | |
248 | defaults: latency-tracker | |
249 | description: | | |
250 | The LTTng modules provide Linux kernel tracing capability to the LTTng | |
251 | 2.0 tracer toolset. | |
252 | ||
253 | This job will build the {mversion} branch against all Linutronix RT | |
254 | kernels. | |
255 | ||
256 | <p>Job is managed by Jenkins Job Builder.</p> | |
257 | ||
258 | node: 'master' | |
259 | ||
260 | parameters: | |
261 | - string: | |
262 | name: 'mversion' | |
263 | default: '{mversion}' | |
264 | description: 'The latency-tracker branch to build.' | |
265 | - string: | |
266 | name: 'maxConcurrentBuild' | |
267 | default: '20' | |
268 | description: 'The maximum number of concurrent child build to run.' | |
269 | - string: | |
270 | name: 'kverfloor' | |
271 | default: 'v2.6.36-rt0-rebase' | |
272 | description: 'The lowest kernel version to build.' | |
6f1411b1 MJ |
273 | - string: |
274 | name: 'kverceil' | |
275 | default: '' | |
276 | description: 'The highest kernel version to build. (excluded)' | |
277 | - string: | |
278 | name: 'kverfilter' | |
279 | default: 'stable-head' | |
280 | description: 'Kernel versions list filtering strategy.' | |
81fa42ce MJ |
281 | - string: |
282 | name: 'kgitrepo' | |
283 | default: 'git://git-mirror.internal.efficios.com/kernel/rt/linux-rt-devel.git' | |
284 | description: 'The linux kernel git repository url.' | |
285 | - string: | |
286 | name: 'kbuildjob' | |
287 | default: 'latency-tracker_VERSION_param-build' | |
288 | description: 'The parametrized job to use for child builds.' | |
289 | ||
290 | builders: | |
291 | - system-groovy: | |
292 | command: | |
293 | !include-raw-escape: scripts/latency-tracker/master-rt.groovy | |
294 | ||
295 | publishers: | |
296 | - workspace-cleanup | |
7c1967f7 | 297 | - email-ext: |
be3bc39e JR |
298 | recipients: '{obj:email_to}' |
299 | reply-to: ci-notification@lists.lttng.org | |
300 | always: false | |
301 | unstable: false | |
302 | first-failure: true | |
303 | first-unstable: true | |
304 | not-built: false | |
305 | aborted: false | |
306 | regression: false | |
307 | failure: false | |
308 | second-failure: false | |
309 | improvement: false | |
310 | still-failing: false | |
311 | success: false | |
312 | fixed: false | |
313 | fixed-unhealthy: true | |
314 | still-unstable: false | |
315 | pre-build: false | |
316 | matrix-trigger: only-parent | |
317 | send-to: | |
318 | - recipients | |
81fa42ce MJ |
319 | |
320 | - job-template: | |
321 | name: latency-tracker_VERSION_param-build | |
322 | defaults: latency-tracker | |
323 | description: | | |
324 | This is a parametrized job used by 'master' jobs to build any combinations | |
325 | of latency-tracker and linux kernel versions. | |
326 | ||
327 | <p>Job is managed by Jenkins Job Builder.</p> | |
328 | ||
329 | project-type: matrix | |
330 | node: 'master' # Applies only to matrix flyweight task | |
331 | axes: | |
332 | - axis: | |
333 | type: slave | |
334 | name: arch | |
335 | values: '{obj:arch}' | |
336 | ||
337 | properties: | |
338 | - build-discarder: | |
339 | days-to-keep: 2 | |
340 | ||
341 | parameters: | |
342 | - string: | |
343 | name: 'mversion' | |
344 | default: 'master' | |
345 | description: 'The latency-tracker branch to build.' | |
346 | - string: | |
6f1411b1 | 347 | name: 'ktag' |
81fa42ce MJ |
348 | default: '' |
349 | description: 'The linux kernel git tag to build against.' | |
350 | - string: | |
351 | name: 'kgitrepo' | |
c4b8d4b3 | 352 | default: 'git://git-mirror.internal.efficios.com/git/linux-all.git' |
81fa42ce MJ |
353 | description: 'The linux kernel git repository url.' |
354 | ||
355 | concurrent: true | |
356 | ||
357 | scm: | |
358 | - git: | |
359 | url: git://github.com/efficios/latency-tracker.git | |
360 | browser: githubweb | |
361 | browser-url: https://github.com/efficios/latency-tracker | |
362 | branches: | |
363 | - "${{mversion}}" | |
364 | skip-tag: true | |
365 | basedir: src/latency-tracker | |
366 | ||
367 | triggers: | |
368 | ||
369 | builders: | |
370 | - shell: | | |
6f1411b1 | 371 | git clone --depth=1 -b "$ktag" --reference $HOME/gitcache/linux-stable.git/ "$kgitrepo" src/linux |
81fa42ce MJ |
372 | - shell: |
373 | !include-raw-escape: scripts/latency-tracker/param-build.sh | |
374 | ||
375 | publishers: | |
376 | - workspace-cleanup | |
377 | ||
e9b44189 MJ |
378 | - job-template: |
379 | name: latency-tracker_VERSION_param-crossbuild | |
380 | defaults: latency-tracker | |
381 | description: | | |
382 | This is a parametrized job used by 'master' jobs to build any combinations | |
383 | of latency-tracker and linux kernel versions. | |
384 | ||
385 | <p>Job is managed by Jenkins Job Builder.</p> | |
386 | ||
387 | project-type: matrix | |
388 | node: 'master' # Applies only to matrix flyweight task | |
389 | axes: | |
390 | - axis: | |
391 | type: user-defined | |
392 | name: cross_arch | |
393 | values: '{obj:cross_arch}' | |
394 | ||
395 | properties: | |
396 | - build-discarder: | |
397 | days-to-keep: 2 | |
398 | ||
399 | parameters: | |
400 | - string: | |
401 | name: 'mversion' | |
402 | default: 'master' | |
403 | description: 'The latency-tracker branch to build.' | |
404 | - string: | |
6f1411b1 | 405 | name: 'ktag' |
e9b44189 MJ |
406 | default: '' |
407 | description: 'The linux kernel git tag to build against.' | |
408 | - string: | |
409 | name: 'kgitrepo' | |
c4b8d4b3 | 410 | default: 'git://git-mirror.internal.efficios.com/git/linux-all.git' |
e9b44189 MJ |
411 | description: 'The linux kernel git repository url.' |
412 | ||
413 | concurrent: true | |
414 | ||
415 | scm: | |
416 | - git: | |
417 | url: git://github.com/efficios/latency-tracker.git | |
418 | browser: githubweb | |
419 | browser-url: https://github.com/efficios/latency-tracker | |
420 | branches: | |
421 | - "${{mversion}}" | |
422 | skip-tag: true | |
423 | basedir: src/latency-tracker | |
424 | ||
425 | triggers: | |
426 | ||
427 | builders: | |
428 | - shell: | | |
6f1411b1 | 429 | git clone --depth=1 -b "$ktag" --reference $HOME/gitcache/linux-stable.git/ "$kgitrepo" src/linux |
e9b44189 MJ |
430 | - shell: |
431 | !include-raw-escape: scripts/latency-tracker/param-build.sh | |
432 | ||
433 | publishers: | |
434 | - workspace-cleanup | |
435 | ||
81fa42ce MJ |
436 | - job-template: |
437 | name: latency-tracker_{mversion}_coverity | |
438 | defaults: latency-tracker | |
439 | node: 'x86-64' | |
440 | ||
441 | triggers: | |
442 | - pollscm: | |
443 | cron: "@daily" | |
444 | ||
445 | wrappers: | |
446 | - workspace-cleanup | |
447 | - timestamps | |
448 | - ansicolor: | |
449 | colormap: xterm | |
450 | - credentials-binding: | |
451 | - username-password-separated: | |
452 | credential-id: latency-tracker_coverity_token | |
453 | username: COVERITY_SCAN_PROJECT_NAME | |
454 | password: COVERITY_SCAN_TOKEN | |
455 | ||
456 | builders: | |
457 | - shell: | | |
c4b8d4b3 | 458 | 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 |
81fa42ce MJ |
459 | cd src/linux |
460 | make defconfig | |
461 | sed -i "s/# CONFIG_KALLSYMS_ALL is not set/CONFIG_KALLSYMS_ALL=y/g" .config | |
462 | make modules_prepare | |
463 | - shell: | |
464 | !include-raw-escape: scripts/common/coverity.sh | |
465 | ||
466 | publishers: | |
467 | - workspace-cleanup | |
468 | ||
469 | - job-template: | |
470 | name: latency-tracker_{mversion}_cppcheck | |
471 | defaults: latency-tracker | |
472 | ||
473 | triggers: | |
474 | - pollscm: | |
475 | cron: "@daily" | |
476 | ||
477 | builders: | |
478 | - shell: | | |
479 | rm -f cppcheck.xml | |
480 | cppcheck --enable=all --xml --xml-version=2 $WORKSPACE/src/latency-tracker 2> cppcheck.xml | |
481 | ||
482 | publishers: | |
483 | - archive: | |
484 | artifacts: 'cppcheck.xml' | |
485 | allow-empty: false | |
486 | - cppcheck: | |
487 | pattern: 'cppcheck.xml' | |
be3bc39e JR |
488 | - email-ext: |
489 | recipients: '{obj:email_to}' | |
490 | reply-to: ci-notification@lists.lttng.org | |
491 | always: false | |
492 | unstable: false | |
493 | first-failure: true | |
494 | first-unstable: true | |
495 | not-built: false | |
496 | aborted: false | |
497 | regression: false | |
498 | failure: false | |
499 | second-failure: false | |
500 | improvement: false | |
501 | still-failing: false | |
502 | success: false | |
503 | fixed: false | |
504 | fixed-unhealthy: true | |
505 | still-unstable: false | |
506 | pre-build: false | |
507 | matrix-trigger: only-parent | |
508 | send-to: | |
509 | - recipients | |
81fa42ce MJ |
510 | |
511 | - job-template: | |
512 | name: latency-tracker_{mversion}_sloccount | |
513 | defaults: latency-tracker | |
514 | description: | | |
515 | The LTTng modules provide Linux kernel tracing capability to the LTTng | |
516 | 2.0 tracer toolset. | |
517 | ||
518 | This job runs the sloccount utility and generates a trend report. | |
519 | ||
520 | <p>Job is managed by Jenkins Job Builder.</p> | |
521 | ||
522 | triggers: | |
523 | - pollscm: | |
524 | cron: "@daily" | |
525 | ||
526 | builders: | |
527 | - shell: | | |
528 | cloc --by-file --xml --out=cloc.xml src/latency-tracker/ | |
529 | ||
530 | publishers: | |
531 | - archive: | |
532 | artifacts: 'cloc.xml' | |
533 | allow-empty: false | |
534 | - sloccount: | |
535 | report-files: 'cloc.xml' | |
536 | ||
537 | ||
538 | ## Project | |
539 | - project: | |
540 | name: latency-tracker | |
541 | github_user: efficios | |
542 | github_name: latency-tracker | |
be3bc39e | 543 | email_to: 'ci-notification@lists.lttng.org, cc:jdesfossez@efficios.com' |
81fa42ce MJ |
544 | mversion: |
545 | - master | |
546 | jobs: | |
e9b44189 MJ |
547 | - 'latency-tracker_{mversion}_{buildtype}-vanilla': |
548 | buildtype: build | |
81fa42ce | 549 | - 'latency-tracker_{mversion}_build-rt': |
7c1967f7 MJ |
550 | - 'latency-tracker_{mversion}_build-{uversion}': |
551 | uversion: | |
552 | - xenial | |
e9b44189 MJ |
553 | - 'latency-tracker_{mversion}_{buildtype}-vanilla': |
554 | buildtype: crossbuild | |
81fa42ce MJ |
555 | - 'latency-tracker_VERSION_param-build': |
556 | arch: !!python/tuple [x86-32, x86-64] | |
e9b44189 MJ |
557 | - 'latency-tracker_VERSION_param-crossbuild': |
558 | cross_arch: !!python/tuple [armhf, arm64] | |
81fa42ce MJ |
559 | - 'latency-tracker_{mversion}_cppcheck' |
560 | - 'latency-tracker_{mversion}_sloccount': | |
561 | mversion: master | |
e3f0e9ab MJ |
562 | - 'latency-tracker_{mversion}_coverity': |
563 | mversion: master |