jjb: Make scan-build a common script
[lttng-ci.git] / jobs / lttng-ust.yaml
1 - defaults:
2 name: lttng-ust
3 description: |
4 LTTng-UST, the Linux Trace Toolkit Next Generation Userspace Tracer, is a
5 port of the low-overhead tracing capabilities of the LTTng kernel tracer
6 to user-space. The library "liblttng-ust" enables tracing of
7 applications and libraries.
8
9 <p>Job is managed by Jenkins Job Builder.</p>
10
11 project-type: freestyle
12
13 wrappers:
14 - workspace-cleanup
15 - timestamps
16 - ansicolor
17
18 scm:
19 - git:
20 url: git://github.com/{github_user}/{github_name}.git
21 browser: githubweb
22 browser-url: https://github.com/{github_user}/{github_name}
23 branches:
24 - origin/{version}
25 basedir: src/lttng-ust
26 skip-tag: true
27
28 triggers:
29 - pollscm:
30 cron: "@hourly"
31
32 properties:
33 - inject:
34 properties-content: |
35 PROJECT_NAME=lttng-ust
36 - build-discarder:
37 num-to-keep: 2
38 - github:
39 url: https://github.com/{github_user}/{github_name}
40
41
42 ## Templates
43 - job-template:
44 name: lttng-ust_{version}_{buildtype}
45 defaults: lttng-ust
46
47 project-type: matrix
48 node: 'master' # Applies only to matrix flyweight task
49 execution-strategy:
50 combination-filter: |
51 (build=="std") || (liburcu_version=="master")
52 axes:
53 - axis:
54 type: slave
55 name: arch
56 values: '{obj:arch}'
57 - axis:
58 type: user-defined
59 name: conf
60 values: '{obj:conf}'
61 - axis:
62 type: user-defined
63 name: liburcu_version
64 values:
65 !include: jobs/inc/liburcu-versions.yaml.inc
66 - axis:
67 type: user-defined
68 name: build
69 values: '{obj:build}'
70
71 builders:
72 - copyartifact:
73 project: liburcu_${{liburcu_version}}_{buildtype}/arch=$arch,conf=std,build=std
74 which-build: last-successful
75 stable: true
76 filter: 'build/**'
77 target: 'deps/liburcu'
78 do-not-fingerprint: true
79 - shell:
80 !include-raw-escape: scripts/lttng-ust/build.sh
81
82 # TODO: Scan for open tasks
83 publishers:
84 - tap:
85 results: 'tap/**/*.log'
86 failed-tests-mark-build-as-failure: true
87 todo-is-failure: false
88 - warnings:
89 console-log-parsers:
90 - 'GNU Make + GNU C Compiler (gcc)'
91 total-thresholds:
92 unstable:
93 total-all: 0
94 total-high: 0
95 total-normal: 0
96 total-low: 0
97 - archive:
98 artifacts: 'build/**'
99 allow-empty: false
100 - workspace-cleanup
101 - ircbot:
102 strategy: new-failure-and-fixed
103 matrix-notifier: only-parent
104 channels:
105 - name: '#lttng'
106
107 - job-template:
108 name: lttng-ust_{version}_java-tests
109 defaults: lttng-ust
110 description: |
111 Tests for LTTng-UST's Java agent. Runs the master branch of
112 <a href="https://github.com/lttng/lttng-ust-java-tests">lttng-ust-java-tests</a>
113 against the {version} branches of UST, lttng-tools, and Babeltrace.
114
115 <p>Job is managed by Jenkins Job Builder.</p>
116
117 project-type: matrix
118 node: 'master' # Applies only to matrix flyweight task
119 axes:
120 - axis:
121 type: slave
122 name: arch
123 values: '{obj:arch}'
124 - axis:
125 type: user-defined
126 name: jdk_version
127 values:
128 - 'OpenJDK-8'
129 - axis:
130 type: user-defined
131 name: liburcu_version
132 values:
133 - 'master'
134 - axis:
135 type: user-defined
136 name: lttng_ust_version
137 values:
138 - 'master'
139 - axis:
140 type: user-defined
141 name: lttng_tools_version
142 values:
143 - 'master'
144
145 wrappers:
146 - workspace-cleanup
147 - timestamps
148 - ansicolor
149 - inject:
150 properties-content: |
151 LD_LIBRARY_PATH="${{WORKSPACE}}/deps/build/lib"
152 PATH="${{WORKSPACE}}/deps/build/bin:${{PATH}}"
153 LTTNG_CONSUMERD32_BIN="${{WORKSPACE}}/deps/build/lib/lttng/libexec/lttng-consumerd"
154 LTTNG_CONSUMERD64_BIN="${{WORKSPACE}}/deps/build/lib/lttng/libexec/lttng-consumerd"
155 script-content: |
156
157 scm:
158 - git:
159 url: git://github.com/lttng/lttng-ust-java-tests.git
160 browser: githubweb
161 browser-url: https://github.com/lttng/lttng-ust-java-tests
162 branches:
163 - origin/{version}
164 basedir: lttng-ust-java-tests
165 skip-tag: true
166
167 triggers:
168 - pollscm:
169 cron: "@daily"
170
171 properties:
172 - build-discarder:
173 num-to-keep: 2
174 - github:
175 url: https://github.com/lttng/lttng-ust-java-tests
176
177 builders:
178 - copyartifact:
179 project: liburcu_${{liburcu_version}}_build/arch=${{arch}},conf=std,build=std
180 which-build: last-successful
181 stable: true
182 filter: 'build/**'
183 target: 'deps'
184 do-not-fingerprint: true
185 - copyartifact:
186 project: lttng-ust_{version}_build/liburcu_version=${{liburcu_version}},arch=${{arch}},conf=java-agent,build=std
187 which-build: last-successful
188 stable: true
189 filter: 'build/**'
190 target: 'deps'
191 do-not-fingerprint: true
192 - copyartifact:
193 project: lttng-tools_${{lttng_tools_version}}_build/babeltrace_version=master,liburcu_version=${{liburcu_version}},arch=${{arch}},conf=java-agent,build=std
194 which-build: last-successful
195 stable: true
196 filter: 'build/**'
197 target: 'deps'
198 do-not-fingerprint: true
199 - copyartifact:
200 project: babeltrace_master_build/arch=${{arch}},conf=std,build=std
201 which-build: last-successful
202 stable: true
203 filter: 'build/**'
204 target: 'deps'
205 do-not-fingerprint: true
206 - shell: |
207 #!/bin/sh -eux
208
209 # Start the lttng-sessiond
210 lttng-sessiond -d
211 - maven-target:
212 goals: '-version'
213 maven-version: 'Maven 3.3.3'
214 private-repository: true
215 - maven-target:
216 goals: |
217 clean
218 verify
219 pom: 'lttng-ust-java-tests/pom.xml'
220 properties:
221 - maven.test.failure.ignore=true
222 - common-jar-location=${{WORKSPACE}}/deps/build/share/java/lttng-ust-agent-common.jar
223 - jul-jar-location=${{WORKSPACE}}/deps/build/share/java/lttng-ust-agent-jul.jar
224 - log4j-jar-location=${{WORKSPACE}}/deps/build/share/java/lttng-ust-agent-log4j.jar
225 - argLine=-Djava.library.path=${{WORKSPACE}}/deps/build/lib
226 maven-version: 'Maven 3.3.3'
227 private-repository: true
228 - shell: |
229 #!/bin/sh -eux
230
231 # Kill the sessiond
232 killall lttng-sessiond
233
234 publishers:
235 - junit:
236 results: lttng-ust-java-tests/**/target/failsafe-reports/*.xml
237 - email-ext:
238 recipients: alex@voxpopuli.im
239 matrix-trigger: only-parent
240 failure: false
241 first-failure: true
242 fixed: true
243 - workspace-cleanup
244
245
246 - job-template:
247 name: lttng-ust_{version}_cppcheck
248 defaults: lttng-ust
249
250 triggers:
251 - pollscm:
252 cron: "@daily"
253
254 builders:
255 - shell: |
256 rm -f lttng-ust-cppcheck.xml
257 cppcheck --enable=all --xml --xml-version=2 $WORKSPACE/src/lttng-ust 2> lttng-ust-cppcheck.xml
258
259 publishers:
260 - archive:
261 artifacts: 'lttng-ust-cppcheck.xml'
262 allow-empty: false
263 - cppcheck:
264 pattern: 'lttng-ust-cppcheck.xml'
265 - email:
266 recipients: 'ci-notification@lists.lttng.org'
267 notify-every-unstable-build: true
268 send-to-individuals: false
269
270 - job-template:
271 name: lttng-ust_{version}_scan-build
272 defaults: lttng-ust
273 node: 'x86-64'
274
275 triggers:
276 - pollscm:
277 cron: "@daily"
278
279 builders:
280 - copyartifact:
281 project: liburcu_master_build/arch=x86-64,conf=std,build=std
282 which-build: last-successful
283 stable: true
284 filter: 'build/**'
285 target: 'deps/liburcu'
286 do-not-fingerprint: true
287 - shell:
288 !include-raw-escape: scripts/common/scan-build.sh
289
290 publishers:
291 - html-publisher:
292 name: 'HTML Report'
293 dir: 'scan-build-archive/'
294 files: 'index.html'
295
296 - job-template:
297 name: lttng-ust_{version}_coverity
298 defaults: lttng-ust
299 node: 'x86-64'
300
301 triggers:
302 - pollscm:
303 cron: "@daily"
304
305 wrappers:
306 - workspace-cleanup
307 - timestamps
308 - ansicolor:
309 colormap: xterm
310 - credentials-binding:
311 - username-password-separated:
312 credential-id: lttng-ust_coverity_token
313 username: COVERITY_SCAN_PROJECT_NAME
314 password: COVERITY_SCAN_TOKEN
315
316 builders:
317 - copyartifact:
318 project: liburcu_master_build/arch=x86-64,conf=std,build=std
319 which-build: last-successful
320 stable: true
321 filter: 'build/**'
322 target: 'deps/liburcu'
323 do-not-fingerprint: true
324 - shell:
325 !include-raw-escape: scripts/common/coverity.sh
326
327 publishers:
328 - workspace-cleanup
329 - archive:
330 artifacts: 'analysis-results.tgz,cov-int/**'
331 allow-empty: false
332
333 # TODO
334 - job-template:
335 name: lttng-ust_{version}_pylint
336 defaults: lttng-ust
337 node: 'x86-64'
338
339 scm: []
340
341 triggers:
342 - pollscm:
343 cron: "@daily"
344
345 builders:
346 - copyartifact:
347 project: lttng-ust-{version}/arch=x86-64,build=std,conf=python-agent
348 which-build: last-successful
349 stable: true
350 filter: 'build/**'
351 target: 'deps/lttng-ust'
352 do-not-fingerprint: true
353 - shell:
354 !include-raw-escape: scripts/lttng-ust/pylint.sh
355
356 publishers:
357 - archive:
358 artifacts: 'pep8.out,pylint.out'
359 - violations:
360 pep8:
361 pattern: pep8.out
362 min: 10
363 max: 999
364 unstable: 999
365 pylint:
366 pattern: pylint.out
367 min: 10
368 max: 999
369 unstable: 999
370 - email:
371 recipients: 'ci-notification@lists.lttng.org'
372 notify-every-unstable-build: true
373 send-to-individuals: false
374
375
376 ## Project
377 - project:
378 name: lttng-ust
379 github_user: lttng
380 github_name: lttng-ust
381 version:
382 - stable-2.7
383 - stable-2.8
384 - master
385 jobs:
386 - 'lttng-ust_{version}_{buildtype}':
387 buildtype: build
388 arch: !!python/tuple [x86-32, x86-64]
389 build: !!python/tuple [std, oot, dist]
390 conf: !!python/tuple [std, java-agent, python-agent]
391 - 'lttng-ust_{version}_{buildtype}':
392 buildtype: portbuild
393 arch: !!python/tuple [armhf, arm64, powerpc, ppc64el]
394 build: !!python/tuple [std]
395 conf: !!python/tuple [std, java-agent, python-agent]
396 - 'lttng-ust_{version}_java-tests':
397 arch: !!python/tuple [x86-32, x86-64]
398 - 'lttng-ust_{version}_cppcheck'
399 - 'lttng-ust_{version}_scan-build'
400 - 'lttng-ust_{version}_coverity':
401 version: master
402
This page took 0.037532 seconds and 5 git commands to generate.