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