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