Commit | Line | Data |
d70070c9 |
1 | # Some overall notes on how this works |
2 | # |
3 | # * We smoke using the system provided latest, and custom built "oddball perls" |
4 | # The reason for not having a blanket matrix is to conserve travis resources |
5 | # as a full DBIC depchain isn't cheap |
6 | # |
7 | # * Minimum perl officially supported by DBIC is 5.8.3. This *includes* the |
8 | # basic depchain. On failure either attempt to fix it or bring it to the |
cdda207b |
9 | # attention of the maintainer. *DO NOT* disable 5.8 testing - it is here for |
10 | # a very good reason |
d70070c9 |
11 | # |
c4c7254d |
12 | # the entire run times out after 50 minutes, or after 5 minutes without |
13 | # console output |
d70070c9 |
14 | |
d0b79c51 |
15 | # |
a0acdea0 |
16 | # Smoke all branches except for blocked* and wip/* |
d70070c9 |
17 | branches: |
a0acdea0 |
18 | except: |
19 | - /^wip\// |
20 | - /^blocked/ |
d70070c9 |
21 | |
22 | notifications: |
23 | irc: |
24 | channels: |
25 | - "irc.perl.org#dbic-smoke" |
26 | template: |
27 | - "%{branch}#%{build_number} by %{author}: %{message} (%{build_url})" |
28 | on_success: change |
29 | on_failure: always |
30 | use_notice: true |
31 | |
32 | email: |
2af1c37d |
33 | recipients: |
209e3f37 |
34 | - CPAN-CI@leporine.io |
2af1c37d |
35 | on_success: change |
4ac234b5 |
36 | on_failure: always |
d70070c9 |
37 | |
cdda207b |
38 | addons: |
39 | apt: |
40 | packages: |
41 | - libapp-nopaste-perl |
42 | - net-tools |
003e97c5 |
43 | |
cdda207b |
44 | # This is probably a net-loss for setup etc - a bare 'C' will likely fare much better |
915876d7 |
45 | language: perl |
d70070c9 |
46 | |
cdda207b |
47 | # Currently not trying osx: https://github.com/travis-ci/travis-ci/issues/2314 |
48 | os: linux |
915876d7 |
49 | |
cdda207b |
50 | # The defaults run under the more rapid container infra. The hardware is |
51 | # actually *much* slower, but the jobs start much faster, for more info see |
52 | # https://docs.travis-ci.com/user/ci-environment/#Virtualization-environments |
53 | # Combined with 'fast_finish' this will result in an "uh-oh" email as early |
54 | # as possible |
55 | dist: precise |
56 | sudo: false |
57 | env: CLEANTEST=true |
58 | |
59 | perl: |
60 | - "5.8" |
209e3f37 |
61 | - "5.10" |
cdda207b |
62 | - "5.22-extras" |
dea888a6 |
63 | |
d70070c9 |
64 | matrix: |
070b8a0c |
65 | fast_finish: true |
cdda207b |
66 | |
d70070c9 |
67 | include: |
915876d7 |
68 | |
cdda207b |
69 | # Same as the "master matrix" above, frozen under older dist/infrastructure |
70 | # In genereal it is strongly recommended to keep things on the older |
71 | # version indefinitely - there is little value in-depth smoking on |
72 | # more recent software stacks |
73 | - perl: "5.8" |
74 | sudo: required |
75 | dist: precise |
6d2b5c14 |
76 | env: |
cdda207b |
77 | - CLEANTEST=false |
6d2b5c14 |
78 | |
209e3f37 |
79 | - perl: "5.10" |
80 | sudo: required |
81 | dist: precise |
82 | env: |
83 | - CLEANTEST=false |
84 | |
cdda207b |
85 | - perl: "5.22-extras" |
86 | sudo: required |
87 | dist: precise |
d70070c9 |
88 | env: |
cdda207b |
89 | - CLEANTEST=false |
d70070c9 |
90 | |
cdda207b |
91 | # CLEANTEST of minimum supported with non-tracing poisoning, single thread (hence the sudo) |
92 | - perl: "5.8.3_nt_mb" |
93 | sudo: required |
94 | dist: precise |
d70070c9 |
95 | env: |
cdda207b |
96 | - VCPU_USE=1 |
d70070c9 |
97 | - CLEANTEST=true |
cdda207b |
98 | - POISON_ENV=true |
99 | - DBIC_TRACE_PROFILE=console_monochrome |
100 | - BREWVER=5.8.3 |
ced296a8 |
101 | - BREWOPTS="-Dusemorebits" |
cdda207b |
102 | |
103 | # Full Test of minimum supported without threads with plain poisoned trace |
104 | - perl: "5.8.3_nt" |
105 | sudo: required |
106 | dist: precise |
107 | # run these under legacy - great simulation of low memory env |
108 | group: legacy |
109 | env: |
110 | - CLEANTEST=false |
111 | - POISON_ENV=true |
112 | - DBIC_TRACE=1 |
ced296a8 |
113 | - BREWVER=5.8.3 |
d70070c9 |
114 | |
cdda207b |
115 | # Full Test of minimum supported with threads with non-tracing poisoning |
116 | - perl: "5.8.5_thr" |
117 | sudo: required |
118 | dist: precise |
119 | # run these under legacy - great simulation of low memory env |
120 | group: legacy |
ced296a8 |
121 | env: |
122 | - CLEANTEST=false |
cdda207b |
123 | - POISON_ENV=true |
ced296a8 |
124 | - DBIC_TRACE_PROFILE=console |
cdda207b |
125 | - BREWVER=5.8.5 |
126 | - BREWOPTS="-Duseithreads" |
ced296a8 |
127 | |
cdda207b |
128 | # CLEANTEST of solaris-like perl with non-tracing poisoning |
129 | - perl: "5.8.4_nt" |
130 | sudo: false |
131 | dist: precise |
ced296a8 |
132 | env: |
cdda207b |
133 | - CLEANTEST=true |
134 | - POISON_ENV=true |
135 | - DBIC_TRACE_PROFILE=console |
136 | - BREWVER=5.8.4 |
ced296a8 |
137 | |
209e3f37 |
138 | # Full test: this particular perl is quite widespread, single thread |
cdda207b |
139 | - perl: "5.8.8_thr" |
209e3f37 |
140 | sudo: required |
cdda207b |
141 | dist: precise |
209e3f37 |
142 | group: legacy |
cdda207b |
143 | env: |
209e3f37 |
144 | - VCPU_USE=1 |
145 | - CLEANTEST=false |
cdda207b |
146 | - BREWVER=5.8.8 |
147 | - BREWOPTS="-Duseithreads" |
ced296a8 |
148 | |
cdda207b |
149 | # CLEANTEST: this is the perl suse ships, with env poisoning |
150 | - perl: "5.10.0_thr_dbg" |
151 | sudo: false |
152 | dist: precise |
7c1a09fc |
153 | env: |
cdda207b |
154 | - CLEANTEST=true |
7c1a09fc |
155 | - POISON_ENV=true |
cdda207b |
156 | - BREWVER=5.10.0 |
157 | - BREWOPTS="-DDEBUGGING -Duseithreads" |
158 | |
159 | # CLEANTEST: this one is in a number of debian-based LTS (test a sane CPAN.pm, single thread) |
160 | - perl: "5.14.2_thr_mb" |
161 | sudo: required |
162 | dist: precise |
163 | env: |
164 | - VCPU_USE=1 |
165 | - CLEANTEST=true |
166 | - BREWVER=5.14.2 |
7c1a09fc |
167 | - BREWOPTS="-Duseithreads -Dusemorebits" |
7c1a09fc |
168 | |
cdda207b |
169 | ### |
170 | # some permutations of tracing and envvar poisoning |
171 | |
172 | - perl: "5.12.3_thr" |
173 | sudo: false |
174 | dist: precise |
eba59b7e |
175 | env: |
cdda207b |
176 | - CLEANTEST=true |
eed5492f |
177 | - POISON_ENV=true |
cdda207b |
178 | - DBIC_TRACE=1 |
179 | - DBIC_MULTICREATE_DEBUG=1 |
180 | - DBIC_STORAGE_RETRY_DEBUG=1 |
7c1a09fc |
181 | - DBIC_TRACE_PROFILE=console |
cdda207b |
182 | - BREWVER=5.12.3 |
183 | - BREWOPTS="-Duseithreads" |
eba59b7e |
184 | |
cdda207b |
185 | - perl: "5.16.3_thr_mb" |
186 | sudo: required |
187 | dist: precise |
eba59b7e |
188 | env: |
cdda207b |
189 | - CLEANTEST=false |
eba59b7e |
190 | - DBIC_TRACE=1 |
209e3f37 |
191 | - DBICTEST_VERSION_WARNS_INDISCRIMINATELY=1 |
cdda207b |
192 | - BREWVER=5.16.3 |
193 | - BREWOPTS="-Duseithreads -Dusemorebits" |
eba59b7e |
194 | |
cdda207b |
195 | - perl: "5.18-extras" |
196 | sudo: required |
197 | # explicit new infra spec preparing for a future forced upgrade |
198 | dist: trusty |
eba59b7e |
199 | env: |
200 | - CLEANTEST=false |
eed5492f |
201 | - POISON_ENV=true |
eba59b7e |
202 | - DBIC_TRACE=1 |
203 | - DBIC_TRACE_PROFILE=console_monochrome |
cdda207b |
204 | - DBICTEST_VIA_REPLICATED=0 |
205 | - DBICTEST_VERSION_WARNS_INDISCRIMINATELY=1 |
eba59b7e |
206 | |
209e3f37 |
207 | # MAKE SURE TO KEEP THE FLAGS IDENTICAL TO CPERL BELOW |
208 | # allows for easier side-by-side comparison |
209 | # vcpu=1 for even more stable results |
210 | - perl: "5.22.2_thr_qm" |
211 | # explicit new infra spec preparing for a future forced upgrade |
212 | # also need to pull in a sufficiently new compiler for quadmath.h |
213 | sudo: required |
214 | dist: trusty |
215 | env: |
216 | - VCPU_USE=1 |
217 | - CLEANTEST=true |
218 | - POISON_ENV=true |
219 | - MVDT=false |
220 | - BREWVER=5.22.2 |
221 | - BREWOPTS="-Duseithreads -Dusequadmath" |
222 | |
261141ce |
223 | ### |
224 | # Start of the allow_failures block |
225 | |
209e3f37 |
226 | # MAKE SURE TO KEEP THE FLAGS IDENTICAL TO STOCK 5.latest.comparable ABOVE |
227 | # allows for easier side-by-side comparison |
228 | # vcpu=1 for even more stable results |
229 | - perl: "cperl-5.22.3_thr_qm" |
230 | # explicit new infra spec preparing for a future forced upgrade |
231 | # also need to pull in a sufficiently new compiler for quadmath.h |
232 | sudo: required |
233 | dist: trusty |
234 | env: |
235 | - VCPU_USE=1 |
236 | - CLEANTEST=true |
237 | - POISON_ENV=true |
238 | - MVDT=false |
239 | - BREWVER=cperl-5.22.3 |
240 | - BREWOPTS="-Duseithreads -Dusequadmath" |
241 | |
242 | - perl: "cperl-master_thr" |
243 | sudo: false |
244 | dist: precise |
245 | env: |
246 | - CLEANTEST=true |
247 | - POISON_ENV=true |
248 | - MVDT=false |
249 | - BREWVER=cperl-master |
250 | - BREWOPTS="-Duseithreads" |
251 | |
cdda207b |
252 | # threaded oldest possible with blead CPAN |
253 | - perl: "devcpan_5.8.1_thr_mb" |
254 | sudo: false |
255 | dist: precise |
dd5de10a |
256 | env: |
257 | - CLEANTEST=true |
dd5de10a |
258 | - DEVREL_DEPS=true |
cdda207b |
259 | - BREWVER=5.8.1 |
260 | - BREWOPTS="-Duseithreads -Dusemorebits" |
dd5de10a |
261 | |
cdda207b |
262 | # oldest possible with blead CPAN with poisoning and plain trace |
263 | - perl: "devcpan_5.8.1" |
264 | sudo: false |
265 | dist: precise |
e6b373aa |
266 | env: |
267 | - CLEANTEST=true |
e6b373aa |
268 | - DEVREL_DEPS=true |
cdda207b |
269 | - POISON_ENV=true |
270 | - DBIC_TRACE=1 |
271 | - DBICTEST_VERSION_WARNS_INDISCRIMINATELY=1 |
272 | - BREWVER=5.8.1 |
273 | |
274 | # 5.8.3 with blead CPAN |
275 | - perl: "devcpan_5.8.3_mb" |
276 | sudo: required |
277 | # explicit new infra spec preparing for a future forced upgrade |
278 | dist: trusty |
279 | env: |
280 | - CLEANTEST=false |
281 | - DEVREL_DEPS=true |
282 | - BREWVER=5.8.3 |
283 | - BREWOPTS="-Dusemorebits" |
e6b373aa |
284 | |
cdda207b |
285 | # 5.8.7 threaded with blead CPAN with non-tracing poisoning |
286 | - perl: "devcpan_5.8.7_thr" |
287 | sudo: false |
288 | dist: precise |
e6b373aa |
289 | env: |
290 | - CLEANTEST=true |
cdda207b |
291 | - DEVREL_DEPS=true |
292 | - POISON_ENV=true |
293 | - BREWVER=5.8.7 |
e6b373aa |
294 | - BREWOPTS="-Duseithreads" |
cdda207b |
295 | |
296 | # 5.8.8 threaded MB (exercises P5#72210) |
297 | - perl: "devcpan_5.8.8_thr_mb" |
298 | sudo: false |
299 | dist: precise |
300 | env: |
301 | - CLEANTEST=true |
302 | - DBICTEST_VERSION_WARNS_INDISCRIMINATELY=1 |
e6b373aa |
303 | - DEVREL_DEPS=true |
cdda207b |
304 | - BREWVER=5.8.8 |
305 | - BREWOPTS="-Duseithreads -Dusemorebits" |
e6b373aa |
306 | |
cdda207b |
307 | # 5.10.0 threaded with blead CPAN |
308 | - perl: "devcpan_5.10.0_thr_mb" |
309 | sudo: false |
310 | dist: precise |
2f51deb1 |
311 | env: |
cdda207b |
312 | - CLEANTEST=true |
313 | - DEVREL_DEPS=true |
314 | - BREWVER=5.10.0 |
2f51deb1 |
315 | - BREWOPTS="-Duseithreads -Dusemorebits" |
cdda207b |
316 | |
317 | # 5.12.1 with blead CPAN |
318 | - perl: "devcpan_5.12.1_thr" |
319 | sudo: false |
320 | dist: precise |
321 | env: |
322 | - CLEANTEST=true |
2f51deb1 |
323 | - DEVREL_DEPS=true |
cdda207b |
324 | - BREWVER=5.12.1 |
325 | - BREWOPTS="-Duseithreads" |
2f51deb1 |
326 | |
cdda207b |
327 | # bleadperl with stock CPAN, full depchain test with non-tracing poisoning, single thread |
328 | - perl: "bleadperl" |
329 | sudo: required |
330 | dist: precise |
261141ce |
331 | env: |
cdda207b |
332 | - VCPU_USE=1 |
c47de5de |
333 | - CLEANTEST=true |
cdda207b |
334 | - POISON_ENV=true |
261141ce |
335 | - BREWVER=blead |
336 | |
209e3f37 |
337 | # bleadperl with blead CPAN, single thread |
cdda207b |
338 | - perl: "devcpan_bleadperl_thr_mb" |
339 | sudo: required |
340 | # explicitly do not specify dist - see what the default does |
2f51deb1 |
341 | env: |
209e3f37 |
342 | - VCPU_USE=1 |
2f51deb1 |
343 | - CLEANTEST=false |
2f51deb1 |
344 | - DEVREL_DEPS=true |
cdda207b |
345 | - BREWVER=blead |
346 | - BREWOPTS="-Duseithreads -Dusemorebits" |
2f51deb1 |
347 | |
cdda207b |
348 | # CLEANTEST of http://schplog.schmorp.de/2015-06-06-a-stable-perl.html with non-tracing poisoning |
349 | - perl: "schmorp_stableperl_thr_mb" |
350 | sudo: false |
351 | dist: precise |
352 | env: |
353 | - CLEANTEST=true |
354 | - POISON_ENV=true |
355 | - BREWVER=schmorp_stableperl |
356 | - BREWOPTS="-Duseithreads -Dusemorebits" |
261141ce |
357 | |
358 | # which ones of the above can fail |
359 | allow_failures: |
f2f65c95 |
360 | |
f207111d |
361 | # these run with various dev snapshots - allowed to fail |
209e3f37 |
362 | - perl: cperl-5.22.3_thr_qm |
363 | - perl: cperl-master_thr |
cdda207b |
364 | - perl: devcpan_5.8.1_thr_mb |
365 | - perl: devcpan_5.8.1 |
366 | - perl: devcpan_5.8.3_mb |
21302b46 |
367 | - perl: devcpan_5.8.7_thr |
cdda207b |
368 | - perl: devcpan_5.8.8_thr_mb |
dd5de10a |
369 | - perl: devcpan_5.10.0_thr_mb |
cdda207b |
370 | - perl: devcpan_5.12.1_thr |
c47de5de |
371 | - perl: bleadperl |
2f51deb1 |
372 | - perl: devcpan_bleadperl_thr_mb |
cdda207b |
373 | - perl: schmorp_stableperl_thr_mb |
261141ce |
374 | |
375 | |
c4c7254d |
376 | ### |
377 | ### For the following two phases -e is *set* |
378 | ### |
b58ecb01 |
379 | |
d70070c9 |
380 | before_install: |
2b32a020 |
381 | # common functions for all run phases below |
c4c7254d |
382 | # |
383 | # this is an exporter - sourcing it is crucial |
384 | # among other things it also sets -e |
385 | # |
2b32a020 |
386 | - source maint/travis-ci_scripts/common.bash |
387 | |
b58ecb01 |
388 | # Sets global envvars, downloads/configures debs based on CLEANTEST |
389 | # Sets extra DBICTEST_* envvars |
390 | # |
c4c7254d |
391 | # this is an exporter - sourcing it is crucial |
392 | # |
b58ecb01 |
393 | - source maint/travis-ci_scripts/10_before_install.bash |
d70070c9 |
394 | |
395 | install: |
396 | # Build and switch to a custom perl if requested |
b58ecb01 |
397 | # Configure the perl env, preinstall some generic toolchain parts |
c4c7254d |
398 | # Possibly poison the environment |
399 | # |
400 | # this is an exporter - sourcing it is crucial |
b58ecb01 |
401 | # |
b58ecb01 |
402 | - source maint/travis-ci_scripts/20_install.bash |
d70070c9 |
403 | |
c4c7254d |
404 | ### |
405 | ### From this point on -e is *unset*, rely on travis' error handling |
406 | ### |
407 | - set +e |
408 | |
b58ecb01 |
409 | before_script: |
410 | # Preinstall/install deps based on envvars/CLEANTEST |
411 | # |
c4c7254d |
412 | # need to invoke the after_failure script manually |
413 | # because 'after_failure' runs only after 'script' fails |
414 | # |
cdda207b |
415 | - maint/getstatus maint/travis-ci_scripts/30_before_script.bash |
c299fd65 |
416 | |
b58ecb01 |
417 | script: |
418 | # Run actual tests |
419 | # |
c4c7254d |
420 | - maint/getstatus maint/travis-ci_scripts/40_script.bash |
c87d30a7 |
421 | |
cdda207b |
422 | ### |
423 | ### Set -e back, work around https://github.com/travis-ci/travis-ci/issues/3533 |
424 | ### |
425 | - set -e |
426 | |
c87d30a7 |
427 | after_success: |
209e3f37 |
428 | # Disabled |
b58ecb01 |
429 | # |
209e3f37 |
430 | #- maint/getstatus maint/travis-ci_scripts/50_after_success.bash |
b58ecb01 |
431 | |
432 | after_failure: |
c4c7254d |
433 | # Final sysinfo printout on fail |
b58ecb01 |
434 | # |
c4c7254d |
435 | - maint/getstatus maint/travis-ci_scripts/50_after_failure.bash |
b58ecb01 |
436 | |
437 | after_script: |
438 | # No tasks yet |
439 | # |
c4c7254d |
440 | #- maint/getstatus maint/travis-ci_scripts/60_after_script.bash |