jjb: Add el7 to elbuilds
[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
7# - cppcheck
8# - coverity
9# - scan-build
10# - pylint
11
12- defaults:
13 name: liburcu
14 description: |
15 liburcu is a LGPLv2.1 userspace RCU (read-copy-update) library. This
16 data synchronization library provides read-side access which scales
17 linearly with the number of cores. It does so by allowing multiples
18 copies of a given data structure to live at the same time, and by
19 monitoring the data structure accesses to detect grace periods after
20 which memory reclamation is possible.
21
22 liburcu-cds provides efficient data structures based on RCU and
23 lock-free algorithms. Those structures include hash tables, queues,
24 stacks, and doubly-linked lists.
25
26 <p>Job is managed by Jenkins Job Builder.</p>
27
28 project-type: freestyle
29
e3022ad9 30 wrappers:
d954b6a8
MJ
31 - ansicolor: &liburcu_wrapper_ansicolor_defaults
32 colormap: xterm
33 - timeout: &liburcu_wrapper_timeout_defaults
dfc19a66
MJ
34 timeout: 90
35 fail: true
36 type: absolute
e3022ad9 37 - timestamps
d954b6a8 38 - workspace-cleanup
e3022ad9
MJ
39
40 scm:
41 - git:
4d27af8f 42 url: https://github.com/{github_user}/{github_name}.git
e3022ad9 43 browser: githubweb
51ca880a 44 browser-url: https://github.com/{github_user}/{github_name}
e3022ad9
MJ
45 branches:
46 - origin/{version}
6d35c326 47 basedir: src/liburcu
0a6e708b 48 skip-tag: true
e3022ad9
MJ
49
50 triggers:
e8078c79
MJ
51 - pollscm:
52 cron: "@hourly"
e3022ad9
MJ
53
54 properties:
69f05d59
MJ
55 - inject:
56 properties-content: |
57 PROJECT_NAME=liburcu
edf72710
MJ
58 - build-discarder:
59 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
76 name: arch
d954b6a8 77 values: '{obj:archs}'
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
d954b6a8 95 condition-string1: {{ '${{arch}}' }}
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
MJ
117 failed-tests-mark-build-as-failure: true
118 todo-is-failure: false
d954b6a8
MJ
119 - raw: &liburcu_publisher_warnings-ng_defaults
120 xml: |
121 <io.jenkins.plugins.analysis.core.steps.IssuesRecorder plugin="warnings-ng">
122 <analysisTools>
123 <io.jenkins.plugins.analysis.warnings.Gcc4>
124 <id/>
125 <name/>
126 <jenkins plugin="plugin-util-api"/>
127 <pattern/>
128 <reportEncoding/>
129 <skipSymbolicLinks>false</skipSymbolicLinks>
130 </io.jenkins.plugins.analysis.warnings.Gcc4>
131 <io.jenkins.plugins.analysis.warnings.Clang>
132 <id/>
133 <name/>
134 <jenkins plugin="plugin-util-api"/>
135 <pattern/>
136 <reportEncoding/>
137 <skipSymbolicLinks>false</skipSymbolicLinks>
138 </io.jenkins.plugins.analysis.warnings.Clang>
139 </analysisTools>
140 <sourceCodeEncoding/>
141 <sourceDirectory/>
142 <sourceDirectories/>
143 <ignoreQualityGate>false</ignoreQualityGate>
144 <ignoreFailedBuilds>true</ignoreFailedBuilds>
145 <failOnError>false</failOnError>
146 <healthy>0</healthy>
147 <unhealthy>0</unhealthy>
148 <minimumSeverity plugin="analysis-model-api">
149 <name>LOW</name>
150 </minimumSeverity>
151 <filters/>
152 <isEnabledForFailure>true</isEnabledForFailure>
153 <isAggregatingResults>true</isAggregatingResults>
154 <isBlameDisabled>false</isBlameDisabled>
155 <skipPublishingChecks>true</skipPublishingChecks>
156 <publishAllIssues>false</publishAllIssues>
157 <qualityGates>
158 <io.jenkins.plugins.analysis.core.util.QualityGate>
159 <threshold>1</threshold>
160 <type>TOTAL</type>
161 <status>WARNING</status>
162 </io.jenkins.plugins.analysis.core.util.QualityGate>
163 </qualityGates>
164 <trendChartType>AGGREGATION_TOOLS</trendChartType>
165 <scm/>
166 </io.jenkins.plugins.analysis.core.steps.IssuesRecorder>
167 - archive: &liburcu_publisher_archive_defaults
69d7af71 168 artifacts: 'build/**,tap/**'
e3022ad9 169 allow-empty: false
d954b6a8
MJ
170 - workspace-cleanup: &liburcu_publisher_workspace_cleanup_defaults
171 clean-if:
172 - failure: false
173 - email-ext: &liburcu_publisher_email_ext_defaults
092af1e4
JR
174 recipients: '{obj:email_to}'
175 reply-to: ci-notification@lists.lttng.org
176 always: false
177 unstable: false
178 first-failure: true
179 first-unstable: true
180 not-built: false
181 aborted: false
182 regression: false
183 failure: false
184 second-failure: false
185 improvement: false
186 still-failing: false
187 success: false
188 fixed: false
189 fixed-unhealthy: true
190 still-unstable: false
191 pre-build: false
192 matrix-trigger: only-parent
193 send-to:
194 - recipients
dfc19a66
MJ
195
196## Templates
24b12170 197- job-template:
c3843719 198 name: '{job_prefix}liburcu_{version}_{buildtype}'
24b12170
MJ
199 defaults: liburcu
200
d954b6a8
MJ
201 <<: *liburcu_matrix_axes_defaults
202 <<: *liburcu_builders_defaults
203 <<: *liburcu_publishers_defaults
24b12170 204
e3022ad9
MJ
205- job-template:
206 name: liburcu_{version}_cppcheck
207 defaults: liburcu
208
209 triggers:
e8078c79
MJ
210 - pollscm:
211 cron: "@daily"
e3022ad9
MJ
212
213 builders:
214 - shell: |
5279b0f2
MJ
215 rm -f cppcheck-result.xml
216 cppcheck --enable=all --xml --xml-version=2 $WORKSPACE/src/liburcu 2> cppcheck-result.xml
e3022ad9
MJ
217
218 publishers:
219 - archive:
5279b0f2 220 artifacts: 'cppcheck-result.xml'
e3022ad9 221 allow-empty: false
e3022ad9 222 - cppcheck:
5279b0f2 223 pattern: 'cppcheck-result.xml'
d954b6a8
MJ
224 - workspace-cleanup: *liburcu_publisher_workspace_cleanup_defaults
225 - email-ext: *liburcu_publisher_email_ext_defaults
e3022ad9 226
33b3de03
MJ
227- job-template:
228 name: dev_gerrit_liburcu_{buildtype}
229 defaults: liburcu
230 concurrent: true
231
232 scm:
233 - git:
234 url: https://review.lttng.org/userspace-rcu
235 refspec: 'refs/changes/*:refs/changes/*'
236 branches:
237 - '$GERRIT_REFSPEC'
238 basedir: src/liburcu
239 skip-tag: true
240
241 triggers:
242 - gerrit:
243 trigger-on:
244 - comment-added-event:
245 approval-category: 'CI-Build'
246 approval-value: 1
247 projects:
248 - project-compare-type: 'PLAIN'
249 project-pattern: 'userspace-rcu'
250 branches:
251 - branch-compare-type: 'ANT'
252 branch-pattern: '**'
253
d954b6a8
MJ
254 <<: *liburcu_matrix_axes_defaults
255 <<: *liburcu_builders_defaults
33b3de03
MJ
256
257 publishers:
d954b6a8
MJ
258 - tap: *liburcu_publisher_tap_defaults
259 - raw: *liburcu_publisher_warnings-ng_defaults
260 - workspace-cleanup: *liburcu_publisher_workspace_cleanup_defaults
33b3de03 261
e3022ad9
MJ
262- job-template:
263 name: liburcu_{version}_scan-build
264 defaults: liburcu
16844a6d 265 node: 'amd64'
e3022ad9
MJ
266
267 triggers:
e8078c79
MJ
268 - pollscm:
269 cron: "@daily"
e3022ad9
MJ
270
271 builders:
272 - shell:
69f05d59 273 !include-raw-escape: scripts/common/scan-build.sh
e3022ad9
MJ
274
275 publishers:
276 - html-publisher:
277 name: 'HTML Report'
278 dir: 'scan-build-archive/'
279 files: 'index.html'
d954b6a8 280 - workspace-cleanup: *liburcu_publisher_workspace_cleanup_defaults
e3022ad9 281
e8078c79
MJ
282- job-template:
283 name: liburcu_{version}_coverity
284 defaults: liburcu
16844a6d 285 node: 'amd64'
e8078c79
MJ
286
287 triggers:
288 - pollscm:
289 cron: "@daily"
290
291 wrappers:
d954b6a8
MJ
292 - ansicolor: *liburcu_wrapper_ansicolor_defaults
293 - timeout: *liburcu_wrapper_timeout_defaults
e8078c79 294 - timestamps
d954b6a8 295 - workspace-cleanup
e8078c79
MJ
296 - credentials-binding:
297 - username-password-separated:
298 credential-id: liburcu_coverity_token
299 username: COVERITY_SCAN_PROJECT_NAME
300 password: COVERITY_SCAN_TOKEN
301
302 builders:
303 - shell:
ef63064f 304 !include-raw-escape: scripts/common/coverity.sh
e8078c79
MJ
305
306 publishers:
6d35c326
MJ
307 - archive:
308 artifacts: 'analysis-results.tgz,cov-int/**'
309 allow-empty: false
d954b6a8 310 - workspace-cleanup: *liburcu_publisher_workspace_cleanup_defaults
e3022ad9
MJ
311
312
69d7af71
MJ
313## Views
314- view-template:
315 name: 'Liburcu'
316 view-type: list
317 regex: 'liburcu[-_].*'
318
319
320## Projects
e3022ad9
MJ
321- project:
322 name: liburcu
d954b6a8 323 job_prefix: ''
51ca880a
MJ
324 github_user: urcu
325 github_name: userspace-rcu
092af1e4 326 email_to: 'ci-notification@lists.lttng.org, cc:mathieu.desnoyers@efficios.com'
e3022ad9 327 version:
9c359981 328 - stable-0.12
d456a285 329 - stable-0.13
dfc19a66 330 - master
e3022ad9 331 jobs:
d954b6a8 332 - '{job_prefix}liburcu_{version}_{buildtype}':
57ae8ff4 333 buildtype: build
d954b6a8
MJ
334 archs: !!python/tuple [amd64]
335 builds: !!python/tuple [std, oot, dist]
336 confs: !!python/tuple [std, static, tls_fallback, debug-rcu]
337 touchstone: '(build == "std") && (conf == "std")'
338 - '{job_prefix}liburcu_{version}_{buildtype}':
57ae8ff4 339 buildtype: portbuild
d954b6a8
MJ
340 archs: !!python/tuple [armhf, arm64, powerpc, ppc64el, i386]
341 builds: !!python/tuple [std]
342 confs: !!python/tuple [std, static, tls_fallback, debug-rcu]
343 touchstone: '(build == "std") && (conf == "std") && (arch == "i386")'
344 - '{job_prefix}liburcu_{version}_{buildtype}':
81bf613d 345 buildtype: slesbuild
d954b6a8
MJ
346 archs: !!python/tuple [sles12sp5]
347 builds: !!python/tuple [std]
348 confs: !!python/tuple [std]
349 touchstone: '(build == "std")'
350 - '{job_prefix}liburcu_{version}_{buildtype}':
568b5cbd 351 buildtype: elbuild
adb702d7 352 archs: !!python/tuple [el7, el8, el9]
d954b6a8
MJ
353 builds: !!python/tuple [std]
354 confs: !!python/tuple [std]
355 touchstone: '(build == "std")'
356 - '{job_prefix}liburcu_{version}_{buildtype}':
f0d7e5b1 357 buildtype: macosbuild
d954b6a8
MJ
358 archs: !!python/tuple [macos-amd64, macos-arm64]
359 builds: !!python/tuple [std]
360 confs: !!python/tuple [std]
361 touchstone: '(build == "std")'
362 - '{job_prefix}liburcu_{version}_{buildtype}':
363 buildtype: winbuild
364 archs: !!python/tuple [cygwin64]
365 builds: !!python/tuple [std]
366 confs: !!python/tuple [std]
367 touchstone: '(build == "std")'
368 - '{job_prefix}liburcu_{version}_{buildtype}':
6ad0e7e6 369 buildtype: freebsdbuild
d954b6a8
MJ
370 archs: !!python/tuple [freebsd]
371 builds: !!python/tuple [std]
372 confs: !!python/tuple [std]
373 touchstone: '(build == "std")'
e3022ad9
MJ
374 - 'liburcu_{version}_cppcheck'
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
390 jobs:
c3843719 391 - '{job_prefix}liburcu_{version}_{buildtype}':
24b12170 392 buildtype: build
d954b6a8
MJ
393 archs: !!python/tuple [amd64]
394 builds: !!python/tuple [std, oot, dist]
395 confs: !!python/tuple [std, static, tls_fallback, debug-rcu]
396 touchstone: '(build == "std") && (conf == "std")'
c3843719 397 - '{job_prefix}liburcu_{version}_{buildtype}':
24b12170 398 buildtype: portbuild
d954b6a8
MJ
399 archs: !!python/tuple [armhf, arm64, powerpc, ppc64el, i386]
400 builds: !!python/tuple [std]
401 confs: !!python/tuple [std, static, tls_fallback, debug-rcu]
402 touchstone: '(build == "std") && (conf == "std") && (arch == "i386")'
c3843719 403 - '{job_prefix}liburcu_{version}_{buildtype}':
24b12170 404 buildtype: slesbuild
d954b6a8
MJ
405 archs: !!python/tuple [sles12sp5]
406 builds: !!python/tuple [std]
407 confs: !!python/tuple [std]
408 touchstone: '(build == "std")'
c3843719 409 - '{job_prefix}liburcu_{version}_{buildtype}':
24b12170 410 buildtype: elbuild
adb702d7 411 archs: !!python/tuple [el7, el8, el9]
d954b6a8
MJ
412 builds: !!python/tuple [std]
413 confs: !!python/tuple [std]
414 touchstone: '(build == "std")'
24b12170
MJ
415
416
33b3de03
MJ
417- project:
418 name: gerrit-liburcu
419 github_user: urcu
420 github_name: userspace-rcu
421 jobs:
422 - 'dev_gerrit_liburcu_{buildtype}':
423 buildtype: build
d954b6a8
MJ
424 archs: !!python/tuple [amd64]
425 builds: !!python/tuple [std, oot, dist]
426 confs: !!python/tuple [std, static, tls_fallback, debug-rcu]
427 touchstone: '(build == "std")'
33b3de03
MJ
428 - 'dev_gerrit_liburcu_{buildtype}':
429 buildtype: portbuild
d954b6a8
MJ
430 archs: !!python/tuple [armhf, arm64, powerpc, ppc64el, i386]
431 builds: !!python/tuple [std]
432 confs: !!python/tuple [std]
433 touchstone: '(build == "std")'
33b3de03 434
24b12170 435
69d7af71
MJ
436- project:
437 name: liburcu-views
438 views:
439 - Liburcu
This page took 0.048648 seconds and 4 git commands to generate.