(travis) Switch to our own copy of the Firebird ODBC driver
[dbsrgits/DBIx-Class.git] / .travis.yml
CommitLineData
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 17branches:
a0acdea0 18 except:
19 - /^wip\//
20 - /^blocked/
d70070c9 21
22notifications:
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 38addons:
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 45language: perl
d70070c9 46
cdda207b 47# Currently not trying osx: https://github.com/travis-ci/travis-ci/issues/2314
48os: 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
55dist: precise
56sudo: false
57env: CLEANTEST=true
58
59perl:
60 - "5.8"
209e3f37 61 - "5.10"
cdda207b 62 - "5.22-extras"
dea888a6 63
d70070c9 64matrix:
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 380before_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
395install:
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 409before_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 417script:
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 427after_success:
209e3f37 428 # Disabled
b58ecb01 429 #
209e3f37 430 #- maint/getstatus maint/travis-ci_scripts/50_after_success.bash
b58ecb01 431
432after_failure:
c4c7254d 433 # Final sysinfo printout on fail
b58ecb01 434 #
c4c7254d 435 - maint/getstatus maint/travis-ci_scripts/50_after_failure.bash
b58ecb01 436
437after_script:
438 # No tasks yet
439 #
c4c7254d 440 #- maint/getstatus maint/travis-ci_scripts/60_after_script.bash