jjb: liburcu: Add FreeBSD 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: https://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:
89 - scripts/common/print.sh
90 - scripts/liburcu/build.sh
91
92 - liburcu_build_builders_win: &liburcu_build_builders_win
93 name: 'liburcu_build_builders_win'
94 builders:
95 - conditional-step:
96 condition-kind: strings-match
97 on-evaluation-failure: run
98 condition-string1: '${{arch}}'
99 condition-string2: 'cygwin64'
100 steps:
101 - shell:
102 !include-raw-escape:
103 - scripts/common/cygwin64-shebang
104 - scripts/common/cygpath-prefix
105 - scripts/common/print.sh
106 - scripts/liburcu/build.sh
107
108 - liburcu_build_publishers_defaults: &liburcu_build_publishers_defaults
109 name: 'liburcu_build_publishers_defaults'
110 publishers:
111 - tap:
112 results: 'tap/**/*.log'
113 fail-if-no-results: true
114 failed-tests-mark-build-as-failure: true
115 todo-is-failure: false
116 - warnings:
117 console-log-parsers:
118 - 'GNU Make + GNU C Compiler (gcc)'
119 total-thresholds:
120 unstable:
121 total-all: 0
122 total-high: 0
123 total-normal: 0
124 total-low: 0
125 - archive:
126 artifacts: 'build/**,tap/**'
127 allow-empty: false
128 - ircbot:
129 strategy: new-failure-and-fixed
130 matrix-notifier: only-parent
131 channels:
132 - name: '#lttng'
133 - email-ext:
134 recipients: '{obj:email_to}'
135 reply-to: ci-notification@lists.lttng.org
136 always: false
137 unstable: false
138 first-failure: true
139 first-unstable: true
140 not-built: false
141 aborted: false
142 regression: false
143 failure: false
144 second-failure: false
145 improvement: false
146 still-failing: false
147 success: false
148 fixed: false
149 fixed-unhealthy: true
150 still-unstable: false
151 pre-build: false
152 matrix-trigger: only-parent
153 send-to:
154 - recipients
155
156 ## Templates
157 - job-template:
158 name: liburcu_{version}_{buildtype}
159 defaults: liburcu
160
161 <<: *liburcu_build_axes_defaults
162 <<: *liburcu_build_builders_defaults
163 <<: *liburcu_build_publishers_defaults
164
165 - job-template:
166 name: liburcu_{version}_winbuild
167 defaults: liburcu
168
169 <<: *liburcu_build_axes_defaults
170 <<: *liburcu_build_builders_win
171 <<: *liburcu_build_publishers_defaults
172
173 - job-template:
174 name: liburcu_{version}_cppcheck
175 defaults: liburcu
176
177 triggers:
178 - pollscm:
179 cron: "@daily"
180
181 builders:
182 - shell: |
183 rm -f cppcheck-result.xml
184 cppcheck --enable=all --xml --xml-version=2 $WORKSPACE/src/liburcu 2> cppcheck-result.xml
185
186 publishers:
187 - archive:
188 artifacts: 'cppcheck-result.xml'
189 allow-empty: false
190 - cppcheck:
191 pattern: 'cppcheck-result.xml'
192 - email-ext:
193 recipients: '{obj:email_to}'
194 reply-to: ci-notification@lists.lttng.org
195 always: false
196 unstable: false
197 first-failure: true
198 first-unstable: false
199 not-built: false
200 aborted: false
201 regression: false
202 failure: false
203 second-failure: false
204 improvement: false
205 still-failing: false
206 success: false
207 fixed: false
208 fixed-unhealthy: true
209 still-unstable: true
210 pre-build: false
211 matrix-trigger: only-parent
212 send-to:
213 - recipients
214
215 - job-template:
216 name: liburcu_{version}_scan-build
217 defaults: liburcu
218 node: 'amd64'
219
220 triggers:
221 - pollscm:
222 cron: "@daily"
223
224 builders:
225 - shell:
226 !include-raw-escape: scripts/common/scan-build.sh
227
228 publishers:
229 - html-publisher:
230 name: 'HTML Report'
231 dir: 'scan-build-archive/'
232 files: 'index.html'
233
234 - job-template:
235 name: liburcu_{version}_coverity
236 defaults: liburcu
237 node: 'amd64'
238
239 triggers:
240 - pollscm:
241 cron: "@daily"
242
243 wrappers:
244 - ansicolor
245 - timeout:
246 timeout: 60
247 fail: true
248 type: absolute
249 - timestamps
250 - workspace-cleanup:
251 clean-if:
252 - failure: false
253 - credentials-binding:
254 - username-password-separated:
255 credential-id: liburcu_coverity_token
256 username: COVERITY_SCAN_PROJECT_NAME
257 password: COVERITY_SCAN_TOKEN
258
259 builders:
260 - shell:
261 !include-raw-escape: scripts/common/coverity.sh
262
263 publishers:
264 - workspace-cleanup
265 - archive:
266 artifacts: 'analysis-results.tgz,cov-int/**'
267 allow-empty: false
268
269
270 ## Views
271 - view-template:
272 name: 'Liburcu'
273 view-type: list
274 regex: 'liburcu[-_].*'
275
276
277 ## Projects
278 - project:
279 name: liburcu
280 github_user: urcu
281 github_name: userspace-rcu
282 email_to: 'ci-notification@lists.lttng.org, cc:mathieu.desnoyers@efficios.com'
283 version:
284 - stable-0.9
285 - stable-0.10
286 - stable-0.11
287 - stable-0.12
288 - master
289 jobs:
290 - 'liburcu_{version}_{buildtype}':
291 buildtype: build
292 arch: !!python/tuple [amd64]
293 build: !!python/tuple [std, oot, dist]
294 conf: !!python/tuple [std, static, tls_fallback, debug-rcu]
295 - 'liburcu_{version}_{buildtype}':
296 buildtype: portbuild
297 arch: !!python/tuple [armhf, arm64, powerpc, ppc64el, i386]
298 build: !!python/tuple [std]
299 conf: !!python/tuple [std, static, tls_fallback, debug-rcu]
300 - 'liburcu_{version}_{buildtype}':
301 buildtype: slesbuild
302 arch: !!python/tuple [sles12sp2]
303 build: !!python/tuple [std]
304 conf: !!python/tuple [std]
305 - 'liburcu_{version}_{buildtype}':
306 buildtype: elbuild
307 arch: !!python/tuple [el8]
308 build: !!python/tuple [std]
309 conf: !!python/tuple [std]
310 - 'liburcu_{version}_{buildtype}':
311 buildtype: solarisbuild
312 arch: !!python/tuple [sol10-i386, sol11-i386]
313 build: !!python/tuple [std]
314 conf: !!python/tuple [std, static, tls_fallback, debug-rcu]
315 - 'liburcu_{version}_{buildtype}':
316 buildtype: macosxbuild
317 arch: !!python/tuple [macosx]
318 build: !!python/tuple [std]
319 conf: !!python/tuple [std, static, tls_fallback, debug-rcu]
320 - 'liburcu_{version}_winbuild':
321 arch: !!python/tuple [cygwin64]
322 build: !!python/tuple [std]
323 conf: !!python/tuple [std]
324 - 'liburcu_{version}_{buildtype}':
325 buildtype: freebsdbuild
326 arch: !!python/tuple [freebsd]
327 build: !!python/tuple [std]
328 conf: !!python/tuple [std]
329 version:
330 - stable-0.12
331 - master
332 - 'liburcu_{version}_cppcheck'
333 - 'liburcu_{version}_scan-build'
334 - 'liburcu_{version}_coverity':
335 version: master
336
337 - project:
338 name: liburcu-views
339 views:
340 - Liburcu
This page took 0.038405 seconds and 5 git commands to generate.