jjb: Add el7 to elbuilds
[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: &liburcu_wrapper_ansicolor_defaults
32 colormap: xterm
33 - timeout: &liburcu_wrapper_timeout_defaults
34 timeout: 90
35 fail: true
36 type: absolute
37 - timestamps
38 - workspace-cleanup
39
40 scm:
41 - git:
42 url: https://github.com/{github_user}/{github_name}.git
43 browser: githubweb
44 browser-url: https://github.com/{github_user}/{github_name}
45 branches:
46 - origin/{version}
47 basedir: src/liburcu
48 skip-tag: true
49
50 triggers:
51 - pollscm:
52 cron: "@hourly"
53
54 properties:
55 - inject:
56 properties-content: |
57 PROJECT_NAME=liburcu
58 - build-discarder:
59 num-to-keep: 2
60 - github:
61 url: https://github.com/{github_user}/{github_name}
62
63
64 ## Anchors
65 - liburcu_matrix_axes_defaults: &liburcu_matrix_axes_defaults
66 name: 'liburcu_matrix_axes_defaults'
67 project-type: matrix
68 node: 'master' # Applies only to matrix flyweight task
69 execution-strategy:
70 touchstone:
71 expr: '{touchstone}'
72 result: unstable
73 axes:
74 - axis:
75 type: slave
76 name: arch
77 values: '{obj:archs}'
78 - axis:
79 type: user-defined
80 name: conf
81 values: '{obj:confs}'
82 - axis:
83 type: user-defined
84 name: build
85 values: '{obj:builds}'
86
87 - liburcu_builders_defaults: &liburcu_builders_defaults
88 name: 'liburcu_builders_defaults'
89 builders:
90 !j2-yaml: |
91 {% if buildtype == 'winbuild' %}
92 - conditional-step:
93 condition-kind: strings-match
94 on-evaluation-failure: run
95 condition-string1: {{ '${{arch}}' }}
96 condition-string2: 'cygwin64'
97 steps:
98 - shell:
99 !include-raw-escape:
100 - scripts/common/cygwin64-shebang
101 - scripts/common/cygpath-prefix
102 - scripts/common/print.sh
103 - scripts/liburcu/build.sh
104 {% else %}
105 - shell:
106 !include-raw-escape:
107 - scripts/common/print.sh
108 - scripts/liburcu/build.sh
109 {% endif %}
110
111 - liburcu_publishers_defaults: &liburcu_publishers_defaults
112 name: 'liburcu_publishers_defaults'
113 publishers:
114 - tap: &liburcu_publisher_tap_defaults
115 results: 'tap/**/*.log'
116 fail-if-no-results: true
117 failed-tests-mark-build-as-failure: true
118 todo-is-failure: false
119 - raw: &liburcu_publisher_warnings-ng_defaults
120 xml: |
121 <io.jenkins.plugins.analysis.core.steps.IssuesRecorder plugin="warnings-ng">
122 <analysisTools>
123 <io.jenkins.plugins.analysis.warnings.Gcc4>
124 <id/>
125 <name/>
126 <jenkins plugin="plugin-util-api"/>
127 <pattern/>
128 <reportEncoding/>
129 <skipSymbolicLinks>false</skipSymbolicLinks>
130 </io.jenkins.plugins.analysis.warnings.Gcc4>
131 <io.jenkins.plugins.analysis.warnings.Clang>
132 <id/>
133 <name/>
134 <jenkins plugin="plugin-util-api"/>
135 <pattern/>
136 <reportEncoding/>
137 <skipSymbolicLinks>false</skipSymbolicLinks>
138 </io.jenkins.plugins.analysis.warnings.Clang>
139 </analysisTools>
140 <sourceCodeEncoding/>
141 <sourceDirectory/>
142 <sourceDirectories/>
143 <ignoreQualityGate>false</ignoreQualityGate>
144 <ignoreFailedBuilds>true</ignoreFailedBuilds>
145 <failOnError>false</failOnError>
146 <healthy>0</healthy>
147 <unhealthy>0</unhealthy>
148 <minimumSeverity plugin="analysis-model-api">
149 <name>LOW</name>
150 </minimumSeverity>
151 <filters/>
152 <isEnabledForFailure>true</isEnabledForFailure>
153 <isAggregatingResults>true</isAggregatingResults>
154 <isBlameDisabled>false</isBlameDisabled>
155 <skipPublishingChecks>true</skipPublishingChecks>
156 <publishAllIssues>false</publishAllIssues>
157 <qualityGates>
158 <io.jenkins.plugins.analysis.core.util.QualityGate>
159 <threshold>1</threshold>
160 <type>TOTAL</type>
161 <status>WARNING</status>
162 </io.jenkins.plugins.analysis.core.util.QualityGate>
163 </qualityGates>
164 <trendChartType>AGGREGATION_TOOLS</trendChartType>
165 <scm/>
166 </io.jenkins.plugins.analysis.core.steps.IssuesRecorder>
167 - archive: &liburcu_publisher_archive_defaults
168 artifacts: 'build/**,tap/**'
169 allow-empty: false
170 - workspace-cleanup: &liburcu_publisher_workspace_cleanup_defaults
171 clean-if:
172 - failure: false
173 - email-ext: &liburcu_publisher_email_ext_defaults
174 recipients: '{obj:email_to}'
175 reply-to: ci-notification@lists.lttng.org
176 always: false
177 unstable: false
178 first-failure: true
179 first-unstable: true
180 not-built: false
181 aborted: false
182 regression: false
183 failure: false
184 second-failure: false
185 improvement: false
186 still-failing: false
187 success: false
188 fixed: false
189 fixed-unhealthy: true
190 still-unstable: false
191 pre-build: false
192 matrix-trigger: only-parent
193 send-to:
194 - recipients
195
196 ## Templates
197 - job-template:
198 name: '{job_prefix}liburcu_{version}_{buildtype}'
199 defaults: liburcu
200
201 <<: *liburcu_matrix_axes_defaults
202 <<: *liburcu_builders_defaults
203 <<: *liburcu_publishers_defaults
204
205 - job-template:
206 name: liburcu_{version}_cppcheck
207 defaults: liburcu
208
209 triggers:
210 - pollscm:
211 cron: "@daily"
212
213 builders:
214 - shell: |
215 rm -f cppcheck-result.xml
216 cppcheck --enable=all --xml --xml-version=2 $WORKSPACE/src/liburcu 2> cppcheck-result.xml
217
218 publishers:
219 - archive:
220 artifacts: 'cppcheck-result.xml'
221 allow-empty: false
222 - cppcheck:
223 pattern: 'cppcheck-result.xml'
224 - workspace-cleanup: *liburcu_publisher_workspace_cleanup_defaults
225 - email-ext: *liburcu_publisher_email_ext_defaults
226
227 - job-template:
228 name: dev_gerrit_liburcu_{buildtype}
229 defaults: liburcu
230 concurrent: true
231
232 scm:
233 - git:
234 url: https://review.lttng.org/userspace-rcu
235 refspec: 'refs/changes/*:refs/changes/*'
236 branches:
237 - '$GERRIT_REFSPEC'
238 basedir: src/liburcu
239 skip-tag: true
240
241 triggers:
242 - gerrit:
243 trigger-on:
244 - comment-added-event:
245 approval-category: 'CI-Build'
246 approval-value: 1
247 projects:
248 - project-compare-type: 'PLAIN'
249 project-pattern: 'userspace-rcu'
250 branches:
251 - branch-compare-type: 'ANT'
252 branch-pattern: '**'
253
254 <<: *liburcu_matrix_axes_defaults
255 <<: *liburcu_builders_defaults
256
257 publishers:
258 - tap: *liburcu_publisher_tap_defaults
259 - raw: *liburcu_publisher_warnings-ng_defaults
260 - workspace-cleanup: *liburcu_publisher_workspace_cleanup_defaults
261
262 - job-template:
263 name: liburcu_{version}_scan-build
264 defaults: liburcu
265 node: 'amd64'
266
267 triggers:
268 - pollscm:
269 cron: "@daily"
270
271 builders:
272 - shell:
273 !include-raw-escape: scripts/common/scan-build.sh
274
275 publishers:
276 - html-publisher:
277 name: 'HTML Report'
278 dir: 'scan-build-archive/'
279 files: 'index.html'
280 - workspace-cleanup: *liburcu_publisher_workspace_cleanup_defaults
281
282 - job-template:
283 name: liburcu_{version}_coverity
284 defaults: liburcu
285 node: 'amd64'
286
287 triggers:
288 - pollscm:
289 cron: "@daily"
290
291 wrappers:
292 - ansicolor: *liburcu_wrapper_ansicolor_defaults
293 - timeout: *liburcu_wrapper_timeout_defaults
294 - timestamps
295 - workspace-cleanup
296 - credentials-binding:
297 - username-password-separated:
298 credential-id: liburcu_coverity_token
299 username: COVERITY_SCAN_PROJECT_NAME
300 password: COVERITY_SCAN_TOKEN
301
302 builders:
303 - shell:
304 !include-raw-escape: scripts/common/coverity.sh
305
306 publishers:
307 - archive:
308 artifacts: 'analysis-results.tgz,cov-int/**'
309 allow-empty: false
310 - workspace-cleanup: *liburcu_publisher_workspace_cleanup_defaults
311
312
313 ## Views
314 - view-template:
315 name: 'Liburcu'
316 view-type: list
317 regex: 'liburcu[-_].*'
318
319
320 ## Projects
321 - project:
322 name: liburcu
323 job_prefix: ''
324 github_user: urcu
325 github_name: userspace-rcu
326 email_to: 'ci-notification@lists.lttng.org, cc:mathieu.desnoyers@efficios.com'
327 version:
328 - stable-0.12
329 - stable-0.13
330 - master
331 jobs:
332 - '{job_prefix}liburcu_{version}_{buildtype}':
333 buildtype: build
334 archs: !!python/tuple [amd64]
335 builds: !!python/tuple [std, oot, dist]
336 confs: !!python/tuple [std, static, tls_fallback, debug-rcu]
337 touchstone: '(build == "std") && (conf == "std")'
338 - '{job_prefix}liburcu_{version}_{buildtype}':
339 buildtype: portbuild
340 archs: !!python/tuple [armhf, arm64, powerpc, ppc64el, i386]
341 builds: !!python/tuple [std]
342 confs: !!python/tuple [std, static, tls_fallback, debug-rcu]
343 touchstone: '(build == "std") && (conf == "std") && (arch == "i386")'
344 - '{job_prefix}liburcu_{version}_{buildtype}':
345 buildtype: slesbuild
346 archs: !!python/tuple [sles12sp5]
347 builds: !!python/tuple [std]
348 confs: !!python/tuple [std]
349 touchstone: '(build == "std")'
350 - '{job_prefix}liburcu_{version}_{buildtype}':
351 buildtype: elbuild
352 archs: !!python/tuple [el7, el8, el9]
353 builds: !!python/tuple [std]
354 confs: !!python/tuple [std]
355 touchstone: '(build == "std")'
356 - '{job_prefix}liburcu_{version}_{buildtype}':
357 buildtype: macosbuild
358 archs: !!python/tuple [macos-amd64, macos-arm64]
359 builds: !!python/tuple [std]
360 confs: !!python/tuple [std]
361 touchstone: '(build == "std")'
362 - '{job_prefix}liburcu_{version}_{buildtype}':
363 buildtype: winbuild
364 archs: !!python/tuple [cygwin64]
365 builds: !!python/tuple [std]
366 confs: !!python/tuple [std]
367 touchstone: '(build == "std")'
368 - '{job_prefix}liburcu_{version}_{buildtype}':
369 buildtype: freebsdbuild
370 archs: !!python/tuple [freebsd]
371 builds: !!python/tuple [std]
372 confs: !!python/tuple [std]
373 touchstone: '(build == "std")'
374 - 'liburcu_{version}_cppcheck'
375 - 'liburcu_{version}_scan-build'
376 - 'liburcu_{version}_coverity':
377 version: master
378
379
380 - project:
381 name: liburcu-dev-upstream
382 job_prefix: 'dev_upstream_'
383 github_user: urcu
384 github_name: userspace-rcu
385 email_to: 'ci-notification@lists.lttng.org, cc:mathieu.desnoyers@efficios.com'
386 version:
387 - stable-0.9
388 - stable-0.10
389 - stable-0.11
390 jobs:
391 - '{job_prefix}liburcu_{version}_{buildtype}':
392 buildtype: build
393 archs: !!python/tuple [amd64]
394 builds: !!python/tuple [std, oot, dist]
395 confs: !!python/tuple [std, static, tls_fallback, debug-rcu]
396 touchstone: '(build == "std") && (conf == "std")'
397 - '{job_prefix}liburcu_{version}_{buildtype}':
398 buildtype: portbuild
399 archs: !!python/tuple [armhf, arm64, powerpc, ppc64el, i386]
400 builds: !!python/tuple [std]
401 confs: !!python/tuple [std, static, tls_fallback, debug-rcu]
402 touchstone: '(build == "std") && (conf == "std") && (arch == "i386")'
403 - '{job_prefix}liburcu_{version}_{buildtype}':
404 buildtype: slesbuild
405 archs: !!python/tuple [sles12sp5]
406 builds: !!python/tuple [std]
407 confs: !!python/tuple [std]
408 touchstone: '(build == "std")'
409 - '{job_prefix}liburcu_{version}_{buildtype}':
410 buildtype: elbuild
411 archs: !!python/tuple [el7, el8, el9]
412 builds: !!python/tuple [std]
413 confs: !!python/tuple [std]
414 touchstone: '(build == "std")'
415
416
417 - project:
418 name: gerrit-liburcu
419 github_user: urcu
420 github_name: userspace-rcu
421 jobs:
422 - 'dev_gerrit_liburcu_{buildtype}':
423 buildtype: build
424 archs: !!python/tuple [amd64]
425 builds: !!python/tuple [std, oot, dist]
426 confs: !!python/tuple [std, static, tls_fallback, debug-rcu]
427 touchstone: '(build == "std")'
428 - 'dev_gerrit_liburcu_{buildtype}':
429 buildtype: portbuild
430 archs: !!python/tuple [armhf, arm64, powerpc, ppc64el, i386]
431 builds: !!python/tuple [std]
432 confs: !!python/tuple [std]
433 touchstone: '(build == "std")'
434
435
436 - project:
437 name: liburcu-views
438 views:
439 - Liburcu
This page took 0.038982 seconds and 5 git commands to generate.