Commit | Line | Data |
---|---|---|
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 |