jjb: add ircbot in #lttng-ci
[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 - ircbot: &liburcu_publisher_ircbot_defaults
168 strategy: statechange-only
169 message-type: summary-scm
170 matrix-notifier: only-configurations
171 - email-ext: &liburcu_publisher_email_ext_defaults
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
193
194 ## Templates
195 - job-template:
196 name: '{job_prefix}liburcu_{version}_{buildtype}'
197 defaults: liburcu
198
199 <<: *liburcu_matrix_axes_defaults
200 <<: *liburcu_builders_defaults
201 <<: *liburcu_publishers_defaults
202
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
230 <<: *liburcu_matrix_axes_defaults
231 <<: *liburcu_builders_defaults
232
233 publishers:
234 - tap: *liburcu_publisher_tap_defaults
235 - raw: *liburcu_publisher_warnings-ng_defaults
236 - workspace-cleanup: *liburcu_publisher_workspace_cleanup_defaults
237
238 - job-template:
239 name: liburcu_{version}_scan-build
240 defaults: liburcu
241 node: 'bionic-amd64'
242
243 triggers:
244 - pollscm:
245 cron: "@daily"
246
247 builders:
248 - shell:
249 !include-raw-escape: scripts/common/scan-build.sh
250
251 publishers:
252 - html-publisher:
253 name: 'HTML Report'
254 dir: 'scan-build-archive/'
255 files: 'index.html'
256 - workspace-cleanup: *liburcu_publisher_workspace_cleanup_defaults
257 - ircbot: *liburcu_publisher_ircbot_defaults
258
259 - job-template:
260 name: liburcu_{version}_coverity
261 defaults: liburcu
262 node: 'bionic-amd64'
263
264 triggers:
265 - pollscm:
266 cron: "@daily"
267
268 wrappers:
269 - ansicolor: *liburcu_wrapper_ansicolor_defaults
270 - timeout: *liburcu_wrapper_timeout_defaults
271 - timestamps
272 - workspace-cleanup
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:
281 !include-raw-escape: scripts/common/coverity.sh
282
283 publishers:
284 - archive:
285 artifacts: 'analysis-results.tgz,cov-int/**'
286 allow-empty: false
287 - workspace-cleanup: *liburcu_publisher_workspace_cleanup_defaults
288 - ircbot: *liburcu_publisher_ircbot_defaults
289
290
291 ## Views
292 - view-template:
293 name: 'Liburcu'
294 view-type: list
295 regex: 'liburcu[-_].*'
296
297
298 ## Projects
299 - project:
300 name: liburcu
301 job_prefix: ''
302 github_user: urcu
303 github_name: userspace-rcu
304 email_to: 'ci-notification@lists.lttng.org, cc:mathieu.desnoyers@efficios.com'
305 version:
306 - stable-0.13
307 - stable-0.14
308 - master
309 jobs:
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")'
316 - '{job_prefix}liburcu_{version}_{buildtype}':
317 buildtype: build
318 platforms: !!python/tuple [bionic-amd64]
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}':
323 buildtype: portbuild
324 platforms: !!python/tuple [deb11-armhf, deb11-arm64, deb11-ppc64el, deb11-i386]
325 builds: !!python/tuple [std]
326 confs: !!python/tuple [std, static, tls_fallback, debug-rcu]
327 touchstone: '(build == "std") && (conf == "std") && (platform == "deb11-i386")'
328 - '{job_prefix}liburcu_{version}_{buildtype}':
329 buildtype: slesbuild
330 platforms: !!python/tuple [sles12sp5-amd64, sles15sp4-amd64]
331 builds: !!python/tuple [std]
332 confs: !!python/tuple [std]
333 touchstone: '(build == "std")'
334 - '{job_prefix}liburcu_{version}_{buildtype}':
335 buildtype: elbuild
336 platforms: !!python/tuple [el7-amd64, el8-amd64, el9-amd64]
337 builds: !!python/tuple [std]
338 confs: !!python/tuple [std]
339 touchstone: '(build == "std")'
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")'
346 - '{job_prefix}liburcu_{version}_{buildtype}':
347 buildtype: macosbuild
348 platforms: !!python/tuple [macos-amd64, macos-arm64]
349 builds: !!python/tuple [std]
350 confs: !!python/tuple [std]
351 touchstone: '(build == "std")'
352 - '{job_prefix}liburcu_{version}_{buildtype}':
353 buildtype: winbuild
354 platforms: !!python/tuple [cygwin64]
355 builds: !!python/tuple [std]
356 confs: !!python/tuple [std]
357 touchstone: '(build == "std")'
358 - '{job_prefix}liburcu_{version}_{buildtype}':
359 buildtype: freebsdbuild
360 platforms: !!python/tuple [freebsd-amd64]
361 builds: !!python/tuple [std]
362 confs: !!python/tuple [std]
363 touchstone: '(build == "std")'
364 - 'liburcu_{version}_scan-build'
365 - 'liburcu_{version}_coverity':
366 version: master
367
368
369 - project:
370 name: liburcu-dev-upstream
371 job_prefix: 'dev_upstream_'
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
379 - stable-0.12
380 jobs:
381 - '{job_prefix}liburcu_{version}_{buildtype}':
382 buildtype: linuxbuild
383 platforms: !!python/tuple [jammy-amd64]
384 builds: !!python/tuple [std, oot, dist]
385 confs: !!python/tuple [std, static, tls_fallback, debug-rcu]
386 touchstone: '(build == "std") && (conf == "std")'
387 - '{job_prefix}liburcu_{version}_{buildtype}':
388 buildtype: portbuild
389 platforms: !!python/tuple [deb11-armhf, deb11-arm64, deb11-ppc64el, deb11-i386]
390 builds: !!python/tuple [std]
391 confs: !!python/tuple [std, static, tls_fallback, debug-rcu]
392 touchstone: '(build == "std") && (conf == "std") && (platform == "deb11-i386")'
393 - '{job_prefix}liburcu_{version}_{buildtype}':
394 buildtype: slesbuild
395 platforms: !!python/tuple [sles12sp5-amd64, sles15sp4-amd64]
396 builds: !!python/tuple [std]
397 confs: !!python/tuple [std]
398 touchstone: '(build == "std")'
399 - '{job_prefix}liburcu_{version}_{buildtype}':
400 buildtype: elbuild
401 platforms: !!python/tuple [el7-amd64, el8-amd64, el9-amd64]
402 builds: !!python/tuple [std]
403 confs: !!python/tuple [std]
404 touchstone: '(build == "std")'
405
406
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
414 platforms: !!python/tuple [bionic-amd64]
415 builds: !!python/tuple [std, oot, dist]
416 confs: !!python/tuple [std, static, tls_fallback, debug-rcu]
417 touchstone: '(build == "std")'
418 - 'dev_gerrit_liburcu_{buildtype}':
419 buildtype: portbuild
420 platforms: !!python/tuple [deb11-armhf, deb11-arm64, deb11-ppc64el, deb11-i386]
421 builds: !!python/tuple [std]
422 confs: !!python/tuple [std]
423 touchstone: '(build == "std")'
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: ''
430
431
432 - project:
433 name: liburcu-views
434 views:
435 - Liburcu
This page took 0.046754 seconds and 4 git commands to generate.