jjb: Update babeltrace jobs
[lttng-ci.git] / jobs / liburcu.yaml
1 # {project}_{version}_{jobtype}
2 # liburcu_stable-0.8_build
3 #
4 # jobtypes:
5 # - build
6 # - portbuild
7 # - cppcheck
8 # - coverity
9 # - scan-build
10 # - pylint
11
12 - defaults:
13 name: liburcu
14 description: |
15 liburcu is a LGPLv2.1 userspace RCU (read-copy-update) library. This
16 data synchronization library provides read-side access which scales
17 linearly with the number of cores. It does so by allowing multiples
18 copies of a given data structure to live at the same time, and by
19 monitoring the data structure accesses to detect grace periods after
20 which memory reclamation is possible.
21
22 liburcu-cds provides efficient data structures based on RCU and
23 lock-free algorithms. Those structures include hash tables, queues,
24 stacks, and doubly-linked lists.
25
26 <p>Job is managed by Jenkins Job Builder.</p>
27
28 project-type: freestyle
29
30 wrappers:
31 - ansicolor
32 - timeout:
33 timeout: 90
34 fail: true
35 type: absolute
36 - timestamps
37 - workspace-cleanup:
38 clean-if:
39 - failure: false
40
41 scm:
42 - git:
43 url: git://github.com/{github_user}/{github_name}.git
44 browser: githubweb
45 browser-url: https://github.com/{github_user}/{github_name}
46 branches:
47 - origin/{version}
48 basedir: src/liburcu
49 skip-tag: true
50 git-tool: jgit
51
52 triggers:
53 - pollscm:
54 cron: "@hourly"
55
56 properties:
57 - inject:
58 properties-content: |
59 PROJECT_NAME=liburcu
60 - build-discarder:
61 num-to-keep: 2
62 - github:
63 url: https://github.com/{github_user}/{github_name}
64
65
66 ## Anchors
67 - liburcu_build_axes_defaults: &liburcu_build_axes_defaults
68 name: 'liburcu_build_axes_defaults'
69 project-type: matrix
70 node: 'master' # Applies only to matrix flyweight task
71 axes:
72 - axis:
73 type: slave
74 name: arch
75 values: '{obj:arch}'
76 - axis:
77 type: user-defined
78 name: conf
79 values: '{obj:conf}'
80 - axis:
81 type: user-defined
82 name: build
83 values: '{obj:build}'
84
85 - liburcu_build_builders_defaults: &liburcu_build_builders_defaults
86 name: 'liburcu_build_builders_defaults'
87 builders:
88 - shell:
89 !include-raw-escape: scripts/liburcu/build.sh
90
91 - liburcu_build_builders_win: &liburcu_build_builders_win
92 name: 'liburcu_build_builders_win'
93 builders:
94 - conditional-step:
95 condition-kind: strings-match
96 on-evaluation-failure: run
97 condition-string1: '${{arch}}'
98 condition-string2: 'cygwin'
99 steps:
100 - shell:
101 !include-raw-escape:
102 - scripts/common/cygwin-shebang
103 - scripts/common/cygwin-prefix
104 - scripts/liburcu/build.sh
105 - conditional-step:
106 condition-kind: strings-match
107 on-evaluation-failure: run
108 condition-string1: '${{arch}}'
109 condition-string2: 'cygwin64'
110 steps:
111 - shell:
112 !include-raw-escape:
113 - scripts/common/cygwin64-shebang
114 - scripts/common/cygwin-prefix
115 - scripts/liburcu/build.sh
116 - conditional-step:
117 condition-kind: strings-match
118 on-evaluation-failure: run
119 condition-string1: '${{arch}}'
120 condition-string2: 'msys2-mingw32'
121 steps:
122 - inject:
123 properties-content: 'MSYSTEM=MINGW32'
124 - shell:
125 !include-raw-escape:
126 - scripts/common/msys2-shebang
127 - scripts/common/cygwin-prefix
128 - scripts/liburcu/build.sh
129 - conditional-step:
130 condition-kind: strings-match
131 on-evaluation-failure: run
132 condition-string1: '${{arch}}'
133 condition-string2: 'msys2-mingw64'
134 steps:
135 - inject:
136 properties-content: 'MSYSTEM=MINGW64'
137 - shell:
138 !include-raw-escape:
139 - scripts/common/msys2-shebang
140 - scripts/common/cygwin-prefix
141 - scripts/liburcu/build.sh
142
143 - liburcu_build_publishers_defaults: &liburcu_build_publishers_defaults
144 name: 'liburcu_build_publishers_defaults'
145 publishers:
146 - tap:
147 results: 'tap/**/*.log'
148 failed-tests-mark-build-as-failure: true
149 todo-is-failure: false
150 - warnings:
151 console-log-parsers:
152 - 'GNU Make + GNU C Compiler (gcc)'
153 total-thresholds:
154 unstable:
155 total-all: 0
156 total-high: 0
157 total-normal: 0
158 total-low: 0
159 - archive:
160 artifacts: 'build/**,tap/**'
161 allow-empty: false
162 - ircbot:
163 strategy: new-failure-and-fixed
164 matrix-notifier: only-parent
165 channels:
166 - name: '#lttng'
167 - email-ext:
168 recipients: '{obj:email_to}'
169 reply-to: ci-notification@lists.lttng.org
170 always: false
171 unstable: false
172 first-failure: true
173 first-unstable: true
174 not-built: false
175 aborted: false
176 regression: false
177 failure: false
178 second-failure: false
179 improvement: false
180 still-failing: false
181 success: false
182 fixed: false
183 fixed-unhealthy: true
184 still-unstable: false
185 pre-build: false
186 matrix-trigger: only-parent
187 send-to:
188 - recipients
189
190 ## Templates
191 - job-template:
192 name: liburcu_{version}_{buildtype}
193 defaults: liburcu
194
195 <<: *liburcu_build_axes_defaults
196 <<: *liburcu_build_builders_defaults
197 <<: *liburcu_build_publishers_defaults
198
199 - job-template:
200 name: liburcu_{version}_winbuild
201 defaults: liburcu
202
203 <<: *liburcu_build_axes_defaults
204 <<: *liburcu_build_builders_win
205 <<: *liburcu_build_publishers_defaults
206
207 - job-template:
208 name: liburcu_{version}_cppcheck
209 defaults: liburcu
210
211 triggers:
212 - pollscm:
213 cron: "@daily"
214
215 builders:
216 - shell: |
217 rm -f cppcheck-result.xml
218 cppcheck --enable=all --xml --xml-version=2 $WORKSPACE/src/liburcu 2> cppcheck-result.xml
219
220 publishers:
221 - archive:
222 artifacts: 'cppcheck-result.xml'
223 allow-empty: false
224 - cppcheck:
225 pattern: 'cppcheck-result.xml'
226 - email-ext:
227 recipients: '{obj:email_to}'
228 reply-to: ci-notification@lists.lttng.org
229 always: false
230 unstable: false
231 first-failure: true
232 first-unstable: false
233 not-built: false
234 aborted: false
235 regression: false
236 failure: false
237 second-failure: false
238 improvement: false
239 still-failing: false
240 success: false
241 fixed: false
242 fixed-unhealthy: true
243 still-unstable: true
244 pre-build: false
245 matrix-trigger: only-parent
246 send-to:
247 - recipients
248
249 - job-template:
250 name: liburcu_{version}_scan-build
251 defaults: liburcu
252 node: 'amd64'
253
254 triggers:
255 - pollscm:
256 cron: "@daily"
257
258 builders:
259 - shell:
260 !include-raw-escape: scripts/common/scan-build.sh
261
262 publishers:
263 - html-publisher:
264 name: 'HTML Report'
265 dir: 'scan-build-archive/'
266 files: 'index.html'
267
268 - job-template:
269 name: liburcu_{version}_coverity
270 defaults: liburcu
271 node: 'amd64'
272
273 triggers:
274 - pollscm:
275 cron: "@daily"
276
277 wrappers:
278 - ansicolor
279 - timeout:
280 timeout: 60
281 fail: true
282 type: absolute
283 - timestamps
284 - workspace-cleanup:
285 clean-if:
286 - failure: false
287 - credentials-binding:
288 - username-password-separated:
289 credential-id: liburcu_coverity_token
290 username: COVERITY_SCAN_PROJECT_NAME
291 password: COVERITY_SCAN_TOKEN
292
293 builders:
294 - shell:
295 !include-raw-escape: scripts/common/coverity.sh
296
297 publishers:
298 - workspace-cleanup
299 - archive:
300 artifacts: 'analysis-results.tgz,cov-int/**'
301 allow-empty: false
302
303
304 ## Views
305 - view-template:
306 name: 'Liburcu'
307 view-type: list
308 regex: 'liburcu[-_].*'
309
310
311 ## Projects
312 - project:
313 name: liburcu
314 github_user: urcu
315 github_name: userspace-rcu
316 email_to: 'ci-notification@lists.lttng.org, cc:mathieu.desnoyers@efficios.com'
317 version:
318 - stable-0.8
319 - stable-0.9
320 - stable-0.10
321 - stable-0.11
322 - master
323 jobs:
324 - 'liburcu_{version}_{buildtype}':
325 buildtype: build
326 arch: !!python/tuple [amd64]
327 build: !!python/tuple [std, oot, dist]
328 conf: !!python/tuple [std, static, tls_fallback, debug-rcu]
329 - 'liburcu_{version}_{buildtype}':
330 buildtype: portbuild
331 arch: !!python/tuple [armhf, arm64, powerpc, ppc64el, i386]
332 build: !!python/tuple [std]
333 conf: !!python/tuple [std, static, tls_fallback, debug-rcu]
334 - 'liburcu_{version}_{buildtype}':
335 buildtype: slesbuild
336 arch: !!python/tuple [sles12sp2]
337 build: !!python/tuple [std]
338 conf: !!python/tuple [std]
339 - 'liburcu_{version}_{buildtype}':
340 buildtype: solarisbuild
341 arch: !!python/tuple [sol10-i386, sol11-i386]
342 build: !!python/tuple [std]
343 conf: !!python/tuple [std, static, tls_fallback, debug-rcu]
344 version: # Solaris support was introduced in 0.9
345 - master
346 - stable-0.9
347 - stable-0.10
348 - stable-0.11
349 - 'liburcu_{version}_{buildtype}':
350 buildtype: macosxbuild
351 arch: !!python/tuple [macosx]
352 build: !!python/tuple [std]
353 conf: !!python/tuple [std, static, tls_fallback, debug-rcu]
354 version:
355 - master
356 - stable-0.9
357 - stable-0.10
358 - stable-0.11
359 - 'liburcu_{version}_winbuild':
360 arch: !!python/tuple [cygwin, cygwin64]
361 build: !!python/tuple [std]
362 conf: !!python/tuple [std]
363 version:
364 - master
365 - stable-0.9
366 - stable-0.10
367 - stable-0.11
368 - 'liburcu_{version}_cppcheck'
369 - 'liburcu_{version}_scan-build'
370 - 'liburcu_{version}_coverity':
371 version: master
372
373 - project:
374 name: liburcu-views
375 views:
376 - Liburcu
This page took 0.055105 seconds and 4 git commands to generate.