jjb: lttng-tools/babeltrace: smokebuild proof-of-concept
[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/**'
e3022ad9 163 allow-empty: false
d954b6a8
MJ
164 - workspace-cleanup: &liburcu_publisher_workspace_cleanup_defaults
165 clean-if:
166 - failure: false
ee4b760a
MJ
167 - ircbot: &liburcu_publisher_ircbot_defaults
168 strategy: statechange-only
169 message-type: summary-scm
170 matrix-notifier: only-configurations
d954b6a8 171 - email-ext: &liburcu_publisher_email_ext_defaults
092af1e4
JR
172 recipients: '{obj:email_to}'
173 reply-to: ci-notification@lists.lttng.org
174 always: false
175 unstable: false
176 first-failure: true
177 first-unstable: true
178 not-built: false
179 aborted: false
180 regression: false
181 failure: false
182 second-failure: false
183 improvement: false
184 still-failing: false
185 success: false
186 fixed: false
187 fixed-unhealthy: true
188 still-unstable: false
189 pre-build: false
190 matrix-trigger: only-parent
191 send-to:
192 - recipients
dfc19a66
MJ
193
194## Templates
24b12170 195- job-template:
c3843719 196 name: '{job_prefix}liburcu_{version}_{buildtype}'
24b12170
MJ
197 defaults: liburcu
198
d954b6a8
MJ
199 <<: *liburcu_matrix_axes_defaults
200 <<: *liburcu_builders_defaults
201 <<: *liburcu_publishers_defaults
24b12170 202
33b3de03 203- job-template:
348e2acb 204 name: dev_review_liburcu_{version}_{buildtype}
33b3de03
MJ
205 defaults: liburcu
206 concurrent: true
207
208 scm:
209 - git:
210 url: https://review.lttng.org/userspace-rcu
211 refspec: 'refs/changes/*:refs/changes/*'
212 branches:
213 - '$GERRIT_REFSPEC'
214 basedir: src/liburcu
215 skip-tag: true
216
217 triggers:
218 - gerrit:
219 trigger-on:
220 - comment-added-event:
221 approval-category: 'CI-Build'
222 approval-value: 1
223 projects:
224 - project-compare-type: 'PLAIN'
225 project-pattern: 'userspace-rcu'
226 branches:
348e2acb
MJ
227 - branch-compare-type: 'PLAIN'
228 branch-pattern: '{version}'
229
230 properties:
231 - inject:
232 properties-content: |
233 PROJECT_NAME=liburcu
234 - build-discarder:
235 days-to-keep: 1
236 - throttle:
237 option: 'category'
238 categories:
239 - 'gerrit-{buildtype}'
33b3de03 240
d954b6a8
MJ
241 <<: *liburcu_matrix_axes_defaults
242 <<: *liburcu_builders_defaults
33b3de03
MJ
243
244 publishers:
d954b6a8
MJ
245 - tap: *liburcu_publisher_tap_defaults
246 - raw: *liburcu_publisher_warnings-ng_defaults
247 - workspace-cleanup: *liburcu_publisher_workspace_cleanup_defaults
33b3de03 248
e3022ad9
MJ
249- job-template:
250 name: liburcu_{version}_scan-build
251 defaults: liburcu
1794bc79 252 node: 'bionic-amd64'
e3022ad9
MJ
253
254 triggers:
e8078c79
MJ
255 - pollscm:
256 cron: "@daily"
e3022ad9
MJ
257
258 builders:
259 - shell:
69f05d59 260 !include-raw-escape: scripts/common/scan-build.sh
e3022ad9
MJ
261
262 publishers:
263 - html-publisher:
264 name: 'HTML Report'
265 dir: 'scan-build-archive/'
266 files: 'index.html'
d954b6a8 267 - workspace-cleanup: *liburcu_publisher_workspace_cleanup_defaults
ee4b760a 268 - ircbot: *liburcu_publisher_ircbot_defaults
e3022ad9 269
e8078c79
MJ
270- job-template:
271 name: liburcu_{version}_coverity
272 defaults: liburcu
1794bc79 273 node: 'bionic-amd64'
e8078c79
MJ
274
275 triggers:
276 - pollscm:
277 cron: "@daily"
278
279 wrappers:
d954b6a8
MJ
280 - ansicolor: *liburcu_wrapper_ansicolor_defaults
281 - timeout: *liburcu_wrapper_timeout_defaults
e8078c79 282 - timestamps
d954b6a8 283 - workspace-cleanup
e8078c79
MJ
284 - credentials-binding:
285 - username-password-separated:
286 credential-id: liburcu_coverity_token
287 username: COVERITY_SCAN_PROJECT_NAME
288 password: COVERITY_SCAN_TOKEN
289
290 builders:
291 - shell:
ef63064f 292 !include-raw-escape: scripts/common/coverity.sh
e8078c79
MJ
293
294 publishers:
6d35c326
MJ
295 - archive:
296 artifacts: 'analysis-results.tgz,cov-int/**'
297 allow-empty: false
d954b6a8 298 - workspace-cleanup: *liburcu_publisher_workspace_cleanup_defaults
ee4b760a 299 - ircbot: *liburcu_publisher_ircbot_defaults
e3022ad9
MJ
300
301
69d7af71
MJ
302## Views
303- view-template:
304 name: 'Liburcu'
305 view-type: list
306 regex: 'liburcu[-_].*'
307
308
309## Projects
e3022ad9
MJ
310- project:
311 name: liburcu
d954b6a8 312 job_prefix: ''
51ca880a
MJ
313 github_user: urcu
314 github_name: userspace-rcu
092af1e4 315 email_to: 'ci-notification@lists.lttng.org, cc:mathieu.desnoyers@efficios.com'
e3022ad9 316 version:
d456a285 317 - stable-0.13
4eb59cd0 318 - stable-0.14
dfc19a66 319 - master
e3022ad9 320 jobs:
1794bc79
MJ
321 - '{job_prefix}liburcu_{version}_{buildtype}':
322 buildtype: linuxbuild
323 platforms: !!python/tuple [jammy-amd64]
324 builds: !!python/tuple [std, oot, dist]
325 confs: !!python/tuple [std, static, tls_fallback, debug-rcu]
326 touchstone: '(build == "std") && (conf == "std")'
d954b6a8 327 - '{job_prefix}liburcu_{version}_{buildtype}':
57ae8ff4 328 buildtype: build
1794bc79 329 platforms: !!python/tuple [bionic-amd64]
d954b6a8
MJ
330 builds: !!python/tuple [std, oot, dist]
331 confs: !!python/tuple [std, static, tls_fallback, debug-rcu]
332 touchstone: '(build == "std") && (conf == "std")'
333 - '{job_prefix}liburcu_{version}_{buildtype}':
57ae8ff4 334 buildtype: portbuild
0ecb7652 335 platforms: !!python/tuple [deb11-armhf, deb11-arm64, deb11-ppc64el, deb11-i386]
d954b6a8
MJ
336 builds: !!python/tuple [std]
337 confs: !!python/tuple [std, static, tls_fallback, debug-rcu]
1794bc79 338 touchstone: '(build == "std") && (conf == "std") && (platform == "deb11-i386")'
d954b6a8 339 - '{job_prefix}liburcu_{version}_{buildtype}':
81bf613d 340 buildtype: slesbuild
f3c8d88c 341 platforms: !!python/tuple [sles12sp5-amd64, sles15sp4-amd64]
d954b6a8
MJ
342 builds: !!python/tuple [std]
343 confs: !!python/tuple [std]
344 touchstone: '(build == "std")'
345 - '{job_prefix}liburcu_{version}_{buildtype}':
568b5cbd 346 buildtype: elbuild
1794bc79 347 platforms: !!python/tuple [el7-amd64, el8-amd64, el9-amd64]
d954b6a8
MJ
348 builds: !!python/tuple [std]
349 confs: !!python/tuple [std]
350 touchstone: '(build == "std")'
6871000c
MJ
351 - '{job_prefix}liburcu_{version}_{buildtype}':
352 buildtype: yoctobuild
353 platforms: !!python/tuple [yocto23-powerpcspe, yocto23-powerpc, yocto31-ppc64]
354 builds: !!python/tuple [std]
355 confs: !!python/tuple [std]
356 touchstone: '(build == "std")'
d954b6a8 357 - '{job_prefix}liburcu_{version}_{buildtype}':
f0d7e5b1 358 buildtype: macosbuild
1794bc79 359 platforms: !!python/tuple [macos-amd64, macos-arm64]
d954b6a8
MJ
360 builds: !!python/tuple [std]
361 confs: !!python/tuple [std]
362 touchstone: '(build == "std")'
363 - '{job_prefix}liburcu_{version}_{buildtype}':
364 buildtype: winbuild
1794bc79 365 platforms: !!python/tuple [cygwin64]
d954b6a8
MJ
366 builds: !!python/tuple [std]
367 confs: !!python/tuple [std]
368 touchstone: '(build == "std")'
369 - '{job_prefix}liburcu_{version}_{buildtype}':
6ad0e7e6 370 buildtype: freebsdbuild
1794bc79 371 platforms: !!python/tuple [freebsd-amd64]
d954b6a8
MJ
372 builds: !!python/tuple [std]
373 confs: !!python/tuple [std]
374 touchstone: '(build == "std")'
e3022ad9 375 - 'liburcu_{version}_scan-build'
e8078c79
MJ
376 - 'liburcu_{version}_coverity':
377 version: master
e3022ad9 378
24b12170
MJ
379
380- project:
381 name: liburcu-dev-upstream
c3843719 382 job_prefix: 'dev_upstream_'
24b12170
MJ
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
60c689e8 390 - stable-0.12
24b12170 391 jobs:
c3843719 392 - '{job_prefix}liburcu_{version}_{buildtype}':
1794bc79
MJ
393 buildtype: linuxbuild
394 platforms: !!python/tuple [jammy-amd64]
d954b6a8
MJ
395 builds: !!python/tuple [std, oot, dist]
396 confs: !!python/tuple [std, static, tls_fallback, debug-rcu]
397 touchstone: '(build == "std") && (conf == "std")'
c3843719 398 - '{job_prefix}liburcu_{version}_{buildtype}':
24b12170 399 buildtype: portbuild
0ecb7652 400 platforms: !!python/tuple [deb11-armhf, deb11-arm64, deb11-ppc64el, deb11-i386]
d954b6a8
MJ
401 builds: !!python/tuple [std]
402 confs: !!python/tuple [std, static, tls_fallback, debug-rcu]
1794bc79 403 touchstone: '(build == "std") && (conf == "std") && (platform == "deb11-i386")'
c3843719 404 - '{job_prefix}liburcu_{version}_{buildtype}':
24b12170 405 buildtype: slesbuild
f3c8d88c 406 platforms: !!python/tuple [sles12sp5-amd64, sles15sp4-amd64]
d954b6a8
MJ
407 builds: !!python/tuple [std]
408 confs: !!python/tuple [std]
409 touchstone: '(build == "std")'
c3843719 410 - '{job_prefix}liburcu_{version}_{buildtype}':
24b12170 411 buildtype: elbuild
1794bc79 412 platforms: !!python/tuple [el7-amd64, el8-amd64, el9-amd64]
d954b6a8
MJ
413 builds: !!python/tuple [std]
414 confs: !!python/tuple [std]
415 touchstone: '(build == "std")'
24b12170
MJ
416
417
33b3de03 418- project:
348e2acb 419 name: review-liburcu
33b3de03
MJ
420 github_user: urcu
421 github_name: userspace-rcu
348e2acb
MJ
422 version:
423 - stable-0.13
424 - stable-0.14
425 - master
33b3de03 426 jobs:
348e2acb 427 - 'dev_review_liburcu_{version}_{buildtype}':
33b3de03 428 buildtype: build
1794bc79 429 platforms: !!python/tuple [bionic-amd64]
d954b6a8
MJ
430 builds: !!python/tuple [std, oot, dist]
431 confs: !!python/tuple [std, static, tls_fallback, debug-rcu]
432 touchstone: '(build == "std")'
348e2acb 433 - 'dev_review_liburcu_{version}_{buildtype}':
33b3de03 434 buildtype: portbuild
0ecb7652 435 platforms: !!python/tuple [deb11-armhf, deb11-arm64, deb11-ppc64el, deb11-i386]
d954b6a8
MJ
436 builds: !!python/tuple [std]
437 confs: !!python/tuple [std]
348e2acb
MJ
438 touchstone: ''
439 - 'dev_review_liburcu_{version}_{buildtype}':
4d0b24c4
MJ
440 buildtype: winbuild
441 platforms: !!python/tuple [cygwin64]
442 builds: !!python/tuple [std]
443 confs: !!python/tuple [std]
444 touchstone: ''
33b3de03 445
24b12170 446
69d7af71
MJ
447- project:
448 name: liburcu-views
449 views:
450 - Liburcu
This page took 0.051714 seconds and 4 git commands to generate.