jjb: Fix msys2 mingw32/64 builds
[lttng-ci.git] / jobs / liburcu.yaml
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
30 wrappers:
31 - ansicolor
32 - timeout:
33 timeout: 90
34 fail: true
35 type: absolute
36 - timestamps
37 - workspace-cleanup:
38 clean-if:
39 - failure: false
40
41 scm:
42 - git:
43 url: git://github.com/{github_user}/{github_name}.git
44 browser: githubweb
45 browser-url: https://github.com/{github_user}/{github_name}
46 branches:
47 - origin/{version}
48 basedir: src/liburcu
49 skip-tag: true
50 git-tool: jgit
51
52 triggers:
53 - pollscm:
54 cron: "@hourly"
55
56 properties:
57 - inject:
58 properties-content: |
59 PROJECT_NAME=liburcu
60 - build-discarder:
61 num-to-keep: 2
62 - github:
63 url: https://github.com/{github_user}/{github_name}
64
65
66 ## Anchors
67 - liburcu_build_axes_defaults: &liburcu_build_axes_defaults
68 name: 'liburcu_build_axes_defaults'
69 project-type: matrix
70 node: 'master' # Applies only to matrix flyweight task
71 axes:
72 - axis:
73 type: slave
74 name: arch
75 values: '{obj:arch}'
76 - axis:
77 type: user-defined
78 name: conf
79 values: '{obj:conf}'
80 - axis:
81 type: user-defined
82 name: build
83 values: '{obj:build}'
84
85 - liburcu_build_builders_defaults: &liburcu_build_builders_defaults
86 name: 'liburcu_build_builders_defaults'
87 builders:
88 - shell:
89 !include-raw-escape: scripts/liburcu/build.sh
90
91 - liburcu_build_builders_win: &liburcu_build_builders_win
92 name: 'liburcu_build_builders_win'
93 builders:
94 - conditional-step:
95 condition-kind: strings-match
96 on-evaluation-failure: run
97 condition-string1: '${{arch}}'
98 condition-string2: 'cygwin'
99 steps:
100 - shell:
101 !include-raw-escape:
102 - scripts/common/cygwin-shebang
103 - scripts/common/cygwin-prefix
104 - scripts/liburcu/build.sh
105 - conditional-step:
106 condition-kind: strings-match
107 on-evaluation-failure: run
108 condition-string1: '${{arch}}'
109 condition-string2: 'cygwin64'
110 steps:
111 - shell:
112 !include-raw-escape:
113 - scripts/common/cygwin64-shebang
114 - scripts/common/cygwin-prefix
115 - scripts/liburcu/build.sh
116 - conditional-step:
117 condition-kind: strings-match
118 on-evaluation-failure: run
119 condition-string1: '${{arch}}'
120 condition-string2: 'msys2-mingw32'
121 steps:
122 - inject:
123 properties-content: 'MSYSTEM=MINGW32'
124 - shell:
125 !include-raw-escape:
126 - scripts/common/msys2-shebang
127 - scripts/common/cygwin-prefix
128 - scripts/liburcu/build.sh
129 - conditional-step:
130 condition-kind: strings-match
131 on-evaluation-failure: run
132 condition-string1: '${{arch}}'
133 condition-string2: 'msys2-mingw64'
134 steps:
135 - inject:
136 properties-content: 'MSYSTEM=MINGW64'
137 - shell:
138 !include-raw-escape:
139 - scripts/common/msys2-shebang
140 - scripts/common/cygwin-prefix
141 - scripts/liburcu/build.sh
142
143 - liburcu_build_publishers_defaults: &liburcu_build_publishers_defaults
144 name: 'liburcu_build_publishers_defaults'
145 publishers:
146 - warnings:
147 console-log-parsers:
148 - 'GNU Make + GNU C Compiler (gcc)'
149 total-thresholds:
150 unstable:
151 total-all: 0
152 total-high: 0
153 total-normal: 0
154 total-low: 0
155 - archive:
156 artifacts: 'build/**'
157 allow-empty: false
158 - ircbot:
159 strategy: new-failure-and-fixed
160 matrix-notifier: only-parent
161 channels:
162 - name: '#lttng'
163
164
165 ## Templates
166 - job-template:
167 name: liburcu_{version}_{buildtype}
168 defaults: liburcu
169
170 <<: *liburcu_build_axes_defaults
171 <<: *liburcu_build_builders_defaults
172 <<: *liburcu_build_publishers_defaults
173
174 - job-template:
175 name: liburcu_{version}_winbuild
176 defaults: liburcu
177
178 <<: *liburcu_build_axes_defaults
179 <<: *liburcu_build_builders_win
180 <<: *liburcu_build_publishers_defaults
181
182 - job-template:
183 name: liburcu_{version}_cppcheck
184 defaults: liburcu
185
186 triggers:
187 - pollscm:
188 cron: "@daily"
189
190 builders:
191 - shell: |
192 rm -f liburcu-cppcheck.xml
193 cppcheck --enable=all --xml --xml-version=2 $WORKSPACE/src/liburcu 2> liburcu-cppcheck.xml
194
195 publishers:
196 - archive:
197 artifacts: 'liburcu-cppcheck.xml'
198 allow-empty: false
199 - cppcheck:
200 pattern: 'liburcu-cppcheck.xml'
201 - email:
202 recipients: 'ci-notification@lists.lttng.org'
203 notify-every-unstable-build: true
204 send-to-individuals: false
205
206 - job-template:
207 name: liburcu_{version}_scan-build
208 defaults: liburcu
209 node: 'x86-64'
210
211 triggers:
212 - pollscm:
213 cron: "@daily"
214
215 builders:
216 - shell:
217 !include-raw-escape: scripts/common/scan-build.sh
218
219 publishers:
220 - html-publisher:
221 name: 'HTML Report'
222 dir: 'scan-build-archive/'
223 files: 'index.html'
224
225 - job-template:
226 name: liburcu_{version}_coverity
227 defaults: liburcu
228 node: 'x86-64'
229
230 triggers:
231 - pollscm:
232 cron: "@daily"
233
234 wrappers:
235 - ansicolor
236 - timeout:
237 timeout: 60
238 fail: true
239 type: absolute
240 - timestamps
241 - workspace-cleanup:
242 clean-if:
243 - failure: false
244 - credentials-binding:
245 - username-password-separated:
246 credential-id: liburcu_coverity_token
247 username: COVERITY_SCAN_PROJECT_NAME
248 password: COVERITY_SCAN_TOKEN
249
250 builders:
251 - shell:
252 !include-raw-escape: scripts/common/coverity.sh
253
254 publishers:
255 - workspace-cleanup
256 - archive:
257 artifacts: 'analysis-results.tgz,cov-int/**'
258 allow-empty: false
259
260
261 ## Project
262 - project:
263 name: liburcu
264 github_user: urcu
265 github_name: userspace-rcu
266 version:
267 - stable-0.8
268 - stable-0.9
269 - stable-0.10
270 - master
271 jobs:
272 - 'liburcu_{version}_{buildtype}':
273 buildtype: build
274 arch: !!python/tuple [x86-32, x86-64]
275 build: !!python/tuple [std, oot, dist]
276 conf: !!python/tuple [std, static, tls_fallback, debug-rcu]
277 - 'liburcu_{version}_{buildtype}':
278 buildtype: portbuild
279 arch: !!python/tuple [armhf, arm64, powerpc, ppc64el]
280 build: !!python/tuple [std]
281 conf: !!python/tuple [std, static, tls_fallback, debug-rcu]
282 - 'liburcu_{version}_{buildtype}':
283 buildtype: slesbuild
284 arch: !!python/tuple [sles12sp2]
285 build: !!python/tuple [std]
286 conf: !!python/tuple [std]
287 - 'liburcu_{version}_{buildtype}':
288 buildtype: solarisbuild
289 arch: !!python/tuple [solaris10, solaris11]
290 build: !!python/tuple [std]
291 conf: !!python/tuple [std, static, tls_fallback, debug-rcu]
292 version: # Solaris support was introduced in 0.9
293 - master
294 - stable-0.9
295 - stable-0.10
296 - 'liburcu_{version}_{buildtype}':
297 buildtype: macosxbuild
298 arch: !!python/tuple [macosx]
299 build: !!python/tuple [std]
300 conf: !!python/tuple [std, static, tls_fallback, debug-rcu]
301 version:
302 - master
303 - stable-0.9
304 - stable-0.10
305 - 'liburcu_{version}_winbuild':
306 arch: !!python/tuple [cygwin, cygwin64]
307 build: !!python/tuple [std]
308 conf: !!python/tuple [std]
309 version:
310 - master
311 - stable-0.9
312 - stable-0.10
313 - 'liburcu_{version}_cppcheck'
314 - 'liburcu_{version}_scan-build'
315 - 'liburcu_{version}_coverity':
316 version: master
317
This page took 0.036029 seconds and 5 git commands to generate.