Fix: jjb: system-tests: pass modules repo to build job
[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
51 triggers:
52 - pollscm:
53 cron: "@hourly"
54
55 properties:
56 - inject:
57 properties-content: |
58 PROJECT_NAME=liburcu
59 - build-discarder:
60 num-to-keep: 2
61 - github:
62 url: https://github.com/{github_user}/{github_name}
63
64
65 ## Anchors
66 - liburcu_build_axes_defaults: &liburcu_build_axes_defaults
67 name: 'liburcu_build_axes_defaults'
68 project-type: matrix
69 node: 'master' # Applies only to matrix flyweight task
70 axes:
71 - axis:
72 type: slave
73 name: arch
74 values: '{obj:arch}'
75 - axis:
76 type: user-defined
77 name: conf
78 values: '{obj:conf}'
79 - axis:
80 type: user-defined
81 name: build
82 values: '{obj:build}'
83
84 - liburcu_build_builders_defaults: &liburcu_build_builders_defaults
85 name: 'liburcu_build_builders_defaults'
86 builders:
87 - shell:
88 !include-raw-escape: scripts/liburcu/build.sh
89
90 - liburcu_build_builders_win: &liburcu_build_builders_win
91 name: 'liburcu_build_builders_win'
92 builders:
93 - conditional-step:
94 condition-kind: strings-match
95 on-evaluation-failure: run
96 condition-string1: '${{arch}}'
97 condition-string2: 'cygwin'
98 steps:
99 - shell:
100 !include-raw-escape:
101 - scripts/common/cygwin-shebang
102 - scripts/common/cygwin-prefix
103 - scripts/liburcu/build.sh
104 - conditional-step:
105 condition-kind: strings-match
106 on-evaluation-failure: run
107 condition-string1: '${{arch}}'
108 condition-string2: 'cygwin64'
109 steps:
110 - shell:
111 !include-raw-escape:
112 - scripts/common/cygwin64-shebang
113 - scripts/common/cygwin-prefix
114 - scripts/liburcu/build.sh
115 - conditional-step:
116 condition-kind: strings-match
117 on-evaluation-failure: run
118 condition-string1: '${{arch}}'
119 condition-string2: 'msys2-mingw32'
120 steps:
121 - inject:
122 properties-content: 'MSYSTEM=MINGW32'
123 - shell:
124 !include-raw-escape:
125 - scripts/common/msys2-shebang
126 - scripts/common/cygwin-prefix
127 - scripts/liburcu/build.sh
128 - conditional-step:
129 condition-kind: strings-match
130 on-evaluation-failure: run
131 condition-string1: '${{arch}}'
132 condition-string2: 'msys2-mingw64'
133 steps:
134 - inject:
135 properties-content: 'MSYSTEM=MINGW64'
136 - shell:
137 !include-raw-escape:
138 - scripts/common/msys2-shebang
139 - scripts/common/cygwin-prefix
140 - scripts/liburcu/build.sh
141
142 - liburcu_build_publishers_defaults: &liburcu_build_publishers_defaults
143 name: 'liburcu_build_publishers_defaults'
144 publishers:
145 - tap:
146 results: 'tap/**/*.log'
147 fail-if-no-results: true
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: elbuild
341 arch: !!python/tuple [el8]
342 build: !!python/tuple [std]
343 conf: !!python/tuple [std]
344 - 'liburcu_{version}_{buildtype}':
345 buildtype: solarisbuild
346 arch: !!python/tuple [sol10-i386, sol11-i386]
347 build: !!python/tuple [std]
348 conf: !!python/tuple [std, static, tls_fallback, debug-rcu]
349 version: # Solaris support was introduced in 0.9
350 - master
351 - stable-0.9
352 - stable-0.10
353 - stable-0.11
354 - 'liburcu_{version}_{buildtype}':
355 buildtype: macosxbuild
356 arch: !!python/tuple [macosx]
357 build: !!python/tuple [std]
358 conf: !!python/tuple [std, static, tls_fallback, debug-rcu]
359 version:
360 - master
361 - stable-0.9
362 - stable-0.10
363 - stable-0.11
364 - 'liburcu_{version}_winbuild':
365 arch: !!python/tuple [cygwin, cygwin64]
366 build: !!python/tuple [std]
367 conf: !!python/tuple [std]
368 version:
369 - master
370 - stable-0.9
371 - stable-0.10
372 - stable-0.11
373 - 'liburcu_{version}_cppcheck'
374 - 'liburcu_{version}_scan-build'
375 - 'liburcu_{version}_coverity':
376 version: master
377
378 - project:
379 name: liburcu-views
380 views:
381 - Liburcu
This page took 0.036525 seconds and 4 git commands to generate.