1 # {project}_{version}_{jobtype}
2 # liburcu_stable-0.8_build
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.
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.
26 <p>Job is managed by Jenkins Job Builder.</p>
28 project-type: freestyle
31 - ansicolor: &liburcu_wrapper_ansicolor_defaults
33 - timeout: &liburcu_wrapper_timeout_defaults
42 url: https://github.com/{github_user}/{github_name}.git
44 browser-url: https://github.com/{github_user}/{github_name}
60 artifact-num-to-keep: 2
62 url: https://github.com/{github_user}/{github_name}
66 - liburcu_matrix_axes_defaults: &liburcu_matrix_axes_defaults
67 name: 'liburcu_matrix_axes_defaults'
69 node: 'master' # Applies only to matrix flyweight task
78 values: '{obj:platforms}'
86 values: '{obj:builds}'
88 - liburcu_builders_defaults: &liburcu_builders_defaults
89 name: 'liburcu_builders_defaults'
92 {% if buildtype == 'winbuild' %}
94 condition-kind: strings-match
95 on-evaluation-failure: run
96 condition-string1: {{ '${{platform}}' }}
97 condition-string2: 'cygwin64'
101 - scripts/common/cygwin64-shebang
102 - scripts/common/cygpath-prefix
103 - scripts/common/print.sh
104 - scripts/liburcu/build.sh
108 - scripts/common/print.sh
109 - scripts/liburcu/build.sh
112 - liburcu_publishers_defaults: &liburcu_publishers_defaults
113 name: 'liburcu_publishers_defaults'
115 - tap: &liburcu_publisher_tap_defaults
116 results: 'tap/**/*.log'
117 fail-if-no-results: true
118 failed-tests-mark-build-as-failure: true
119 todo-is-failure: false
120 - raw: &liburcu_publisher_warnings-ng_defaults
122 <io.jenkins.plugins.analysis.core.steps.IssuesRecorder plugin="warnings-ng">
124 <io.jenkins.plugins.analysis.warnings.Gcc4>
127 <jenkins plugin="plugin-util-api"/>
130 <skipSymbolicLinks>false</skipSymbolicLinks>
131 </io.jenkins.plugins.analysis.warnings.Gcc4>
132 <io.jenkins.plugins.analysis.warnings.Clang>
135 <jenkins plugin="plugin-util-api"/>
138 <skipSymbolicLinks>false</skipSymbolicLinks>
139 </io.jenkins.plugins.analysis.warnings.Clang>
141 <sourceCodeEncoding/>
144 <ignoreQualityGate>false</ignoreQualityGate>
145 <ignoreFailedBuilds>true</ignoreFailedBuilds>
146 <failOnError>false</failOnError>
148 <unhealthy>0</unhealthy>
149 <minimumSeverity plugin="analysis-model-api">
153 <isEnabledForFailure>true</isEnabledForFailure>
154 <isAggregatingResults>true</isAggregatingResults>
155 <isBlameDisabled>false</isBlameDisabled>
156 <skipPublishingChecks>true</skipPublishingChecks>
157 <publishAllIssues>false</publishAllIssues>
159 <io.jenkins.plugins.analysis.core.util.QualityGate>
160 <threshold>1</threshold>
162 <status>WARNING</status>
163 </io.jenkins.plugins.analysis.core.util.QualityGate>
165 <trendChartType>AGGREGATION_TOOLS</trendChartType>
167 </io.jenkins.plugins.analysis.core.steps.IssuesRecorder>
168 - archive: &liburcu_publisher_archive_defaults
169 artifacts: 'build/**,tap/**'
171 - workspace-cleanup: &liburcu_publisher_workspace_cleanup_defaults
174 - email-ext: &liburcu_publisher_email_ext_defaults
175 recipients: '{obj:email_to}'
176 reply-to: ci-notification@lists.lttng.org
185 second-failure: false
190 fixed-unhealthy: true
191 still-unstable: false
193 matrix-trigger: only-parent
199 name: '{job_prefix}liburcu_{version}_{buildtype}'
202 <<: *liburcu_matrix_axes_defaults
203 <<: *liburcu_builders_defaults
204 <<: *liburcu_publishers_defaults
207 name: liburcu_{version}_cppcheck
216 rm -f cppcheck-result.xml
217 cppcheck --enable=all --xml --xml-version=2 $WORKSPACE/src/liburcu 2> cppcheck-result.xml
221 artifacts: 'cppcheck-result.xml'
224 pattern: 'cppcheck-result.xml'
225 - workspace-cleanup: *liburcu_publisher_workspace_cleanup_defaults
226 - email-ext: *liburcu_publisher_email_ext_defaults
229 name: dev_gerrit_liburcu_{buildtype}
235 url: https://review.lttng.org/userspace-rcu
236 refspec: 'refs/changes/*:refs/changes/*'
245 - comment-added-event:
246 approval-category: 'CI-Build'
249 - project-compare-type: 'PLAIN'
250 project-pattern: 'userspace-rcu'
252 - branch-compare-type: 'ANT'
255 <<: *liburcu_matrix_axes_defaults
256 <<: *liburcu_builders_defaults
259 - tap: *liburcu_publisher_tap_defaults
260 - raw: *liburcu_publisher_warnings-ng_defaults
261 - workspace-cleanup: *liburcu_publisher_workspace_cleanup_defaults
264 name: liburcu_{version}_scan-build
274 !include-raw-escape: scripts/common/scan-build.sh
279 dir: 'scan-build-archive/'
281 - workspace-cleanup: *liburcu_publisher_workspace_cleanup_defaults
284 name: liburcu_{version}_coverity
293 - ansicolor: *liburcu_wrapper_ansicolor_defaults
294 - timeout: *liburcu_wrapper_timeout_defaults
297 - credentials-binding:
298 - username-password-separated:
299 credential-id: liburcu_coverity_token
300 username: COVERITY_SCAN_PROJECT_NAME
301 password: COVERITY_SCAN_TOKEN
305 !include-raw-escape: scripts/common/coverity.sh
309 artifacts: 'analysis-results.tgz,cov-int/**'
311 - workspace-cleanup: *liburcu_publisher_workspace_cleanup_defaults
318 regex: 'liburcu[-_].*'
326 github_name: userspace-rcu
327 email_to: 'ci-notification@lists.lttng.org, cc:mathieu.desnoyers@efficios.com'
333 - '{job_prefix}liburcu_{version}_{buildtype}':
334 buildtype: linuxbuild
335 platforms: !!python/tuple [jammy-amd64]
336 builds: !!python/tuple [std, oot, dist]
337 confs: !!python/tuple [std, static, tls_fallback, debug-rcu]
338 touchstone: '(build == "std") && (conf == "std")'
339 - '{job_prefix}liburcu_{version}_{buildtype}':
341 platforms: !!python/tuple [bionic-amd64]
342 builds: !!python/tuple [std, oot, dist]
343 confs: !!python/tuple [std, static, tls_fallback, debug-rcu]
344 touchstone: '(build == "std") && (conf == "std")'
345 - '{job_prefix}liburcu_{version}_{buildtype}':
347 platforms: !!python/tuple [deb11-armhf, deb11-arm64, sid-powerpc, deb11-ppc64el, deb11-i386]
348 builds: !!python/tuple [std]
349 confs: !!python/tuple [std, static, tls_fallback, debug-rcu]
350 touchstone: '(build == "std") && (conf == "std") && (platform == "deb11-i386")'
351 - '{job_prefix}liburcu_{version}_{buildtype}':
353 platforms: !!python/tuple [sles12sp5-amd64]
354 builds: !!python/tuple [std]
355 confs: !!python/tuple [std]
356 touchstone: '(build == "std")'
357 - '{job_prefix}liburcu_{version}_{buildtype}':
359 platforms: !!python/tuple [el7-amd64, el8-amd64, el9-amd64]
360 builds: !!python/tuple [std]
361 confs: !!python/tuple [std]
362 touchstone: '(build == "std")'
363 - '{job_prefix}liburcu_{version}_{buildtype}':
364 buildtype: macosbuild
365 platforms: !!python/tuple [macos-amd64, macos-arm64]
366 builds: !!python/tuple [std]
367 confs: !!python/tuple [std]
368 touchstone: '(build == "std")'
369 - '{job_prefix}liburcu_{version}_{buildtype}':
371 platforms: !!python/tuple [cygwin64]
372 builds: !!python/tuple [std]
373 confs: !!python/tuple [std]
374 touchstone: '(build == "std")'
375 - '{job_prefix}liburcu_{version}_{buildtype}':
376 buildtype: freebsdbuild
377 platforms: !!python/tuple [freebsd-amd64]
378 builds: !!python/tuple [std]
379 confs: !!python/tuple [std]
380 touchstone: '(build == "std")'
381 - 'liburcu_{version}_cppcheck'
382 - 'liburcu_{version}_scan-build'
383 - 'liburcu_{version}_coverity':
388 name: liburcu-dev-upstream
389 job_prefix: 'dev_upstream_'
391 github_name: userspace-rcu
392 email_to: 'ci-notification@lists.lttng.org, cc:mathieu.desnoyers@efficios.com'
398 - '{job_prefix}liburcu_{version}_{buildtype}':
399 buildtype: linuxbuild
400 platforms: !!python/tuple [jammy-amd64]
401 builds: !!python/tuple [std, oot, dist]
402 confs: !!python/tuple [std, static, tls_fallback, debug-rcu]
403 touchstone: '(build == "std") && (conf == "std")'
404 - '{job_prefix}liburcu_{version}_{buildtype}':
406 platforms: !!python/tuple [deb11-armhf, deb11-arm64, sid-powerpc, deb11-ppc64el, deb11-i386]
407 builds: !!python/tuple [std]
408 confs: !!python/tuple [std, static, tls_fallback, debug-rcu]
409 touchstone: '(build == "std") && (conf == "std") && (platform == "deb11-i386")'
410 - '{job_prefix}liburcu_{version}_{buildtype}':
412 platforms: !!python/tuple [sles12sp5-amd64]
413 builds: !!python/tuple [std]
414 confs: !!python/tuple [std]
415 touchstone: '(build == "std")'
416 - '{job_prefix}liburcu_{version}_{buildtype}':
418 platforms: !!python/tuple [el7-amd64, el8-amd64, el9-amd64]
419 builds: !!python/tuple [std]
420 confs: !!python/tuple [std]
421 touchstone: '(build == "std")'
427 github_name: userspace-rcu
429 - 'dev_gerrit_liburcu_{buildtype}':
431 platforms: !!python/tuple [bionic-amd64]
432 builds: !!python/tuple [std, oot, dist]
433 confs: !!python/tuple [std, static, tls_fallback, debug-rcu]
434 touchstone: '(build == "std")'
435 - 'dev_gerrit_liburcu_{buildtype}':
437 platforms: !!python/tuple [deb11-armhf, deb11-arm64, sid-powerpc, deb11-ppc64el, deb11-i386]
438 builds: !!python/tuple [std]
439 confs: !!python/tuple [std]
440 touchstone: '(build == "std")'
441 - 'dev_gerrit_liburcu_{buildtype}':
443 platforms: !!python/tuple [cygwin64]
444 builds: !!python/tuple [std]
445 confs: !!python/tuple [std]