jjb: update latency-tracker jobs
[lttng-ci.git] / jobs / latency-tracker.yaml
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
55 stable: false
56 filter: 'build/**'
57 target: 'deps/linux'
58 do-not-fingerprint: true
59 - shell: |
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
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:
71 name: latency-tracker_{mversion}_{buildtype}-vanilla
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'
95 default: 'v3.12'
96 description: 'The lowest kernel version to build.'
97 - string:
98 name: 'kverceil'
99 default: ''
100 description: 'The highest kernel version to build. (excluded)'
101 - string:
102 name: 'kverfilter'
103 default: 'stable-head'
104 description: 'Kernel versions list filtering strategy.'
105 - string:
106 name: 'kgitrepo'
107 default: 'git://git-mirror.internal.efficios.com/git/linux-all.git'
108 description: 'The linux kernel git repository url.'
109 - string:
110 name: 'kbuildjob'
111 default: 'latency-tracker_VERSION_param-{buildtype}'
112 description: 'The parametrized job to use for child builds.'
113
114 builders:
115 - system-groovy:
116 command:
117 !include-raw-escape: scripts/latency-tracker/master.groovy
118
119 publishers:
120 - workspace-cleanup
121 - email-ext:
122 recipients: jdesfossez@efficios.com
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:
148 name: 'kverfloor'
149 default: ''
150 description: 'The lowest kernel version to build.'
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.'
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.'
167 - string:
168 name: 'uversion'
169 default: '{uversion}'
170 description: 'The lowest kernel version to build.'
171
172 builders:
173 - system-groovy:
174 command:
175 !include-raw-escape: scripts/latency-tracker/master.groovy
176
177 publishers:
178 - workspace-cleanup
179 - email-ext:
180 recipients: jdesfossez@efficios.com
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.'
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.'
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
233 - email-ext:
234 recipients: jdesfossez@efficios.com
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:
263 name: 'ktag'
264 default: ''
265 description: 'The linux kernel git tag to build against.'
266 - string:
267 name: 'kgitrepo'
268 default: 'git://git-mirror.internal.efficios.com/git/linux-all.git'
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: |
287 git clone --depth=1 -b "$ktag" --reference $HOME/gitcache/linux-stable.git/ "$kgitrepo" src/linux
288 - shell:
289 !include-raw-escape: scripts/latency-tracker/param-build.sh
290
291 publishers:
292 - workspace-cleanup
293
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:
321 name: 'ktag'
322 default: ''
323 description: 'The linux kernel git tag to build against.'
324 - string:
325 name: 'kgitrepo'
326 default: 'git://git-mirror.internal.efficios.com/git/linux-all.git'
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: |
345 git clone --depth=1 -b "$ktag" --reference $HOME/gitcache/linux-stable.git/ "$kgitrepo" src/linux
346 - shell:
347 !include-raw-escape: scripts/latency-tracker/param-build.sh
348
349 publishers:
350 - workspace-cleanup
351
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: |
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
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:
444 - 'latency-tracker_{mversion}_{buildtype}-vanilla':
445 buildtype: build
446 - 'latency-tracker_{mversion}_build-rt':
447 - 'latency-tracker_{mversion}_build-{uversion}':
448 uversion:
449 - xenial
450 - 'latency-tracker_{mversion}_{buildtype}-vanilla':
451 buildtype: crossbuild
452 - 'latency-tracker_VERSION_param-build':
453 arch: !!python/tuple [x86-32, x86-64]
454 - 'latency-tracker_VERSION_param-crossbuild':
455 cross_arch: !!python/tuple [armhf, arm64]
456 - 'latency-tracker_{mversion}_cppcheck'
457 - 'latency-tracker_{mversion}_sloccount':
458 mversion: master
459 - 'latency-tracker_{mversion}_coverity':
460 mversion: master
This page took 0.039613 seconds and 5 git commands to generate.