Commit | Line | Data |
---|---|---|
e3022ad9 MJ |
1 | # {project}_{version}_{jobtype} |
2 | # liburcu_stable-0.8_build | |
3 | # | |
4 | # jobtypes: | |
5 | # - build | |
6 | # - portbuild | |
e3022ad9 MJ |
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 | ||
e3022ad9 | 29 | wrappers: |
d954b6a8 MJ |
30 | - ansicolor: &liburcu_wrapper_ansicolor_defaults |
31 | colormap: xterm | |
32 | - timeout: &liburcu_wrapper_timeout_defaults | |
dfc19a66 MJ |
33 | timeout: 90 |
34 | fail: true | |
35 | type: absolute | |
e3022ad9 | 36 | - timestamps |
d954b6a8 | 37 | - workspace-cleanup |
e3022ad9 MJ |
38 | |
39 | scm: | |
40 | - git: | |
4d27af8f | 41 | url: https://github.com/{github_user}/{github_name}.git |
e3022ad9 | 42 | browser: githubweb |
51ca880a | 43 | browser-url: https://github.com/{github_user}/{github_name} |
e3022ad9 MJ |
44 | branches: |
45 | - origin/{version} | |
6d35c326 | 46 | basedir: src/liburcu |
0a6e708b | 47 | skip-tag: true |
e3022ad9 MJ |
48 | |
49 | triggers: | |
e8078c79 MJ |
50 | - pollscm: |
51 | cron: "@hourly" | |
e3022ad9 MJ |
52 | |
53 | properties: | |
69f05d59 MJ |
54 | - inject: |
55 | properties-content: | | |
56 | PROJECT_NAME=liburcu | |
edf72710 | 57 | - build-discarder: |
3b228cdd MJ |
58 | num-to-keep: 10 |
59 | artifact-num-to-keep: 2 | |
e3022ad9 | 60 | - github: |
51ca880a | 61 | url: https://github.com/{github_user}/{github_name} |
e3022ad9 MJ |
62 | |
63 | ||
dfc19a66 | 64 | ## Anchors |
348e2acb | 65 | - _liburcu_matrix_axes_defaults: &liburcu_matrix_axes_defaults |
d954b6a8 | 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 | |
1794bc79 MJ |
76 | name: platform |
77 | values: '{obj:platforms}' | |
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 | |
348e2acb | 87 | - _liburcu_builders_defaults: &liburcu_builders_defaults |
d954b6a8 | 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 | |
1794bc79 | 95 | condition-string1: {{ '${{platform}}' }} |
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 | |
348e2acb | 111 | - _liburcu_publishers_defaults: &liburcu_publishers_defaults |
d954b6a8 | 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 | 117 | failed-tests-mark-build-as-failure: true |
4f04deeb MJ |
118 | include-comment-diagnostics: true |
119 | output-tap-to-console: false | |
69d7af71 | 120 | todo-is-failure: false |
d954b6a8 MJ |
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> | |
d954b6a8 MJ |
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 | |
4174b905 | 162 | artifacts: 'build/**,tap/**,log/**' |
23f01bc3 | 163 | follow-symlinks: true |
e3022ad9 | 164 | allow-empty: false |
d954b6a8 MJ |
165 | - workspace-cleanup: &liburcu_publisher_workspace_cleanup_defaults |
166 | clean-if: | |
167 | - failure: false | |
ee4b760a MJ |
168 | - ircbot: &liburcu_publisher_ircbot_defaults |
169 | strategy: statechange-only | |
2abd3a64 MJ |
170 | message-type: summary |
171 | matrix-notifier: only-parent | |
d954b6a8 | 172 | - email-ext: &liburcu_publisher_email_ext_defaults |
092af1e4 JR |
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 | |
dfc19a66 MJ |
194 | |
195 | ## Templates | |
24b12170 | 196 | - job-template: |
c3843719 | 197 | name: '{job_prefix}liburcu_{version}_{buildtype}' |
24b12170 MJ |
198 | defaults: liburcu |
199 | ||
d954b6a8 MJ |
200 | <<: *liburcu_matrix_axes_defaults |
201 | <<: *liburcu_builders_defaults | |
202 | <<: *liburcu_publishers_defaults | |
24b12170 | 203 | |
33b3de03 | 204 | - job-template: |
348e2acb | 205 | name: dev_review_liburcu_{version}_{buildtype} |
33b3de03 MJ |
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: | |
348e2acb MJ |
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}' | |
33b3de03 | 241 | |
d954b6a8 MJ |
242 | <<: *liburcu_matrix_axes_defaults |
243 | <<: *liburcu_builders_defaults | |
33b3de03 MJ |
244 | |
245 | publishers: | |
d954b6a8 MJ |
246 | - tap: *liburcu_publisher_tap_defaults |
247 | - raw: *liburcu_publisher_warnings-ng_defaults | |
248 | - workspace-cleanup: *liburcu_publisher_workspace_cleanup_defaults | |
33b3de03 | 249 | |
e3022ad9 MJ |
250 | - job-template: |
251 | name: liburcu_{version}_scan-build | |
252 | defaults: liburcu | |
a806eaf5 | 253 | node: 'deb12-amd64' |
e3022ad9 MJ |
254 | |
255 | triggers: | |
e8078c79 MJ |
256 | - pollscm: |
257 | cron: "@daily" | |
e3022ad9 MJ |
258 | |
259 | builders: | |
260 | - shell: | |
69f05d59 | 261 | !include-raw-escape: scripts/common/scan-build.sh |
e3022ad9 MJ |
262 | |
263 | publishers: | |
264 | - html-publisher: | |
265 | name: 'HTML Report' | |
266 | dir: 'scan-build-archive/' | |
267 | files: 'index.html' | |
d954b6a8 | 268 | - workspace-cleanup: *liburcu_publisher_workspace_cleanup_defaults |
ee4b760a | 269 | - ircbot: *liburcu_publisher_ircbot_defaults |
e3022ad9 | 270 | |
e8078c79 MJ |
271 | - job-template: |
272 | name: liburcu_{version}_coverity | |
273 | defaults: liburcu | |
a806eaf5 | 274 | node: 'deb12-amd64' |
e8078c79 MJ |
275 | |
276 | triggers: | |
277 | - pollscm: | |
278 | cron: "@daily" | |
279 | ||
280 | wrappers: | |
d954b6a8 MJ |
281 | - ansicolor: *liburcu_wrapper_ansicolor_defaults |
282 | - timeout: *liburcu_wrapper_timeout_defaults | |
e8078c79 | 283 | - timestamps |
d954b6a8 | 284 | - workspace-cleanup |
e8078c79 MJ |
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: | |
ef63064f | 293 | !include-raw-escape: scripts/common/coverity.sh |
e8078c79 MJ |
294 | |
295 | publishers: | |
6d35c326 MJ |
296 | - archive: |
297 | artifacts: 'analysis-results.tgz,cov-int/**' | |
298 | allow-empty: false | |
d954b6a8 | 299 | - workspace-cleanup: *liburcu_publisher_workspace_cleanup_defaults |
ee4b760a | 300 | - ircbot: *liburcu_publisher_ircbot_defaults |
e3022ad9 MJ |
301 | |
302 | ||
69d7af71 MJ |
303 | ## Views |
304 | - view-template: | |
305 | name: 'Liburcu' | |
306 | view-type: list | |
307 | regex: 'liburcu[-_].*' | |
308 | ||
309 | ||
310 | ## Projects | |
e3022ad9 MJ |
311 | - project: |
312 | name: liburcu | |
d954b6a8 | 313 | job_prefix: '' |
51ca880a MJ |
314 | github_user: urcu |
315 | github_name: userspace-rcu | |
092af1e4 | 316 | email_to: 'ci-notification@lists.lttng.org, cc:mathieu.desnoyers@efficios.com' |
e3022ad9 | 317 | version: |
d456a285 | 318 | - stable-0.13 |
4eb59cd0 | 319 | - stable-0.14 |
dfc19a66 | 320 | - master |
e3022ad9 | 321 | jobs: |
1794bc79 | 322 | - '{job_prefix}liburcu_{version}_{buildtype}': |
5e1966cf MJ |
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 | |
1794bc79 | 338 | buildtype: linuxbuild |
30e5c12c | 339 | platforms: !!python/tuple [deb12-amd64] |
1794bc79 MJ |
340 | builds: !!python/tuple [std, oot, dist] |
341 | confs: !!python/tuple [std, static, tls_fallback, debug-rcu] | |
342 | touchstone: '(build == "std") && (conf == "std")' | |
5e1966cf | 343 | # Common |
d954b6a8 | 344 | - '{job_prefix}liburcu_{version}_{buildtype}': |
57ae8ff4 | 345 | buildtype: portbuild |
29901a39 | 346 | platforms: !!python/tuple [deb12-armhf, deb12-arm64, deb12-ppc64el, deb12-i386] |
d954b6a8 MJ |
347 | builds: !!python/tuple [std] |
348 | confs: !!python/tuple [std, static, tls_fallback, debug-rcu] | |
29901a39 | 349 | touchstone: '(build == "std") && (conf == "std") && (platform == "deb12-i386")' |
d954b6a8 | 350 | - '{job_prefix}liburcu_{version}_{buildtype}': |
81bf613d | 351 | buildtype: slesbuild |
f3c8d88c | 352 | platforms: !!python/tuple [sles12sp5-amd64, sles15sp4-amd64] |
d954b6a8 MJ |
353 | builds: !!python/tuple [std] |
354 | confs: !!python/tuple [std] | |
355 | touchstone: '(build == "std")' | |
356 | - '{job_prefix}liburcu_{version}_{buildtype}': | |
568b5cbd | 357 | buildtype: elbuild |
5bfd388f | 358 | platforms: !!python/tuple [el7-amd64, el8-amd64, el9-amd64, el7-arm64, el8-arm64, el9-arm64] |
d954b6a8 MJ |
359 | builds: !!python/tuple [std] |
360 | confs: !!python/tuple [std] | |
361 | touchstone: '(build == "std")' | |
6871000c MJ |
362 | - '{job_prefix}liburcu_{version}_{buildtype}': |
363 | buildtype: yoctobuild | |
364 | platforms: !!python/tuple [yocto23-powerpcspe, yocto23-powerpc, yocto31-ppc64] | |
365 | builds: !!python/tuple [std] | |
366 | confs: !!python/tuple [std] | |
367 | touchstone: '(build == "std")' | |
d954b6a8 | 368 | - '{job_prefix}liburcu_{version}_{buildtype}': |
f0d7e5b1 | 369 | buildtype: macosbuild |
e797d680 | 370 | platforms: !!python/tuple [macos-arm64] |
d954b6a8 MJ |
371 | builds: !!python/tuple [std] |
372 | confs: !!python/tuple [std] | |
373 | touchstone: '(build == "std")' | |
374 | - '{job_prefix}liburcu_{version}_{buildtype}': | |
375 | buildtype: winbuild | |
1794bc79 | 376 | platforms: !!python/tuple [cygwin64] |
d954b6a8 MJ |
377 | builds: !!python/tuple [std] |
378 | confs: !!python/tuple [std] | |
379 | touchstone: '(build == "std")' | |
380 | - '{job_prefix}liburcu_{version}_{buildtype}': | |
6ad0e7e6 | 381 | buildtype: freebsdbuild |
1794bc79 | 382 | platforms: !!python/tuple [freebsd-amd64] |
d954b6a8 MJ |
383 | builds: !!python/tuple [std] |
384 | confs: !!python/tuple [std] | |
385 | touchstone: '(build == "std")' | |
e3022ad9 | 386 | - 'liburcu_{version}_scan-build' |
e8078c79 MJ |
387 | - 'liburcu_{version}_coverity': |
388 | version: master | |
e3022ad9 | 389 | |
24b12170 MJ |
390 | |
391 | - project: | |
392 | name: liburcu-dev-upstream | |
c3843719 | 393 | job_prefix: 'dev_upstream_' |
24b12170 MJ |
394 | github_user: urcu |
395 | github_name: userspace-rcu | |
396 | email_to: 'ci-notification@lists.lttng.org, cc:mathieu.desnoyers@efficios.com' | |
397 | version: | |
398 | - stable-0.9 | |
399 | - stable-0.10 | |
400 | - stable-0.11 | |
60c689e8 | 401 | - stable-0.12 |
24b12170 | 402 | jobs: |
c3843719 | 403 | - '{job_prefix}liburcu_{version}_{buildtype}': |
1794bc79 | 404 | buildtype: linuxbuild |
30e5c12c | 405 | platforms: !!python/tuple [deb12-amd64] |
d954b6a8 MJ |
406 | builds: !!python/tuple [std, oot, dist] |
407 | confs: !!python/tuple [std, static, tls_fallback, debug-rcu] | |
408 | touchstone: '(build == "std") && (conf == "std")' | |
c3843719 | 409 | - '{job_prefix}liburcu_{version}_{buildtype}': |
24b12170 | 410 | buildtype: portbuild |
29901a39 | 411 | platforms: !!python/tuple [deb12-armhf, deb12-arm64, deb12-ppc64el, deb12-i386] |
d954b6a8 MJ |
412 | builds: !!python/tuple [std] |
413 | confs: !!python/tuple [std, static, tls_fallback, debug-rcu] | |
29901a39 | 414 | touchstone: '(build == "std") && (conf == "std") && (platform == "deb12-i386")' |
c3843719 | 415 | - '{job_prefix}liburcu_{version}_{buildtype}': |
24b12170 | 416 | buildtype: slesbuild |
f3c8d88c | 417 | platforms: !!python/tuple [sles12sp5-amd64, sles15sp4-amd64] |
d954b6a8 MJ |
418 | builds: !!python/tuple [std] |
419 | confs: !!python/tuple [std] | |
420 | touchstone: '(build == "std")' | |
c3843719 | 421 | - '{job_prefix}liburcu_{version}_{buildtype}': |
24b12170 | 422 | buildtype: elbuild |
1794bc79 | 423 | platforms: !!python/tuple [el7-amd64, el8-amd64, el9-amd64] |
d954b6a8 MJ |
424 | builds: !!python/tuple [std] |
425 | confs: !!python/tuple [std] | |
426 | touchstone: '(build == "std")' | |
24b12170 MJ |
427 | |
428 | ||
33b3de03 | 429 | - project: |
348e2acb | 430 | name: review-liburcu |
33b3de03 MJ |
431 | github_user: urcu |
432 | github_name: userspace-rcu | |
348e2acb MJ |
433 | version: |
434 | - stable-0.13 | |
435 | - stable-0.14 | |
436 | - master | |
33b3de03 | 437 | jobs: |
348e2acb | 438 | - 'dev_review_liburcu_{version}_{buildtype}': |
a806eaf5 MJ |
439 | buildtype: linuxbuild |
440 | platforms: !!python/tuple [deb12-amd64] | |
d954b6a8 MJ |
441 | builds: !!python/tuple [std, oot, dist] |
442 | confs: !!python/tuple [std, static, tls_fallback, debug-rcu] | |
443 | touchstone: '(build == "std")' | |
348e2acb | 444 | - 'dev_review_liburcu_{version}_{buildtype}': |
33b3de03 | 445 | buildtype: portbuild |
29901a39 | 446 | platforms: !!python/tuple [deb12-armhf, deb12-arm64, deb12-ppc64el, deb12-i386] |
d954b6a8 MJ |
447 | builds: !!python/tuple [std] |
448 | confs: !!python/tuple [std] | |
348e2acb MJ |
449 | touchstone: '' |
450 | - 'dev_review_liburcu_{version}_{buildtype}': | |
4d0b24c4 MJ |
451 | buildtype: winbuild |
452 | platforms: !!python/tuple [cygwin64] | |
453 | builds: !!python/tuple [std] | |
454 | confs: !!python/tuple [std] | |
455 | touchstone: '' | |
33b3de03 | 456 | |
24b12170 | 457 | |
69d7af71 MJ |
458 | - project: |
459 | name: liburcu-views | |
460 | views: | |
461 | - Liburcu |