1c66178aefb60617b70c0ac3ded603d27c9d5eaf
[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 - warnings:
147 console-log-parsers:
148 - 'GNU Make + GNU C Compiler (gcc)'
149 total-thresholds:
150 unstable:
151 total-all: 0
152 total-high: 0
153 total-normal: 0
154 total-low: 0
155 - archive:
156 artifacts: 'build/**'
157 allow-empty: false
158 - ircbot:
159 strategy: new-failure-and-fixed
160 matrix-notifier: only-parent
161 channels:
162 - name: '#lttng'
163 - email-ext:
164 recipients: '{obj:email_to}'
165 reply-to: ci-notification@lists.lttng.org
166 always: false
167 unstable: false
168 first-failure: true
169 first-unstable: true
170 not-built: false
171 aborted: false
172 regression: false
173 failure: false
174 second-failure: false
175 improvement: false
176 still-failing: false
177 success: false
178 fixed: false
179 fixed-unhealthy: true
180 still-unstable: false
181 pre-build: false
182 matrix-trigger: only-parent
183 send-to:
184 - recipients
185
186 ## Templates
187 - job-template:
188 name: liburcu_{version}_{buildtype}
189 defaults: liburcu
190
191 <<: *liburcu_build_axes_defaults
192 <<: *liburcu_build_builders_defaults
193 <<: *liburcu_build_publishers_defaults
194
195 - job-template:
196 name: liburcu_{version}_winbuild
197 defaults: liburcu
198
199 <<: *liburcu_build_axes_defaults
200 <<: *liburcu_build_builders_win
201 <<: *liburcu_build_publishers_defaults
202
203 - job-template:
204 name: liburcu_{version}_cppcheck
205 defaults: liburcu
206
207 triggers:
208 - pollscm:
209 cron: "@daily"
210
211 builders:
212 - shell: |
213 rm -f cppcheck-result.xml
214 cppcheck --enable=all --xml --xml-version=2 $WORKSPACE/src/liburcu 2> cppcheck-result.xml
215
216 publishers:
217 - archive:
218 artifacts: 'cppcheck-result.xml'
219 allow-empty: false
220 - cppcheck:
221 pattern: 'cppcheck-result.xml'
222 - email-ext:
223 recipients: '{obj:email_to}'
224 reply-to: ci-notification@lists.lttng.org
225 always: false
226 unstable: false
227 first-failure: true
228 first-unstable: false
229 not-built: false
230 aborted: false
231 regression: false
232 failure: false
233 second-failure: false
234 improvement: false
235 still-failing: false
236 success: false
237 fixed: false
238 fixed-unhealthy: true
239 still-unstable: true
240 pre-build: false
241 matrix-trigger: only-parent
242 send-to:
243 - recipients
244
245 - job-template:
246 name: liburcu_{version}_scan-build
247 defaults: liburcu
248 node: 'x86-64'
249
250 triggers:
251 - pollscm:
252 cron: "@daily"
253
254 builders:
255 - shell:
256 !include-raw-escape: scripts/common/scan-build.sh
257
258 publishers:
259 - html-publisher:
260 name: 'HTML Report'
261 dir: 'scan-build-archive/'
262 files: 'index.html'
263
264 - job-template:
265 name: liburcu_{version}_coverity
266 defaults: liburcu
267 node: 'x86-64'
268
269 triggers:
270 - pollscm:
271 cron: "@daily"
272
273 wrappers:
274 - ansicolor
275 - timeout:
276 timeout: 60
277 fail: true
278 type: absolute
279 - timestamps
280 - workspace-cleanup:
281 clean-if:
282 - failure: false
283 - credentials-binding:
284 - username-password-separated:
285 credential-id: liburcu_coverity_token
286 username: COVERITY_SCAN_PROJECT_NAME
287 password: COVERITY_SCAN_TOKEN
288
289 builders:
290 - shell:
291 !include-raw-escape: scripts/common/coverity.sh
292
293 publishers:
294 - workspace-cleanup
295 - archive:
296 artifacts: 'analysis-results.tgz,cov-int/**'
297 allow-empty: false
298
299
300 ## Project
301 - project:
302 name: liburcu
303 github_user: urcu
304 github_name: userspace-rcu
305 email_to: 'ci-notification@lists.lttng.org, cc:mathieu.desnoyers@efficios.com'
306 version:
307 - stable-0.8
308 - stable-0.9
309 - stable-0.10
310 - master
311 jobs:
312 - 'liburcu_{version}_{buildtype}':
313 buildtype: build
314 arch: !!python/tuple [x86-32, x86-64]
315 build: !!python/tuple [std, oot, dist]
316 conf: !!python/tuple [std, static, tls_fallback, debug-rcu]
317 - 'liburcu_{version}_{buildtype}':
318 buildtype: portbuild
319 arch: !!python/tuple [armhf, arm64, powerpc, ppc64el]
320 build: !!python/tuple [std]
321 conf: !!python/tuple [std, static, tls_fallback, debug-rcu]
322 - 'liburcu_{version}_{buildtype}':
323 buildtype: slesbuild
324 arch: !!python/tuple [sles12sp2]
325 build: !!python/tuple [std]
326 conf: !!python/tuple [std]
327 - 'liburcu_{version}_{buildtype}':
328 buildtype: solarisbuild
329 arch: !!python/tuple [sol10-i386, sol11-i386]
330 build: !!python/tuple [std]
331 conf: !!python/tuple [std, static, tls_fallback, debug-rcu]
332 version: # Solaris support was introduced in 0.9
333 - master
334 - stable-0.9
335 - stable-0.10
336 - 'liburcu_{version}_{buildtype}':
337 buildtype: macosxbuild
338 arch: !!python/tuple [macosx]
339 build: !!python/tuple [std]
340 conf: !!python/tuple [std, static, tls_fallback, debug-rcu]
341 version:
342 - master
343 - stable-0.9
344 - stable-0.10
345 - 'liburcu_{version}_winbuild':
346 arch: !!python/tuple [cygwin, cygwin64]
347 build: !!python/tuple [std]
348 conf: !!python/tuple [std]
349 version:
350 - master
351 - stable-0.9
352 - stable-0.10
353 - 'liburcu_{version}_cppcheck'
354 - 'liburcu_{version}_scan-build'
355 - 'liburcu_{version}_coverity':
356 version: master
357
This page took 0.037207 seconds and 4 git commands to generate.