490ada6f0433569aa4c7f8722ba6524cdf07c3cc
[lttng-ci.git] / jobs / liburcu.yaml
1 # {project}_{version}_{jobtype}
2 # liburcu_stable-0.8_build
3 #
4 # jobtypes:
5 # - build
6 # - portbuild
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
29 wrappers:
30 - ansicolor: &liburcu_wrapper_ansicolor_defaults
31 colormap: xterm
32 - timeout: &liburcu_wrapper_timeout_defaults
33 timeout: 90
34 fail: true
35 type: absolute
36 - timestamps
37 - workspace-cleanup
38
39 scm:
40 - git:
41 url: https://github.com/{github_user}/{github_name}.git
42 browser: githubweb
43 browser-url: https://github.com/{github_user}/{github_name}
44 branches:
45 - origin/{version}
46 basedir: src/liburcu
47 skip-tag: true
48
49 triggers:
50 - pollscm:
51 cron: "@hourly"
52
53 properties:
54 - inject:
55 properties-content: |
56 PROJECT_NAME=liburcu
57 - build-discarder:
58 num-to-keep: 10
59 artifact-num-to-keep: 2
60 - github:
61 url: https://github.com/{github_user}/{github_name}
62
63
64 ## Anchors
65 - _liburcu_matrix_axes_defaults: &liburcu_matrix_axes_defaults
66 name: 'liburcu_matrix_axes_defaults'
67 project-type: matrix
68 node: 'master' # Applies only to matrix flyweight task
69 execution-strategy:
70 touchstone:
71 expr: '{touchstone}'
72 result: unstable
73 axes:
74 - axis:
75 type: slave
76 name: platform
77 values: '{obj:platforms}'
78 - axis:
79 type: user-defined
80 name: conf
81 values: '{obj:confs}'
82 - axis:
83 type: user-defined
84 name: build
85 values: '{obj:builds}'
86
87 - _liburcu_builders_defaults: &liburcu_builders_defaults
88 name: 'liburcu_builders_defaults'
89 builders:
90 !j2-yaml: |
91 {% if buildtype == 'winbuild' %}
92 - conditional-step:
93 condition-kind: strings-match
94 on-evaluation-failure: run
95 condition-string1: {{ '${{platform}}' }}
96 condition-string2: 'cygwin64'
97 steps:
98 - shell:
99 !include-raw-escape:
100 - scripts/common/cygwin64-shebang
101 - scripts/common/cygpath-prefix
102 - scripts/common/print.sh
103 - scripts/liburcu/build.sh
104 {% else %}
105 - shell:
106 !include-raw-escape:
107 - scripts/common/print.sh
108 - scripts/liburcu/build.sh
109 {% endif %}
110
111 - _liburcu_publishers_defaults: &liburcu_publishers_defaults
112 name: 'liburcu_publishers_defaults'
113 publishers:
114 - tap: &liburcu_publisher_tap_defaults
115 results: 'tap/**/*.log'
116 fail-if-no-results: true
117 failed-tests-mark-build-as-failure: true
118 include-comment-diagnostics: true
119 output-tap-to-console: false
120 todo-is-failure: false
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>
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
162 artifacts: 'build/**,tap/**,log/**'
163 follow-symlinks: true
164 allow-empty: false
165 - workspace-cleanup: &liburcu_publisher_workspace_cleanup_defaults
166 clean-if:
167 - failure: false
168 - ircbot: &liburcu_publisher_ircbot_defaults
169 strategy: statechange-only
170 message-type: summary
171 matrix-notifier: only-parent
172 - email-ext: &liburcu_publisher_email_ext_defaults
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
194
195 ## Templates
196 - job-template:
197 name: '{job_prefix}liburcu_{version}_{buildtype}'
198 defaults: liburcu
199
200 <<: *liburcu_matrix_axes_defaults
201 <<: *liburcu_builders_defaults
202 <<: *liburcu_publishers_defaults
203
204 - job-template:
205 name: dev_review_liburcu_{version}_{buildtype}
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:
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}'
241
242 <<: *liburcu_matrix_axes_defaults
243 <<: *liburcu_builders_defaults
244
245 publishers:
246 - tap: *liburcu_publisher_tap_defaults
247 - raw: *liburcu_publisher_warnings-ng_defaults
248 - workspace-cleanup: *liburcu_publisher_workspace_cleanup_defaults
249
250 - job-template:
251 name: liburcu_{version}_scan-build
252 defaults: liburcu
253 node: 'deb12-amd64'
254
255 triggers:
256 - pollscm:
257 cron: "@daily"
258
259 builders:
260 - shell:
261 !include-raw-escape: scripts/common/scan-build.sh
262
263 publishers:
264 - html-publisher:
265 name: 'HTML Report'
266 dir: 'scan-build-archive/'
267 files: 'index.html'
268 - workspace-cleanup: *liburcu_publisher_workspace_cleanup_defaults
269 - ircbot: *liburcu_publisher_ircbot_defaults
270
271 - job-template:
272 name: liburcu_{version}_coverity
273 defaults: liburcu
274 node: 'deb12-amd64'
275
276 triggers:
277 - pollscm:
278 cron: "@daily"
279
280 wrappers:
281 - ansicolor: *liburcu_wrapper_ansicolor_defaults
282 - timeout: *liburcu_wrapper_timeout_defaults
283 - timestamps
284 - workspace-cleanup
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:
293 !include-raw-escape: scripts/common/coverity.sh
294
295 publishers:
296 - archive:
297 artifacts: 'analysis-results.tgz,cov-int/**'
298 allow-empty: false
299 - workspace-cleanup: *liburcu_publisher_workspace_cleanup_defaults
300 - ircbot: *liburcu_publisher_ircbot_defaults
301
302
303 ## Views
304 - view-template:
305 name: 'Liburcu'
306 view-type: list
307 regex: 'liburcu[-_].*'
308
309
310 ## Projects
311 - project:
312 name: liburcu
313 job_prefix: ''
314 github_user: urcu
315 github_name: userspace-rcu
316 email_to: 'ci-notification@lists.lttng.org, cc:mathieu.desnoyers@efficios.com'
317 version:
318 - stable-0.13
319 - stable-0.14
320 - master
321 jobs:
322 - '{job_prefix}liburcu_{version}_{buildtype}':
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
338 buildtype: linuxbuild
339 platforms: !!python/tuple [deb12-amd64]
340 builds: !!python/tuple [std, oot, dist]
341 confs: !!python/tuple [std, static, tls_fallback, debug-rcu]
342 touchstone: '(build == "std") && (conf == "std")'
343 # Common
344 - '{job_prefix}liburcu_{version}_{buildtype}':
345 buildtype: build
346 platforms: !!python/tuple [bionic-amd64]
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}':
351 buildtype: portbuild
352 platforms: !!python/tuple [deb12-armhf, deb12-arm64, deb12-ppc64el, deb12-i386]
353 builds: !!python/tuple [std]
354 confs: !!python/tuple [std, static, tls_fallback, debug-rcu]
355 touchstone: '(build == "std") && (conf == "std") && (platform == "deb12-i386")'
356 - '{job_prefix}liburcu_{version}_{buildtype}':
357 buildtype: slesbuild
358 platforms: !!python/tuple [sles12sp5-amd64, sles15sp4-amd64]
359 builds: !!python/tuple [std]
360 confs: !!python/tuple [std]
361 touchstone: '(build == "std")'
362 - '{job_prefix}liburcu_{version}_{buildtype}':
363 buildtype: elbuild
364 platforms: !!python/tuple [el7-amd64, el8-amd64, el9-amd64, el7-arm64, el8-arm64, el9-arm64]
365 builds: !!python/tuple [std]
366 confs: !!python/tuple [std]
367 touchstone: '(build == "std")'
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")'
374 - '{job_prefix}liburcu_{version}_{buildtype}':
375 buildtype: macosbuild
376 platforms: !!python/tuple [macos-amd64, macos-arm64]
377 builds: !!python/tuple [std]
378 confs: !!python/tuple [std]
379 touchstone: '(build == "std")'
380 - '{job_prefix}liburcu_{version}_{buildtype}':
381 buildtype: winbuild
382 platforms: !!python/tuple [cygwin64]
383 builds: !!python/tuple [std]
384 confs: !!python/tuple [std]
385 touchstone: '(build == "std")'
386 - '{job_prefix}liburcu_{version}_{buildtype}':
387 buildtype: freebsdbuild
388 platforms: !!python/tuple [freebsd-amd64]
389 builds: !!python/tuple [std]
390 confs: !!python/tuple [std]
391 touchstone: '(build == "std")'
392 - 'liburcu_{version}_scan-build'
393 - 'liburcu_{version}_coverity':
394 version: master
395
396
397 - project:
398 name: liburcu-dev-upstream
399 job_prefix: 'dev_upstream_'
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
407 - stable-0.12
408 jobs:
409 - '{job_prefix}liburcu_{version}_{buildtype}':
410 buildtype: linuxbuild
411 platforms: !!python/tuple [deb12-amd64]
412 builds: !!python/tuple [std, oot, dist]
413 confs: !!python/tuple [std, static, tls_fallback, debug-rcu]
414 touchstone: '(build == "std") && (conf == "std")'
415 - '{job_prefix}liburcu_{version}_{buildtype}':
416 buildtype: portbuild
417 platforms: !!python/tuple [deb12-armhf, deb12-arm64, deb12-ppc64el, deb12-i386]
418 builds: !!python/tuple [std]
419 confs: !!python/tuple [std, static, tls_fallback, debug-rcu]
420 touchstone: '(build == "std") && (conf == "std") && (platform == "deb12-i386")'
421 - '{job_prefix}liburcu_{version}_{buildtype}':
422 buildtype: slesbuild
423 platforms: !!python/tuple [sles12sp5-amd64, sles15sp4-amd64]
424 builds: !!python/tuple [std]
425 confs: !!python/tuple [std]
426 touchstone: '(build == "std")'
427 - '{job_prefix}liburcu_{version}_{buildtype}':
428 buildtype: elbuild
429 platforms: !!python/tuple [el7-amd64, el8-amd64, el9-amd64]
430 builds: !!python/tuple [std]
431 confs: !!python/tuple [std]
432 touchstone: '(build == "std")'
433
434
435 - project:
436 name: review-liburcu
437 github_user: urcu
438 github_name: userspace-rcu
439 version:
440 - stable-0.13
441 - stable-0.14
442 - master
443 jobs:
444 - 'dev_review_liburcu_{version}_{buildtype}':
445 buildtype: linuxbuild
446 platforms: !!python/tuple [deb12-amd64]
447 builds: !!python/tuple [std, oot, dist]
448 confs: !!python/tuple [std, static, tls_fallback, debug-rcu]
449 touchstone: '(build == "std")'
450 - 'dev_review_liburcu_{version}_{buildtype}':
451 buildtype: portbuild
452 platforms: !!python/tuple [deb12-armhf, deb12-arm64, deb12-ppc64el, deb12-i386]
453 builds: !!python/tuple [std]
454 confs: !!python/tuple [std]
455 touchstone: ''
456 - 'dev_review_liburcu_{version}_{buildtype}':
457 buildtype: winbuild
458 platforms: !!python/tuple [cygwin64]
459 builds: !!python/tuple [std]
460 confs: !!python/tuple [std]
461 touchstone: ''
462
463
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: ''
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: ''
485
486 - project:
487 name: liburcu-views
488 views:
489 - Liburcu
This page took 0.04037 seconds and 3 git commands to generate.