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