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