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