jjb: babeltrace: build.sh is now shellcheck clean
[lttng-ci.git] / jobs / liburcu.yaml
CommitLineData
e3022ad9
MJ
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
e3022ad9 30 wrappers:
dfc19a66
MJ
31 - ansicolor
32 - timeout:
33 timeout: 90
34 fail: true
35 type: absolute
e3022ad9 36 - timestamps
dfc19a66
MJ
37 - workspace-cleanup:
38 clean-if:
39 - failure: false
e3022ad9
MJ
40
41 scm:
42 - git:
51ca880a 43 url: git://github.com/{github_user}/{github_name}.git
e3022ad9 44 browser: githubweb
51ca880a 45 browser-url: https://github.com/{github_user}/{github_name}
e3022ad9
MJ
46 branches:
47 - origin/{version}
6d35c326 48 basedir: src/liburcu
0a6e708b 49 skip-tag: true
dfc19a66 50 git-tool: jgit
e3022ad9
MJ
51
52 triggers:
e8078c79
MJ
53 - pollscm:
54 cron: "@hourly"
e3022ad9
MJ
55
56 properties:
69f05d59
MJ
57 - inject:
58 properties-content: |
59 PROJECT_NAME=liburcu
edf72710
MJ
60 - build-discarder:
61 num-to-keep: 2
e3022ad9 62 - github:
51ca880a 63 url: https://github.com/{github_user}/{github_name}
e3022ad9
MJ
64
65
dfc19a66
MJ
66## Anchors
67- liburcu_build_axes_defaults: &liburcu_build_axes_defaults
68 name: 'liburcu_build_axes_defaults'
e3022ad9 69 project-type: matrix
ca8c6144 70 node: 'master' # Applies only to matrix flyweight task
e3022ad9
MJ
71 axes:
72 - axis:
73 type: slave
74 name: arch
b6e61d51 75 values: '{obj:arch}'
e3022ad9
MJ
76 - axis:
77 type: user-defined
78 name: conf
dfc19a66 79 values: '{obj:conf}'
e3022ad9
MJ
80 - axis:
81 type: user-defined
82 name: build
9d0846f3 83 values: '{obj:build}'
e3022ad9 84
dfc19a66
MJ
85- liburcu_build_builders_defaults: &liburcu_build_builders_defaults
86 name: 'liburcu_build_builders_defaults'
e3022ad9
MJ
87 builders:
88 - shell:
ef63064f 89 !include-raw-escape: scripts/liburcu/build.sh
e3022ad9 90
dfc19a66
MJ
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}}'
8f541678 120 condition-string2: 'msys2-mingw32'
dfc19a66
MJ
121 steps:
122 - inject:
123 properties-content: 'MSYSTEM=MINGW32'
124 - shell:
125 !include-raw-escape:
8f541678 126 - scripts/common/msys2-shebang
dfc19a66
MJ
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}}'
8f541678 133 condition-string2: 'msys2-mingw64'
dfc19a66
MJ
134 steps:
135 - inject:
136 properties-content: 'MSYSTEM=MINGW64'
137 - shell:
138 !include-raw-escape:
8f541678 139 - scripts/common/msys2-shebang
dfc19a66
MJ
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'
e3022ad9
MJ
145 publishers:
146 - warnings:
147 console-log-parsers:
148 - 'GNU Make + GNU C Compiler (gcc)'
51ca880a
MJ
149 total-thresholds:
150 unstable:
d2c76ee5
MJ
151 total-all: 0
152 total-high: 0
153 total-normal: 0
154 total-low: 0
e3022ad9
MJ
155 - archive:
156 artifacts: 'build/**'
157 allow-empty: false
1d573689 158 - ircbot:
95654431 159 strategy: new-failure-and-fixed
1d573689
MJ
160 matrix-notifier: only-parent
161 channels:
162 - name: '#lttng'
092af1e4
JR
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
dfc19a66
MJ
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
e3022ad9
MJ
203- job-template:
204 name: liburcu_{version}_cppcheck
205 defaults: liburcu
206
207 triggers:
e8078c79
MJ
208 - pollscm:
209 cron: "@daily"
e3022ad9
MJ
210
211 builders:
212 - shell: |
5279b0f2
MJ
213 rm -f cppcheck-result.xml
214 cppcheck --enable=all --xml --xml-version=2 $WORKSPACE/src/liburcu 2> cppcheck-result.xml
e3022ad9
MJ
215
216 publishers:
217 - archive:
5279b0f2 218 artifacts: 'cppcheck-result.xml'
e3022ad9 219 allow-empty: false
e3022ad9 220 - cppcheck:
5279b0f2 221 pattern: 'cppcheck-result.xml'
092af1e4
JR
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
e3022ad9
MJ
244
245- job-template:
246 name: liburcu_{version}_scan-build
247 defaults: liburcu
16844a6d 248 node: 'amd64'
e3022ad9
MJ
249
250 triggers:
e8078c79
MJ
251 - pollscm:
252 cron: "@daily"
e3022ad9
MJ
253
254 builders:
255 - shell:
69f05d59 256 !include-raw-escape: scripts/common/scan-build.sh
e3022ad9
MJ
257
258 publishers:
259 - html-publisher:
260 name: 'HTML Report'
261 dir: 'scan-build-archive/'
262 files: 'index.html'
263
e8078c79
MJ
264- job-template:
265 name: liburcu_{version}_coverity
266 defaults: liburcu
16844a6d 267 node: 'amd64'
e8078c79
MJ
268
269 triggers:
270 - pollscm:
271 cron: "@daily"
272
273 wrappers:
dfc19a66
MJ
274 - ansicolor
275 - timeout:
276 timeout: 60
277 fail: true
278 type: absolute
e8078c79 279 - timestamps
dfc19a66
MJ
280 - workspace-cleanup:
281 clean-if:
282 - failure: false
e8078c79
MJ
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:
ef63064f 291 !include-raw-escape: scripts/common/coverity.sh
e8078c79
MJ
292
293 publishers:
294 - workspace-cleanup
6d35c326
MJ
295 - archive:
296 artifacts: 'analysis-results.tgz,cov-int/**'
297 allow-empty: false
e3022ad9
MJ
298
299
300## Project
301- project:
302 name: liburcu
51ca880a
MJ
303 github_user: urcu
304 github_name: userspace-rcu
092af1e4 305 email_to: 'ci-notification@lists.lttng.org, cc:mathieu.desnoyers@efficios.com'
e3022ad9 306 version:
dfc19a66
MJ
307 - stable-0.8
308 - stable-0.9
be76d048 309 - stable-0.10
dfc19a66 310 - master
e3022ad9 311 jobs:
57ae8ff4
MJ
312 - 'liburcu_{version}_{buildtype}':
313 buildtype: build
16844a6d 314 arch: !!python/tuple [amd64]
9d0846f3 315 build: !!python/tuple [std, oot, dist]
dfc19a66 316 conf: !!python/tuple [std, static, tls_fallback, debug-rcu]
57ae8ff4
MJ
317 - 'liburcu_{version}_{buildtype}':
318 buildtype: portbuild
16844a6d 319 arch: !!python/tuple [armhf, arm64, powerpc, ppc64el, i386]
9d0846f3 320 build: !!python/tuple [std]
dfc19a66 321 conf: !!python/tuple [std, static, tls_fallback, debug-rcu]
81bf613d
MJ
322 - 'liburcu_{version}_{buildtype}':
323 buildtype: slesbuild
324 arch: !!python/tuple [sles12sp2]
325 build: !!python/tuple [std]
326 conf: !!python/tuple [std]
7491c28d
MJ
327 - 'liburcu_{version}_{buildtype}':
328 buildtype: solarisbuild
995ac8f2 329 arch: !!python/tuple [sol10-i386, sol11-i386]
7491c28d 330 build: !!python/tuple [std]
dfc19a66 331 conf: !!python/tuple [std, static, tls_fallback, debug-rcu]
51ca880a 332 version: # Solaris support was introduced in 0.9
7491c28d
MJ
333 - master
334 - stable-0.9
be76d048 335 - stable-0.10
f7bf4d7a
MJ
336 - 'liburcu_{version}_{buildtype}':
337 buildtype: macosxbuild
338 arch: !!python/tuple [macosx]
339 build: !!python/tuple [std]
dfc19a66
MJ
340 conf: !!python/tuple [std, static, tls_fallback, debug-rcu]
341 version:
342 - master
343 - stable-0.9
be76d048 344 - stable-0.10
dfc19a66
MJ
345 - 'liburcu_{version}_winbuild':
346 arch: !!python/tuple [cygwin, cygwin64]
347 build: !!python/tuple [std]
348 conf: !!python/tuple [std]
f7bf4d7a
MJ
349 version:
350 - master
351 - stable-0.9
be76d048 352 - stable-0.10
e3022ad9
MJ
353 - 'liburcu_{version}_cppcheck'
354 - 'liburcu_{version}_scan-build'
e8078c79
MJ
355 - 'liburcu_{version}_coverity':
356 version: master
e3022ad9 357
This page took 0.042397 seconds and 4 git commands to generate.