Commit | Line | Data |
---|---|---|
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 | 58 | - build-discarder: |
3b228cdd MJ |
59 | num-to-keep: 10 |
60 | artifact-num-to-keep: 2 | |
e3022ad9 | 61 | - github: |
51ca880a | 62 | url: https://github.com/{github_user}/{github_name} |
e3022ad9 MJ |
63 | |
64 | ||
dfc19a66 | 65 | ## Anchors |
d954b6a8 MJ |
66 | - liburcu_matrix_axes_defaults: &liburcu_matrix_axes_defaults |
67 | name: 'liburcu_matrix_axes_defaults' | |
e3022ad9 | 68 | project-type: matrix |
ca8c6144 | 69 | node: 'master' # Applies only to matrix flyweight task |
d954b6a8 MJ |
70 | execution-strategy: |
71 | touchstone: | |
72 | expr: '{touchstone}' | |
73 | result: unstable | |
e3022ad9 MJ |
74 | axes: |
75 | - axis: | |
76 | type: slave | |
1794bc79 MJ |
77 | name: platform |
78 | values: '{obj:platforms}' | |
e3022ad9 MJ |
79 | - axis: |
80 | type: user-defined | |
81 | name: conf | |
d954b6a8 | 82 | values: '{obj:confs}' |
e3022ad9 MJ |
83 | - axis: |
84 | type: user-defined | |
85 | name: build | |
d954b6a8 | 86 | values: '{obj:builds}' |
e3022ad9 | 87 | |
d954b6a8 MJ |
88 | - liburcu_builders_defaults: &liburcu_builders_defaults |
89 | name: 'liburcu_builders_defaults' | |
dfc19a66 | 90 | builders: |
d954b6a8 MJ |
91 | !j2-yaml: | |
92 | {% if buildtype == 'winbuild' %} | |
dfc19a66 MJ |
93 | - conditional-step: |
94 | condition-kind: strings-match | |
95 | on-evaluation-failure: run | |
1794bc79 | 96 | condition-string1: {{ '${{platform}}' }} |
dfc19a66 MJ |
97 | condition-string2: 'cygwin64' |
98 | steps: | |
99 | - shell: | |
100 | !include-raw-escape: | |
101 | - scripts/common/cygwin64-shebang | |
cefcd7f8 | 102 | - scripts/common/cygpath-prefix |
51c9c62d | 103 | - scripts/common/print.sh |
dfc19a66 | 104 | - scripts/liburcu/build.sh |
d954b6a8 MJ |
105 | {% else %} |
106 | - shell: | |
107 | !include-raw-escape: | |
108 | - scripts/common/print.sh | |
109 | - scripts/liburcu/build.sh | |
110 | {% endif %} | |
dfc19a66 | 111 | |
d954b6a8 MJ |
112 | - liburcu_publishers_defaults: &liburcu_publishers_defaults |
113 | name: 'liburcu_publishers_defaults' | |
e3022ad9 | 114 | publishers: |
d954b6a8 | 115 | - tap: &liburcu_publisher_tap_defaults |
69d7af71 | 116 | results: 'tap/**/*.log' |
1d56e325 | 117 | fail-if-no-results: true |
69d7af71 MJ |
118 | failed-tests-mark-build-as-failure: true |
119 | todo-is-failure: false | |
d954b6a8 MJ |
120 | - raw: &liburcu_publisher_warnings-ng_defaults |
121 | xml: | | |
122 | <io.jenkins.plugins.analysis.core.steps.IssuesRecorder plugin="warnings-ng"> | |
123 | <analysisTools> | |
124 | <io.jenkins.plugins.analysis.warnings.Gcc4> | |
125 | <id/> | |
126 | <name/> | |
127 | <jenkins plugin="plugin-util-api"/> | |
128 | <pattern/> | |
129 | <reportEncoding/> | |
130 | <skipSymbolicLinks>false</skipSymbolicLinks> | |
131 | </io.jenkins.plugins.analysis.warnings.Gcc4> | |
132 | <io.jenkins.plugins.analysis.warnings.Clang> | |
133 | <id/> | |
134 | <name/> | |
135 | <jenkins plugin="plugin-util-api"/> | |
136 | <pattern/> | |
137 | <reportEncoding/> | |
138 | <skipSymbolicLinks>false</skipSymbolicLinks> | |
139 | </io.jenkins.plugins.analysis.warnings.Clang> | |
140 | </analysisTools> | |
141 | <sourceCodeEncoding/> | |
142 | <sourceDirectory/> | |
143 | <sourceDirectories/> | |
144 | <ignoreQualityGate>false</ignoreQualityGate> | |
145 | <ignoreFailedBuilds>true</ignoreFailedBuilds> | |
146 | <failOnError>false</failOnError> | |
147 | <healthy>0</healthy> | |
148 | <unhealthy>0</unhealthy> | |
149 | <minimumSeverity plugin="analysis-model-api"> | |
150 | <name>LOW</name> | |
151 | </minimumSeverity> | |
152 | <filters/> | |
153 | <isEnabledForFailure>true</isEnabledForFailure> | |
154 | <isAggregatingResults>true</isAggregatingResults> | |
155 | <isBlameDisabled>false</isBlameDisabled> | |
156 | <skipPublishingChecks>true</skipPublishingChecks> | |
157 | <publishAllIssues>false</publishAllIssues> | |
158 | <qualityGates> | |
159 | <io.jenkins.plugins.analysis.core.util.QualityGate> | |
160 | <threshold>1</threshold> | |
161 | <type>TOTAL</type> | |
162 | <status>WARNING</status> | |
163 | </io.jenkins.plugins.analysis.core.util.QualityGate> | |
164 | </qualityGates> | |
165 | <trendChartType>AGGREGATION_TOOLS</trendChartType> | |
166 | <scm/> | |
167 | </io.jenkins.plugins.analysis.core.steps.IssuesRecorder> | |
168 | - archive: &liburcu_publisher_archive_defaults | |
69d7af71 | 169 | artifacts: 'build/**,tap/**' |
e3022ad9 | 170 | allow-empty: false |
d954b6a8 MJ |
171 | - workspace-cleanup: &liburcu_publisher_workspace_cleanup_defaults |
172 | clean-if: | |
173 | - failure: false | |
174 | - email-ext: &liburcu_publisher_email_ext_defaults | |
092af1e4 JR |
175 | recipients: '{obj:email_to}' |
176 | reply-to: ci-notification@lists.lttng.org | |
177 | always: false | |
178 | unstable: false | |
179 | first-failure: true | |
180 | first-unstable: true | |
181 | not-built: false | |
182 | aborted: false | |
183 | regression: false | |
184 | failure: false | |
185 | second-failure: false | |
186 | improvement: false | |
187 | still-failing: false | |
188 | success: false | |
189 | fixed: false | |
190 | fixed-unhealthy: true | |
191 | still-unstable: false | |
192 | pre-build: false | |
193 | matrix-trigger: only-parent | |
194 | send-to: | |
195 | - recipients | |
dfc19a66 MJ |
196 | |
197 | ## Templates | |
24b12170 | 198 | - job-template: |
c3843719 | 199 | name: '{job_prefix}liburcu_{version}_{buildtype}' |
24b12170 MJ |
200 | defaults: liburcu |
201 | ||
d954b6a8 MJ |
202 | <<: *liburcu_matrix_axes_defaults |
203 | <<: *liburcu_builders_defaults | |
204 | <<: *liburcu_publishers_defaults | |
24b12170 | 205 | |
e3022ad9 MJ |
206 | - job-template: |
207 | name: liburcu_{version}_cppcheck | |
208 | defaults: liburcu | |
209 | ||
210 | triggers: | |
e8078c79 MJ |
211 | - pollscm: |
212 | cron: "@daily" | |
e3022ad9 MJ |
213 | |
214 | builders: | |
215 | - shell: | | |
5279b0f2 MJ |
216 | rm -f cppcheck-result.xml |
217 | cppcheck --enable=all --xml --xml-version=2 $WORKSPACE/src/liburcu 2> cppcheck-result.xml | |
e3022ad9 MJ |
218 | |
219 | publishers: | |
220 | - archive: | |
5279b0f2 | 221 | artifacts: 'cppcheck-result.xml' |
e3022ad9 | 222 | allow-empty: false |
e3022ad9 | 223 | - cppcheck: |
5279b0f2 | 224 | pattern: 'cppcheck-result.xml' |
d954b6a8 MJ |
225 | - workspace-cleanup: *liburcu_publisher_workspace_cleanup_defaults |
226 | - email-ext: *liburcu_publisher_email_ext_defaults | |
e3022ad9 | 227 | |
33b3de03 MJ |
228 | - job-template: |
229 | name: dev_gerrit_liburcu_{buildtype} | |
230 | defaults: liburcu | |
231 | concurrent: true | |
232 | ||
233 | scm: | |
234 | - git: | |
235 | url: https://review.lttng.org/userspace-rcu | |
236 | refspec: 'refs/changes/*:refs/changes/*' | |
237 | branches: | |
238 | - '$GERRIT_REFSPEC' | |
239 | basedir: src/liburcu | |
240 | skip-tag: true | |
241 | ||
242 | triggers: | |
243 | - gerrit: | |
244 | trigger-on: | |
245 | - comment-added-event: | |
246 | approval-category: 'CI-Build' | |
247 | approval-value: 1 | |
248 | projects: | |
249 | - project-compare-type: 'PLAIN' | |
250 | project-pattern: 'userspace-rcu' | |
251 | branches: | |
252 | - branch-compare-type: 'ANT' | |
253 | branch-pattern: '**' | |
254 | ||
d954b6a8 MJ |
255 | <<: *liburcu_matrix_axes_defaults |
256 | <<: *liburcu_builders_defaults | |
33b3de03 MJ |
257 | |
258 | publishers: | |
d954b6a8 MJ |
259 | - tap: *liburcu_publisher_tap_defaults |
260 | - raw: *liburcu_publisher_warnings-ng_defaults | |
261 | - workspace-cleanup: *liburcu_publisher_workspace_cleanup_defaults | |
33b3de03 | 262 | |
e3022ad9 MJ |
263 | - job-template: |
264 | name: liburcu_{version}_scan-build | |
265 | defaults: liburcu | |
1794bc79 | 266 | node: 'bionic-amd64' |
e3022ad9 MJ |
267 | |
268 | triggers: | |
e8078c79 MJ |
269 | - pollscm: |
270 | cron: "@daily" | |
e3022ad9 MJ |
271 | |
272 | builders: | |
273 | - shell: | |
69f05d59 | 274 | !include-raw-escape: scripts/common/scan-build.sh |
e3022ad9 MJ |
275 | |
276 | publishers: | |
277 | - html-publisher: | |
278 | name: 'HTML Report' | |
279 | dir: 'scan-build-archive/' | |
280 | files: 'index.html' | |
d954b6a8 | 281 | - workspace-cleanup: *liburcu_publisher_workspace_cleanup_defaults |
e3022ad9 | 282 | |
e8078c79 MJ |
283 | - job-template: |
284 | name: liburcu_{version}_coverity | |
285 | defaults: liburcu | |
1794bc79 | 286 | node: 'bionic-amd64' |
e8078c79 MJ |
287 | |
288 | triggers: | |
289 | - pollscm: | |
290 | cron: "@daily" | |
291 | ||
292 | wrappers: | |
d954b6a8 MJ |
293 | - ansicolor: *liburcu_wrapper_ansicolor_defaults |
294 | - timeout: *liburcu_wrapper_timeout_defaults | |
e8078c79 | 295 | - timestamps |
d954b6a8 | 296 | - workspace-cleanup |
e8078c79 MJ |
297 | - credentials-binding: |
298 | - username-password-separated: | |
299 | credential-id: liburcu_coverity_token | |
300 | username: COVERITY_SCAN_PROJECT_NAME | |
301 | password: COVERITY_SCAN_TOKEN | |
302 | ||
303 | builders: | |
304 | - shell: | |
ef63064f | 305 | !include-raw-escape: scripts/common/coverity.sh |
e8078c79 MJ |
306 | |
307 | publishers: | |
6d35c326 MJ |
308 | - archive: |
309 | artifacts: 'analysis-results.tgz,cov-int/**' | |
310 | allow-empty: false | |
d954b6a8 | 311 | - workspace-cleanup: *liburcu_publisher_workspace_cleanup_defaults |
e3022ad9 MJ |
312 | |
313 | ||
69d7af71 MJ |
314 | ## Views |
315 | - view-template: | |
316 | name: 'Liburcu' | |
317 | view-type: list | |
318 | regex: 'liburcu[-_].*' | |
319 | ||
320 | ||
321 | ## Projects | |
e3022ad9 MJ |
322 | - project: |
323 | name: liburcu | |
d954b6a8 | 324 | job_prefix: '' |
51ca880a MJ |
325 | github_user: urcu |
326 | github_name: userspace-rcu | |
092af1e4 | 327 | email_to: 'ci-notification@lists.lttng.org, cc:mathieu.desnoyers@efficios.com' |
e3022ad9 | 328 | version: |
9c359981 | 329 | - stable-0.12 |
d456a285 | 330 | - stable-0.13 |
dfc19a66 | 331 | - master |
e3022ad9 | 332 | jobs: |
1794bc79 MJ |
333 | - '{job_prefix}liburcu_{version}_{buildtype}': |
334 | buildtype: linuxbuild | |
335 | platforms: !!python/tuple [jammy-amd64] | |
336 | builds: !!python/tuple [std, oot, dist] | |
337 | confs: !!python/tuple [std, static, tls_fallback, debug-rcu] | |
338 | touchstone: '(build == "std") && (conf == "std")' | |
d954b6a8 | 339 | - '{job_prefix}liburcu_{version}_{buildtype}': |
57ae8ff4 | 340 | buildtype: build |
1794bc79 | 341 | platforms: !!python/tuple [bionic-amd64] |
d954b6a8 MJ |
342 | builds: !!python/tuple [std, oot, dist] |
343 | confs: !!python/tuple [std, static, tls_fallback, debug-rcu] | |
344 | touchstone: '(build == "std") && (conf == "std")' | |
345 | - '{job_prefix}liburcu_{version}_{buildtype}': | |
57ae8ff4 | 346 | buildtype: portbuild |
1794bc79 | 347 | platforms: !!python/tuple [deb11-armhf, deb11-arm64, sid-powerpc, deb11-ppc64el, deb11-i386] |
d954b6a8 MJ |
348 | builds: !!python/tuple [std] |
349 | confs: !!python/tuple [std, static, tls_fallback, debug-rcu] | |
1794bc79 | 350 | touchstone: '(build == "std") && (conf == "std") && (platform == "deb11-i386")' |
d954b6a8 | 351 | - '{job_prefix}liburcu_{version}_{buildtype}': |
81bf613d | 352 | buildtype: slesbuild |
1794bc79 | 353 | platforms: !!python/tuple [sles12sp5-amd64] |
d954b6a8 MJ |
354 | builds: !!python/tuple [std] |
355 | confs: !!python/tuple [std] | |
356 | touchstone: '(build == "std")' | |
357 | - '{job_prefix}liburcu_{version}_{buildtype}': | |
568b5cbd | 358 | buildtype: elbuild |
1794bc79 | 359 | platforms: !!python/tuple [el7-amd64, el8-amd64, el9-amd64] |
d954b6a8 MJ |
360 | builds: !!python/tuple [std] |
361 | confs: !!python/tuple [std] | |
362 | touchstone: '(build == "std")' | |
363 | - '{job_prefix}liburcu_{version}_{buildtype}': | |
f0d7e5b1 | 364 | buildtype: macosbuild |
1794bc79 | 365 | platforms: !!python/tuple [macos-amd64, macos-arm64] |
d954b6a8 MJ |
366 | builds: !!python/tuple [std] |
367 | confs: !!python/tuple [std] | |
368 | touchstone: '(build == "std")' | |
369 | - '{job_prefix}liburcu_{version}_{buildtype}': | |
370 | buildtype: winbuild | |
1794bc79 | 371 | platforms: !!python/tuple [cygwin64] |
d954b6a8 MJ |
372 | builds: !!python/tuple [std] |
373 | confs: !!python/tuple [std] | |
374 | touchstone: '(build == "std")' | |
375 | - '{job_prefix}liburcu_{version}_{buildtype}': | |
6ad0e7e6 | 376 | buildtype: freebsdbuild |
1794bc79 | 377 | platforms: !!python/tuple [freebsd-amd64] |
d954b6a8 MJ |
378 | builds: !!python/tuple [std] |
379 | confs: !!python/tuple [std] | |
380 | touchstone: '(build == "std")' | |
e3022ad9 MJ |
381 | - 'liburcu_{version}_cppcheck' |
382 | - 'liburcu_{version}_scan-build' | |
e8078c79 MJ |
383 | - 'liburcu_{version}_coverity': |
384 | version: master | |
e3022ad9 | 385 | |
24b12170 MJ |
386 | |
387 | - project: | |
388 | name: liburcu-dev-upstream | |
c3843719 | 389 | job_prefix: 'dev_upstream_' |
24b12170 MJ |
390 | github_user: urcu |
391 | github_name: userspace-rcu | |
392 | email_to: 'ci-notification@lists.lttng.org, cc:mathieu.desnoyers@efficios.com' | |
393 | version: | |
394 | - stable-0.9 | |
395 | - stable-0.10 | |
396 | - stable-0.11 | |
397 | jobs: | |
c3843719 | 398 | - '{job_prefix}liburcu_{version}_{buildtype}': |
1794bc79 MJ |
399 | buildtype: linuxbuild |
400 | platforms: !!python/tuple [jammy-amd64] | |
d954b6a8 MJ |
401 | builds: !!python/tuple [std, oot, dist] |
402 | confs: !!python/tuple [std, static, tls_fallback, debug-rcu] | |
403 | touchstone: '(build == "std") && (conf == "std")' | |
c3843719 | 404 | - '{job_prefix}liburcu_{version}_{buildtype}': |
24b12170 | 405 | buildtype: portbuild |
1794bc79 | 406 | platforms: !!python/tuple [deb11-armhf, deb11-arm64, sid-powerpc, deb11-ppc64el, deb11-i386] |
d954b6a8 MJ |
407 | builds: !!python/tuple [std] |
408 | confs: !!python/tuple [std, static, tls_fallback, debug-rcu] | |
1794bc79 | 409 | touchstone: '(build == "std") && (conf == "std") && (platform == "deb11-i386")' |
c3843719 | 410 | - '{job_prefix}liburcu_{version}_{buildtype}': |
24b12170 | 411 | buildtype: slesbuild |
1794bc79 | 412 | platforms: !!python/tuple [sles12sp5-amd64] |
d954b6a8 MJ |
413 | builds: !!python/tuple [std] |
414 | confs: !!python/tuple [std] | |
415 | touchstone: '(build == "std")' | |
c3843719 | 416 | - '{job_prefix}liburcu_{version}_{buildtype}': |
24b12170 | 417 | buildtype: elbuild |
1794bc79 | 418 | platforms: !!python/tuple [el7-amd64, el8-amd64, el9-amd64] |
d954b6a8 MJ |
419 | builds: !!python/tuple [std] |
420 | confs: !!python/tuple [std] | |
421 | touchstone: '(build == "std")' | |
24b12170 MJ |
422 | |
423 | ||
33b3de03 MJ |
424 | - project: |
425 | name: gerrit-liburcu | |
426 | github_user: urcu | |
427 | github_name: userspace-rcu | |
428 | jobs: | |
429 | - 'dev_gerrit_liburcu_{buildtype}': | |
430 | buildtype: build | |
1794bc79 | 431 | platforms: !!python/tuple [bionic-amd64] |
d954b6a8 MJ |
432 | builds: !!python/tuple [std, oot, dist] |
433 | confs: !!python/tuple [std, static, tls_fallback, debug-rcu] | |
434 | touchstone: '(build == "std")' | |
33b3de03 MJ |
435 | - 'dev_gerrit_liburcu_{buildtype}': |
436 | buildtype: portbuild | |
1794bc79 | 437 | platforms: !!python/tuple [deb11-armhf, deb11-arm64, sid-powerpc, deb11-ppc64el, deb11-i386] |
d954b6a8 MJ |
438 | builds: !!python/tuple [std] |
439 | confs: !!python/tuple [std] | |
440 | touchstone: '(build == "std")' | |
4d0b24c4 MJ |
441 | - 'dev_gerrit_liburcu_{buildtype}': |
442 | buildtype: winbuild | |
443 | platforms: !!python/tuple [cygwin64] | |
444 | builds: !!python/tuple [std] | |
445 | confs: !!python/tuple [std] | |
446 | touchstone: '' | |
33b3de03 | 447 | |
24b12170 | 448 | |
69d7af71 MJ |
449 | - project: |
450 | name: liburcu-views | |
451 | views: | |
452 | - Liburcu |