jjb: babeltrace: split gerrit jobs by branch
[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
d954b6a8
MJ
65- liburcu_matrix_axes_defaults: &liburcu_matrix_axes_defaults
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
d954b6a8
MJ
87- liburcu_builders_defaults: &liburcu_builders_defaults
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
d954b6a8
MJ
111- liburcu_publishers_defaults: &liburcu_publishers_defaults
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
MJ
203- job-template:
204 name: dev_gerrit_liburcu_{buildtype}
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:
227 - branch-compare-type: 'ANT'
228 branch-pattern: '**'
229
d954b6a8
MJ
230 <<: *liburcu_matrix_axes_defaults
231 <<: *liburcu_builders_defaults
33b3de03
MJ
232
233 publishers:
d954b6a8
MJ
234 - tap: *liburcu_publisher_tap_defaults
235 - raw: *liburcu_publisher_warnings-ng_defaults
236 - workspace-cleanup: *liburcu_publisher_workspace_cleanup_defaults
33b3de03 237
e3022ad9
MJ
238- job-template:
239 name: liburcu_{version}_scan-build
240 defaults: liburcu
1794bc79 241 node: 'bionic-amd64'
e3022ad9
MJ
242
243 triggers:
e8078c79
MJ
244 - pollscm:
245 cron: "@daily"
e3022ad9
MJ
246
247 builders:
248 - shell:
69f05d59 249 !include-raw-escape: scripts/common/scan-build.sh
e3022ad9
MJ
250
251 publishers:
252 - html-publisher:
253 name: 'HTML Report'
254 dir: 'scan-build-archive/'
255 files: 'index.html'
d954b6a8 256 - workspace-cleanup: *liburcu_publisher_workspace_cleanup_defaults
ee4b760a 257 - ircbot: *liburcu_publisher_ircbot_defaults
e3022ad9 258
e8078c79
MJ
259- job-template:
260 name: liburcu_{version}_coverity
261 defaults: liburcu
1794bc79 262 node: 'bionic-amd64'
e8078c79
MJ
263
264 triggers:
265 - pollscm:
266 cron: "@daily"
267
268 wrappers:
d954b6a8
MJ
269 - ansicolor: *liburcu_wrapper_ansicolor_defaults
270 - timeout: *liburcu_wrapper_timeout_defaults
e8078c79 271 - timestamps
d954b6a8 272 - workspace-cleanup
e8078c79
MJ
273 - credentials-binding:
274 - username-password-separated:
275 credential-id: liburcu_coverity_token
276 username: COVERITY_SCAN_PROJECT_NAME
277 password: COVERITY_SCAN_TOKEN
278
279 builders:
280 - shell:
ef63064f 281 !include-raw-escape: scripts/common/coverity.sh
e8078c79
MJ
282
283 publishers:
6d35c326
MJ
284 - archive:
285 artifacts: 'analysis-results.tgz,cov-int/**'
286 allow-empty: false
d954b6a8 287 - workspace-cleanup: *liburcu_publisher_workspace_cleanup_defaults
ee4b760a 288 - ircbot: *liburcu_publisher_ircbot_defaults
e3022ad9
MJ
289
290
69d7af71
MJ
291## Views
292- view-template:
293 name: 'Liburcu'
294 view-type: list
295 regex: 'liburcu[-_].*'
296
297
298## Projects
e3022ad9
MJ
299- project:
300 name: liburcu
d954b6a8 301 job_prefix: ''
51ca880a
MJ
302 github_user: urcu
303 github_name: userspace-rcu
092af1e4 304 email_to: 'ci-notification@lists.lttng.org, cc:mathieu.desnoyers@efficios.com'
e3022ad9 305 version:
d456a285 306 - stable-0.13
4eb59cd0 307 - stable-0.14
dfc19a66 308 - master
e3022ad9 309 jobs:
1794bc79
MJ
310 - '{job_prefix}liburcu_{version}_{buildtype}':
311 buildtype: linuxbuild
312 platforms: !!python/tuple [jammy-amd64]
313 builds: !!python/tuple [std, oot, dist]
314 confs: !!python/tuple [std, static, tls_fallback, debug-rcu]
315 touchstone: '(build == "std") && (conf == "std")'
d954b6a8 316 - '{job_prefix}liburcu_{version}_{buildtype}':
57ae8ff4 317 buildtype: build
1794bc79 318 platforms: !!python/tuple [bionic-amd64]
d954b6a8
MJ
319 builds: !!python/tuple [std, oot, dist]
320 confs: !!python/tuple [std, static, tls_fallback, debug-rcu]
321 touchstone: '(build == "std") && (conf == "std")'
322 - '{job_prefix}liburcu_{version}_{buildtype}':
57ae8ff4 323 buildtype: portbuild
0ecb7652 324 platforms: !!python/tuple [deb11-armhf, deb11-arm64, deb11-ppc64el, deb11-i386]
d954b6a8
MJ
325 builds: !!python/tuple [std]
326 confs: !!python/tuple [std, static, tls_fallback, debug-rcu]
1794bc79 327 touchstone: '(build == "std") && (conf == "std") && (platform == "deb11-i386")'
d954b6a8 328 - '{job_prefix}liburcu_{version}_{buildtype}':
81bf613d 329 buildtype: slesbuild
f3c8d88c 330 platforms: !!python/tuple [sles12sp5-amd64, sles15sp4-amd64]
d954b6a8
MJ
331 builds: !!python/tuple [std]
332 confs: !!python/tuple [std]
333 touchstone: '(build == "std")'
334 - '{job_prefix}liburcu_{version}_{buildtype}':
568b5cbd 335 buildtype: elbuild
1794bc79 336 platforms: !!python/tuple [el7-amd64, el8-amd64, el9-amd64]
d954b6a8
MJ
337 builds: !!python/tuple [std]
338 confs: !!python/tuple [std]
339 touchstone: '(build == "std")'
6871000c
MJ
340 - '{job_prefix}liburcu_{version}_{buildtype}':
341 buildtype: yoctobuild
342 platforms: !!python/tuple [yocto23-powerpcspe, yocto23-powerpc, yocto31-ppc64]
343 builds: !!python/tuple [std]
344 confs: !!python/tuple [std]
345 touchstone: '(build == "std")'
d954b6a8 346 - '{job_prefix}liburcu_{version}_{buildtype}':
f0d7e5b1 347 buildtype: macosbuild
1794bc79 348 platforms: !!python/tuple [macos-amd64, macos-arm64]
d954b6a8
MJ
349 builds: !!python/tuple [std]
350 confs: !!python/tuple [std]
351 touchstone: '(build == "std")'
352 - '{job_prefix}liburcu_{version}_{buildtype}':
353 buildtype: winbuild
1794bc79 354 platforms: !!python/tuple [cygwin64]
d954b6a8
MJ
355 builds: !!python/tuple [std]
356 confs: !!python/tuple [std]
357 touchstone: '(build == "std")'
358 - '{job_prefix}liburcu_{version}_{buildtype}':
6ad0e7e6 359 buildtype: freebsdbuild
1794bc79 360 platforms: !!python/tuple [freebsd-amd64]
d954b6a8
MJ
361 builds: !!python/tuple [std]
362 confs: !!python/tuple [std]
363 touchstone: '(build == "std")'
e3022ad9 364 - 'liburcu_{version}_scan-build'
e8078c79
MJ
365 - 'liburcu_{version}_coverity':
366 version: master
e3022ad9 367
24b12170
MJ
368
369- project:
370 name: liburcu-dev-upstream
c3843719 371 job_prefix: 'dev_upstream_'
24b12170
MJ
372 github_user: urcu
373 github_name: userspace-rcu
374 email_to: 'ci-notification@lists.lttng.org, cc:mathieu.desnoyers@efficios.com'
375 version:
376 - stable-0.9
377 - stable-0.10
378 - stable-0.11
60c689e8 379 - stable-0.12
24b12170 380 jobs:
c3843719 381 - '{job_prefix}liburcu_{version}_{buildtype}':
1794bc79
MJ
382 buildtype: linuxbuild
383 platforms: !!python/tuple [jammy-amd64]
d954b6a8
MJ
384 builds: !!python/tuple [std, oot, dist]
385 confs: !!python/tuple [std, static, tls_fallback, debug-rcu]
386 touchstone: '(build == "std") && (conf == "std")'
c3843719 387 - '{job_prefix}liburcu_{version}_{buildtype}':
24b12170 388 buildtype: portbuild
0ecb7652 389 platforms: !!python/tuple [deb11-armhf, deb11-arm64, deb11-ppc64el, deb11-i386]
d954b6a8
MJ
390 builds: !!python/tuple [std]
391 confs: !!python/tuple [std, static, tls_fallback, debug-rcu]
1794bc79 392 touchstone: '(build == "std") && (conf == "std") && (platform == "deb11-i386")'
c3843719 393 - '{job_prefix}liburcu_{version}_{buildtype}':
24b12170 394 buildtype: slesbuild
f3c8d88c 395 platforms: !!python/tuple [sles12sp5-amd64, sles15sp4-amd64]
d954b6a8
MJ
396 builds: !!python/tuple [std]
397 confs: !!python/tuple [std]
398 touchstone: '(build == "std")'
c3843719 399 - '{job_prefix}liburcu_{version}_{buildtype}':
24b12170 400 buildtype: elbuild
1794bc79 401 platforms: !!python/tuple [el7-amd64, el8-amd64, el9-amd64]
d954b6a8
MJ
402 builds: !!python/tuple [std]
403 confs: !!python/tuple [std]
404 touchstone: '(build == "std")'
24b12170
MJ
405
406
33b3de03
MJ
407- project:
408 name: gerrit-liburcu
409 github_user: urcu
410 github_name: userspace-rcu
411 jobs:
412 - 'dev_gerrit_liburcu_{buildtype}':
413 buildtype: build
1794bc79 414 platforms: !!python/tuple [bionic-amd64]
d954b6a8
MJ
415 builds: !!python/tuple [std, oot, dist]
416 confs: !!python/tuple [std, static, tls_fallback, debug-rcu]
417 touchstone: '(build == "std")'
33b3de03
MJ
418 - 'dev_gerrit_liburcu_{buildtype}':
419 buildtype: portbuild
0ecb7652 420 platforms: !!python/tuple [deb11-armhf, deb11-arm64, deb11-ppc64el, deb11-i386]
d954b6a8
MJ
421 builds: !!python/tuple [std]
422 confs: !!python/tuple [std]
423 touchstone: '(build == "std")'
4d0b24c4
MJ
424 - 'dev_gerrit_liburcu_{buildtype}':
425 buildtype: winbuild
426 platforms: !!python/tuple [cygwin64]
427 builds: !!python/tuple [std]
428 confs: !!python/tuple [std]
429 touchstone: ''
33b3de03 430
24b12170 431
69d7af71
MJ
432- project:
433 name: liburcu-views
434 views:
435 - Liburcu
This page took 0.053435 seconds and 4 git commands to generate.