jjb: lttng-ust master requires liburcu master
[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: 'kverfilter'
99 default: 'stable-head'
100 description: 'Kernel versions list filtering strategy.'
101 - string:
102 name: 'kgitrepo'
103 default: 'git://git-mirror.internal.efficios.com/git/linux-all.git'
104 description: 'The linux kernel git repository url.'
105 - string:
106 name: 'kbuildjob'
107 default: 'latency-tracker_VERSION_param-{buildtype}'
108 description: 'The parametrized job to use for child builds.'
109
110 builders:
111 - system-groovy:
112 command:
113 !include-raw-escape: scripts/latency-tracker/master-vanilla.groovy
114
115 publishers:
116 - workspace-cleanup
117 - email-ext:
118 recipients: jdesfossez@efficios.com
119
120 - job-template:
121 name: latency-tracker_{mversion}_build-{uversion}
122 defaults: latency-tracker
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>
131
132 node: 'master'
133
134 parameters:
135 - string:
136 name: 'mversion'
137 default: '{mversion}'
138 description: 'The latency-tracker branch to build.'
139 - string:
140 name: 'maxConcurrentBuild'
141 default: '20'
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'
149 default: 'git://git-mirror.internal.efficios.com/git/ubuntu-{uversion}.git'
150 description: 'The linux kernel git repository url.'
151 - string:
152 name: 'kbuildjob'
153 default: 'latency-tracker_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/latency-tracker/master-ubuntu.groovy
160
161 publishers:
162 - workspace-cleanup
163 - email-ext:
164 recipients: jdesfossez@efficios.com
165
166 - job-template:
167 name: latency-tracker_{mversion}_build-rt
168 defaults: latency-tracker
169 description: |
170 The LTTng modules provide Linux kernel tracing capability to the LTTng
171 2.0 tracer toolset.
172
173 This job will build the {mversion} branch against all Linutronix RT
174 kernels.
175
176 <p>Job is managed by Jenkins Job Builder.</p>
177
178 node: 'master'
179
180 parameters:
181 - string:
182 name: 'mversion'
183 default: '{mversion}'
184 description: 'The latency-tracker branch to build.'
185 - string:
186 name: 'maxConcurrentBuild'
187 default: '20'
188 description: 'The maximum number of concurrent child build to run.'
189 - string:
190 name: 'kverfloor'
191 default: 'v2.6.36-rt0-rebase'
192 description: 'The lowest kernel version to build.'
193 - string:
194 name: 'kgitrepo'
195 default: 'git://git-mirror.internal.efficios.com/kernel/rt/linux-rt-devel.git'
196 description: 'The linux kernel git repository url.'
197 - string:
198 name: 'kbuildjob'
199 default: 'latency-tracker_VERSION_param-build'
200 description: 'The parametrized job to use for child builds.'
201
202 builders:
203 - system-groovy:
204 command:
205 !include-raw-escape: scripts/latency-tracker/master-rt.groovy
206
207 publishers:
208 - workspace-cleanup
209 - email-ext:
210 recipients: jdesfossez@efficios.com
211
212 - job-template:
213 name: latency-tracker_VERSION_param-build
214 defaults: latency-tracker
215 description: |
216 This is a parametrized job used by 'master' jobs to build any combinations
217 of latency-tracker 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
229 properties:
230 - build-discarder:
231 days-to-keep: 2
232
233 parameters:
234 - string:
235 name: 'mversion'
236 default: 'master'
237 description: 'The latency-tracker 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'
244 default: 'git://git-mirror.internal.efficios.com/git/linux-all.git'
245 description: 'The linux kernel git repository url.'
246
247 concurrent: true
248
249 scm:
250 - git:
251 url: git://github.com/efficios/latency-tracker.git
252 browser: githubweb
253 browser-url: https://github.com/efficios/latency-tracker
254 branches:
255 - "${{mversion}}"
256 skip-tag: true
257 basedir: src/latency-tracker
258
259 triggers:
260
261 builders:
262 - shell: |
263 git clone --depth=1 -b "$kversion" --reference $HOME/gitcache/linux-stable.git/ "$kgitrepo" src/linux
264 - shell:
265 !include-raw-escape: scripts/latency-tracker/param-build.sh
266
267 publishers:
268 - workspace-cleanup
269
270 - job-template:
271 name: latency-tracker_VERSION_param-crossbuild
272 defaults: latency-tracker
273 description: |
274 This is a parametrized job used by 'master' jobs to build any combinations
275 of latency-tracker 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 latency-tracker 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'
302 default: 'git://git-mirror.internal.efficios.com/git/linux-all.git'
303 description: 'The linux kernel git repository url.'
304
305 concurrent: true
306
307 scm:
308 - git:
309 url: git://github.com/efficios/latency-tracker.git
310 browser: githubweb
311 browser-url: https://github.com/efficios/latency-tracker
312 branches:
313 - "${{mversion}}"
314 skip-tag: true
315 basedir: src/latency-tracker
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/latency-tracker/param-build.sh
324
325 publishers:
326 - workspace-cleanup
327
328 - job-template:
329 name: latency-tracker_{mversion}_coverity
330 defaults: latency-tracker
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: latency-tracker_coverity_token
345 username: COVERITY_SCAN_PROJECT_NAME
346 password: COVERITY_SCAN_TOKEN
347
348 builders:
349 - shell: |
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
351 cd src/linux
352 make defconfig
353 sed -i "s/# CONFIG_KALLSYMS_ALL is not set/CONFIG_KALLSYMS_ALL=y/g" .config
354 make modules_prepare
355 - shell:
356 !include-raw-escape: scripts/common/coverity.sh
357
358 publishers:
359 - workspace-cleanup
360
361 - job-template:
362 name: latency-tracker_{mversion}_cppcheck
363 defaults: latency-tracker
364
365 triggers:
366 - pollscm:
367 cron: "@daily"
368
369 builders:
370 - shell: |
371 rm -f cppcheck.xml
372 cppcheck --enable=all --xml --xml-version=2 $WORKSPACE/src/latency-tracker 2> cppcheck.xml
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
385 - job-template:
386 name: latency-tracker_{mversion}_sloccount
387 defaults: latency-tracker
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: |
402 cloc --by-file --xml --out=cloc.xml src/latency-tracker/
403
404 publishers:
405 - archive:
406 artifacts: 'cloc.xml'
407 allow-empty: false
408 - sloccount:
409 report-files: 'cloc.xml'
410
411
412 ## Project
413 - project:
414 name: latency-tracker
415 github_user: efficios
416 github_name: latency-tracker
417 mversion:
418 - master
419 jobs:
420 - 'latency-tracker_{mversion}_{buildtype}-vanilla':
421 buildtype: build
422 - 'latency-tracker_{mversion}_build-rt':
423 - 'latency-tracker_{mversion}_build-{uversion}':
424 uversion:
425 - xenial
426 - 'latency-tracker_{mversion}_{buildtype}-vanilla':
427 buildtype: crossbuild
428 - 'latency-tracker_VERSION_param-build':
429 arch: !!python/tuple [x86-32, x86-64]
430 - 'latency-tracker_VERSION_param-crossbuild':
431 cross_arch: !!python/tuple [armhf, arm64]
432 - 'latency-tracker_{mversion}_cppcheck'
433 - 'latency-tracker_{mversion}_sloccount':
434 mversion: master
435 - 'latency-tracker_{mversion}_coverity':
436 mversion: master
This page took 0.04198 seconds and 4 git commands to generate.