lttng-modules: fix sloccount job
[lttng-ci.git] / jobs / lttng-modules.yaml
CommitLineData
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
12 logrotate:
598af463 13 numToKeep: 2
598af463
MJ
14
15 wrappers:
16 - workspace-cleanup
17 - timestamps
18 - ansicolor
19
20 scm:
598af463 21 - git:
51ca880a 22 url: git://github.com/{github_user}/{github_name}.git
9a00aa82 23 browser: githubweb
51ca880a 24 browser-url: https://github.com/{github_user}/{github_name}
598af463
MJ
25 branches:
26 - "{mversion}"
94bddbc4
MJ
27 shallow-clone: true
28 skip-tag: true
29 fastpoll: true
7e942863 30 basedir: src/lttng-modules
598af463 31
d2fc1027 32 triggers:
4f3fef7d 33 - pollscm:
997b01f2 34 cron: "@hourly"
d2fc1027 35
598af463 36 properties:
9a00aa82 37 - github:
51ca880a 38 url: https://github.com/{github_user}/{github_name}
598af463
MJ
39
40
41## Templates
42- job-template:
43 name: lttng-modules_{mversion}_{kversion}_{buildtype}
44 defaults: lttng-modules
45
46 project-type: matrix
ca8c6144 47 node: 'master' # Applies only to matrix flyweight task
598af463
MJ
48 axes:
49 - axis:
50 type: slave
51 name: arch
52 values: '{obj:arch}'
53
54 builders:
55 - copyartifact:
56 project: kernel_{kversion}_{buildtype}/arch=$arch
57 which-build: last-successful
58 stable: true
59 filter: 'build/**'
60 target: 'deps/linux'
83001fea 61 do-not-fingerprint: true
a3c2d81c 62 - shell: |
7e942863 63 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 64 - shell:
ef63064f 65 !include-raw-escape: scripts/lttng-modules/build.sh
598af463
MJ
66
67 publishers:
68 - archive:
69 artifacts: 'build/**'
70 allow-empty: false
a3c2d81c 71 - workspace-cleanup
598af463 72
f3d8604b
MJ
73- job-template:
74 name: lttng-modules_{mversion}_build-vanilla
75 defaults: lttng-modules
2c1d386a
MJ
76 description: |
77 The LTTng modules provide Linux kernel tracing capability to the LTTng
78 2.0 tracer toolset.
79
80 This job will build the {mversion} branch against all stable vanilla
81 kernel tags.
82
83 <p>Job is managed by Jenkins Job Builder.</p>
f3d8604b
MJ
84
85 node: 'master'
86
87 parameters:
88 - string:
89 name: 'mversion'
90 default: '{mversion}'
91 description: 'The lttng-modules branch to build.'
92 - string:
93 name: 'maxConcurrentBuild'
cb18f1d6 94 default: '20'
f3d8604b
MJ
95 description: 'The maximum number of concurrent child build to run.'
96 - string:
97 name: 'kverfloor'
98 default: 'v2.6.36'
99 description: 'The lowest kernel version to build.'
100 - string:
101 name: 'kgitrepo'
7e942863 102 default: 'git://git-mirror.internal.efficios.com/kernel/stable/linux-stable.git'
f3d8604b
MJ
103 description: 'The linux kernel git repository url.'
104 - string:
105 name: 'kbuildjob'
106 default: 'lttng-modules_VERSION_param-build'
107 description: 'The parametrized job to use for child builds.'
108
109 builders:
110 - system-groovy:
111 command:
2c1d386a 112 !include-raw-escape: scripts/lttng-modules/master-vanilla.groovy
f3d8604b
MJ
113
114 publishers:
115 - workspace-cleanup
116
117- job-template:
118 name: lttng-modules_{mversion}_build-{uversion}
119 defaults: lttng-modules
2c1d386a
MJ
120 description: |
121 The LTTng modules provide Linux kernel tracing capability to the LTTng
122 2.0 tracer toolset.
123
124 This job will build the {mversion} branch against all Ubuntu {uversion}
125 released kernels, including the LTS backport kernels.
126
127 <p>Job is managed by Jenkins Job Builder.</p>
f3d8604b
MJ
128
129 node: 'master'
130
131 parameters:
132 - string:
133 name: 'mversion'
134 default: '{mversion}'
135 description: 'The lttng-modules branch to build.'
136 - string:
137 name: 'maxConcurrentBuild'
cb18f1d6 138 default: '20'
f3d8604b
MJ
139 description: 'The maximum number of concurrent child build to run.'
140 - string:
141 name: 'uversion'
142 default: '{uversion}'
143 description: 'The lowest kernel version to build.'
144 - string:
145 name: 'kgitrepo'
7e942863 146 default: 'git://git-mirror.internal.efficios.com/git/ubuntu-{uversion}.git'
f3d8604b
MJ
147 description: 'The linux kernel git repository url.'
148 - string:
149 name: 'kbuildjob'
150 default: 'lttng-modules_VERSION_param-build'
151 description: 'The parametrized job to use for child builds.'
152
153 builders:
154 - system-groovy:
155 command:
156 !include-raw-escape: scripts/lttng-modules/master-ubuntu.groovy
157
158 publishers:
159 - workspace-cleanup
160
2c1d386a
MJ
161- job-template:
162 name: lttng-modules_{mversion}_build-rt
163 defaults: lttng-modules
164 description: |
165 The LTTng modules provide Linux kernel tracing capability to the LTTng
166 2.0 tracer toolset.
167
168 This job will build the {mversion} branch against all Linutronix RT
169 kernels.
170
171 <p>Job is managed by Jenkins Job Builder.</p>
172
173 node: 'master'
174
175 parameters:
176 - string:
177 name: 'mversion'
178 default: '{mversion}'
179 description: 'The lttng-modules branch to build.'
180 - string:
181 name: 'maxConcurrentBuild'
cb18f1d6 182 default: '20'
2c1d386a
MJ
183 description: 'The maximum number of concurrent child build to run.'
184 - string:
185 name: 'kverfloor'
186 default: 'v2.6.36-rt0-rebase'
187 description: 'The lowest kernel version to build.'
188 - string:
189 name: 'kgitrepo'
7e942863 190 default: 'git://git-mirror.internal.efficios.com/kernel/rt/linux-rt-devel.git'
2c1d386a
MJ
191 description: 'The linux kernel git repository url.'
192 - string:
193 name: 'kbuildjob'
194 default: 'lttng-modules_VERSION_param-build'
195 description: 'The parametrized job to use for child builds.'
196
197 builders:
198 - system-groovy:
199 command:
200 !include-raw-escape: scripts/lttng-modules/master-rt.groovy
201
202 publishers:
203 - workspace-cleanup
204
f3d8604b
MJ
205- job-template:
206 name: lttng-modules_VERSION_param-build
207 defaults: lttng-modules
208 description: |
209 This is a parametrized job used by 'master' jobs to build any combinations
210 of lttng-modules and linux kernel versions.
211
212 <p>Job is managed by Jenkins Job Builder.</p>
213
214 project-type: matrix
215 node: 'master' # Applies only to matrix flyweight task
216 axes:
217 - axis:
218 type: slave
219 name: arch
220 values: '{obj:arch}'
221
222 parameters:
223 - string:
224 name: 'mversion'
225 default: 'master'
226 description: 'The lttng-modules branch to build.'
227 - string:
228 name: 'kversion'
229 default: ''
230 description: 'The linux kernel git tag to build against.'
231 - string:
232 name: 'kgitrepo'
7e942863 233 default: 'git://git-mirror.internal.efficios.com/kernel/stable/linux-stable.git'
f3d8604b
MJ
234 description: 'The linux kernel git repository url.'
235
236 concurrent: true
237 logrotate:
2c1d386a 238 daysToKeep: 2
f3d8604b
MJ
239
240 scm:
241 - git:
242 url: git://github.com/lttng/lttng-modules.git
243 browser: githubweb
244 browser-url: https://github.com/lttng/lttng-modules
245 branches:
246 - "${{mversion}}"
247 skip-tag: true
339db64d 248 basedir: src/lttng-modules
f3d8604b 249
2c1d386a
MJ
250 triggers:
251
f3d8604b
MJ
252 builders:
253 - shell: |
339db64d 254 git clone --depth=1 -b "$kversion" --reference $HOME/gitcache/linux-stable.git/ "$kgitrepo" src/linux
f3d8604b
MJ
255 - shell:
256 !include-raw-escape: scripts/lttng-modules/param-build.sh
257
258 publishers:
259 - workspace-cleanup
260
4f3fef7d 261- job-template:
f899b1be 262 name: lttng-modules_{mversion}_coverity
4f3fef7d
MJ
263 defaults: lttng-modules
264 node: 'x86-64'
265
266 triggers:
267 - pollscm:
268 cron: "@daily"
269
270 wrappers:
271 - workspace-cleanup
272 - timestamps
273 - ansicolor:
274 colormap: xterm
275 - credentials-binding:
276 - username-password-separated:
277 credential-id: lttng-modules_coverity_token
278 username: COVERITY_SCAN_PROJECT_NAME
279 password: COVERITY_SCAN_TOKEN
280
281 builders:
5122da3c 282 - shell: |
7e942863
MJ
283 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
284 cd src/linux
5122da3c
JR
285 make defconfig
286 sed -i "s/# CONFIG_KALLSYMS_ALL is not set/CONFIG_KALLSYMS_ALL=y/g" .config
287 make modules_prepare
4f3fef7d 288 - shell:
ef63064f 289 !include-raw-escape: scripts/common/coverity.sh
4f3fef7d
MJ
290
291 publishers:
292 - workspace-cleanup
598af463 293
f899b1be
MJ
294- job-template:
295 name: lttng-modules_{mversion}_cppcheck
296 defaults: lttng-modules
297
298 triggers:
299 - pollscm:
997b01f2 300 cron: "@daily"
f899b1be 301
f899b1be
MJ
302 builders:
303 - shell: |
304 rm -f cppcheck.xml
7e942863 305 cppcheck --enable=all --xml --xml-version=2 $WORKSPACE/src/lttng-modules 2> cppcheck.xml
f899b1be
MJ
306
307 publishers:
308 - archive:
309 artifacts: 'cppcheck.xml'
310 allow-empty: false
311 - cppcheck:
312 pattern: 'cppcheck.xml'
313 - email:
314 recipients: 'ci-notification@lists.lttng.org'
315 notify-every-unstable-build: true
316 send-to-individuals: false
317
2c1d386a
MJ
318- job-template:
319 name: lttng-modules_{mversion}_sloccount
320 defaults: lttng-modules
321 description: |
322 The LTTng modules provide Linux kernel tracing capability to the LTTng
323 2.0 tracer toolset.
324
325 This job runs the sloccount utility and generates a trend report.
326
327 <p>Job is managed by Jenkins Job Builder.</p>
328
329 triggers:
330 - pollscm:
331 cron: "@daily"
332
333 builders:
334 - shell: |
106c873f 335 cloc --by-file --xml --out=cloc.xml src/lttng-modules/
2c1d386a
MJ
336
337 publishers:
338 - archive:
339 artifacts: 'cloc.xml'
340 allow-empty: false
341 - sloccount:
342 report-files: 'cloc.xml'
343
f899b1be 344
598af463
MJ
345## Project
346- project:
347 name: lttng-modules
51ca880a
MJ
348 github_user: lttng
349 github_name: lttng-modules
598af463 350 mversion:
9beacf91
MJ
351 - stable-2.7
352 - stable-2.8
353 - master
598af463 354 jobs:
f3d8604b 355 - 'lttng-modules_{mversion}_build-vanilla'
2c1d386a
MJ
356 - 'lttng-modules_{mversion}_build-rt':
357 mversion: master
f3d8604b
MJ
358 - 'lttng-modules_{mversion}_build-{uversion}':
359 uversion:
360 - trusty
361 - xenial
362 - 'lttng-modules_VERSION_param-build':
598af463 363 arch: !!python/tuple [x86-32, x86-64]
f899b1be 364 - 'lttng-modules_{mversion}_cppcheck'
2c1d386a
MJ
365 - 'lttng-modules_{mversion}_sloccount':
366 mversion: master
f899b1be
MJ
367 - 'lttng-modules_{mversion}_coverity':
368 mversion: master
This page took 0.039435 seconds and 4 git commands to generate.