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