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