Release v0.08271
[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
83c94794 9# attention of the maintainer. *DO NOT* disable 5.8 testing - it is here for
10# a very good reason
d70070c9 11#
83c94794 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:
83c94794 34 - CPAN-CI@leporine.io
2af1c37d 35 on_success: change
4ac234b5 36 on_failure: always
d70070c9 37
83c94794 38addons:
39 apt:
40 packages:
41 - libapp-nopaste-perl
42 - net-tools
003e97c5 43
83c94794 44# This is probably a net-loss for setup etc - a bare 'C' will likely fare much better
915876d7 45language: perl
d70070c9 46
83c94794 47# Currently not trying osx: https://github.com/travis-ci/travis-ci/issues/2314
48os: linux
915876d7 49
83c94794 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"
61 - "5.10"
62 - "5.22-extras"
dea888a6 63
d70070c9 64matrix:
83c94794 65 fast_finish: true
66
d70070c9 67 include:
83c94794 68
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
d70070c9 76 env:
83c94794 77 - CLEANTEST=false
915876d7 78
83c94794 79 - perl: "5.10"
80 sudo: required
81 dist: precise
6d2b5c14 82 env:
83c94794 83 - CLEANTEST=false
6d2b5c14 84
83c94794 85 - perl: "5.22-extras"
86 sudo: required
87 dist: precise
d70070c9 88 env:
83c94794 89 - CLEANTEST=false
d70070c9 90
83c94794 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:
83c94794 96 - VCPU_USE=1
d70070c9 97 - CLEANTEST=true
83c94794 98 - POISON_ENV=true
99 - DBIC_TRACE_PROFILE=console_monochrome
100 - BREWVER=5.8.3
ced296a8 101 - BREWOPTS="-Dusemorebits"
83c94794 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
83c94794 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
83c94794 123 - POISON_ENV=true
124 - DBIC_TRACE_PROFILE=console
ced296a8 125 - BREWVER=5.8.5
83c94794 126 - BREWOPTS="-Duseithreads"
127
128 # CLEANTEST of solaris-like perl with non-tracing poisoning
129 - perl: "5.8.4_nt"
130 sudo: false
131 dist: precise
132 env:
133 - CLEANTEST=true
134 - POISON_ENV=true
ced296a8 135 - DBIC_TRACE_PROFILE=console
83c94794 136 - BREWVER=5.8.4
ced296a8 137
83c94794 138 # Full test: this particular perl is quite widespread, single thread
139 - perl: "5.8.8_thr"
140 sudo: required
141 dist: precise
142 group: legacy
ced296a8 143 env:
83c94794 144 - VCPU_USE=1
ced296a8 145 - CLEANTEST=false
83c94794 146 - BREWVER=5.8.8
147 - BREWOPTS="-Duseithreads"
ced296a8 148
83c94794 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:
83c94794 154 - CLEANTEST=true
7c1a09fc 155 - POISON_ENV=true
83c94794 156 - BREWVER=5.10.0
157 - BREWOPTS="-DDEBUGGING -Duseithreads"
7c1a09fc 158
83c94794 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
eba59b7e 163 env:
83c94794 164 - VCPU_USE=1
165 - CLEANTEST=true
166 - BREWVER=5.14.2
167 - BREWOPTS="-Duseithreads -Dusemorebits"
eba59b7e 168
83c94794 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:
176 - CLEANTEST=true
eed5492f 177 - POISON_ENV=true
eba59b7e 178 - DBIC_TRACE=1
83c94794 179 - DBIC_MULTICREATE_DEBUG=1
180 - DBIC_STORAGE_RETRY_DEBUG=1
eba59b7e 181 - DBIC_TRACE_PROFILE=console
83c94794 182 - BREWVER=5.12.3
183 - BREWOPTS="-Duseithreads"
eba59b7e 184
83c94794 185 - perl: "5.16.3_thr_mb"
186 sudo: required
187 dist: precise
188 env:
189 - CLEANTEST=false
190 - DBIC_TRACE=1
191 - DBICTEST_VERSION_WARNS_INDISCRIMINATELY=1
192 - BREWVER=5.16.3
193 - BREWOPTS="-Duseithreads -Dusemorebits"
194
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
83c94794 204 - DBICTEST_VIA_REPLICATED=0
205 - DBICTEST_VERSION_WARNS_INDISCRIMINATELY=1
eba59b7e 206
261141ce 207 ###
208 # Start of the allow_failures block
209
83c94794 210 # threaded oldest possible with blead CPAN
211 - perl: "devcpan_5.8.1_thr_mb"
212 sudo: false
213 dist: precise
dd5de10a 214 env:
215 - CLEANTEST=true
dd5de10a 216 - DEVREL_DEPS=true
83c94794 217 - BREWVER=5.8.1
218 - BREWOPTS="-Duseithreads -Dusemorebits"
dd5de10a 219
83c94794 220 # oldest possible with blead CPAN with poisoning and plain trace
221 - perl: "devcpan_5.8.1"
222 sudo: false
223 dist: precise
e6b373aa 224 env:
225 - CLEANTEST=true
e6b373aa 226 - DEVREL_DEPS=true
83c94794 227 - POISON_ENV=true
228 - DBIC_TRACE=1
229 - DBICTEST_VERSION_WARNS_INDISCRIMINATELY=1
230 - BREWVER=5.8.1
231
232 # 5.8.3 with blead CPAN
233 - perl: "devcpan_5.8.3_mb"
234 sudo: required
235 # explicit new infra spec preparing for a future forced upgrade
236 dist: trusty
237 env:
238 - CLEANTEST=false
239 - DEVREL_DEPS=true
240 - BREWVER=5.8.3
241 - BREWOPTS="-Dusemorebits"
e6b373aa 242
83c94794 243 # 5.8.7 threaded with blead CPAN with non-tracing poisoning
244 - perl: "devcpan_5.8.7_thr"
245 sudo: false
246 dist: precise
e6b373aa 247 env:
248 - CLEANTEST=true
83c94794 249 - DEVREL_DEPS=true
250 - POISON_ENV=true
251 - BREWVER=5.8.7
e6b373aa 252 - BREWOPTS="-Duseithreads"
83c94794 253
254 # 5.8.8 threaded MB (exercises P5#72210)
255 - perl: "devcpan_5.8.8_thr_mb"
256 sudo: false
257 dist: precise
258 env:
259 - CLEANTEST=true
260 - DBICTEST_VERSION_WARNS_INDISCRIMINATELY=1
e6b373aa 261 - DEVREL_DEPS=true
83c94794 262 - BREWVER=5.8.8
263 - BREWOPTS="-Duseithreads -Dusemorebits"
e6b373aa 264
83c94794 265 # 5.10.0 threaded with blead CPAN
266 - perl: "devcpan_5.10.0_thr_mb"
267 sudo: false
268 dist: precise
2f51deb1 269 env:
83c94794 270 - CLEANTEST=true
271 - DEVREL_DEPS=true
272 - BREWVER=5.10.0
2f51deb1 273 - BREWOPTS="-Duseithreads -Dusemorebits"
83c94794 274
275 # 5.12.1 with blead CPAN
276 - perl: "devcpan_5.12.1_thr"
277 sudo: false
278 dist: precise
279 env:
280 - CLEANTEST=true
2f51deb1 281 - DEVREL_DEPS=true
83c94794 282 - BREWVER=5.12.1
283 - BREWOPTS="-Duseithreads"
2f51deb1 284
83c94794 285 # bleadperl with stock CPAN, full depchain test with non-tracing poisoning, single thread
286 - perl: "bleadperl"
287 sudo: required
288 dist: precise
261141ce 289 env:
83c94794 290 - VCPU_USE=1
c47de5de 291 - CLEANTEST=true
83c94794 292 - POISON_ENV=true
261141ce 293 - BREWVER=blead
294
83c94794 295 # bleadperl with blead CPAN, single thread
296 - perl: "devcpan_bleadperl_thr_mb"
297 sudo: required
298 # explicitly do not specify dist - see what the default does
2f51deb1 299 env:
83c94794 300 - VCPU_USE=1
2f51deb1 301 - CLEANTEST=false
2f51deb1 302 - DEVREL_DEPS=true
83c94794 303 - BREWVER=blead
304 - BREWOPTS="-Duseithreads -Dusemorebits"
261141ce 305
306 # which ones of the above can fail
307 allow_failures:
f2f65c95 308
f207111d 309 # these run with various dev snapshots - allowed to fail
83c94794 310 - perl: devcpan_5.8.1_thr_mb
311 - perl: devcpan_5.8.1
312 - perl: devcpan_5.8.3_mb
21302b46 313 - perl: devcpan_5.8.7_thr
83c94794 314 - perl: devcpan_5.8.8_thr_mb
dd5de10a 315 - perl: devcpan_5.10.0_thr_mb
83c94794 316 - perl: devcpan_5.12.1_thr
c47de5de 317 - perl: bleadperl
2f51deb1 318 - perl: devcpan_bleadperl_thr_mb
261141ce 319
320
83c94794 321###
322### For the following two phases -e is *set*
323###
b58ecb01 324
d70070c9 325before_install:
83c94794 326 # common functions for all run phases below
327 #
328 # this is an exporter - sourcing it is crucial
329 # among other things it also sets -e
330 #
331 - source maint/travis-ci_scripts/common.bash
332
b58ecb01 333 # Sets global envvars, downloads/configures debs based on CLEANTEST
334 # Sets extra DBICTEST_* envvars
335 #
83c94794 336 # this is an exporter - sourcing it is crucial
337 #
b58ecb01 338 - source maint/travis-ci_scripts/10_before_install.bash
d70070c9 339
340install:
341 # Build and switch to a custom perl if requested
b58ecb01 342 # Configure the perl env, preinstall some generic toolchain parts
83c94794 343 # Possibly poison the environment
344 #
345 # this is an exporter - sourcing it is crucial
b58ecb01 346 #
b58ecb01 347 - source maint/travis-ci_scripts/20_install.bash
d70070c9 348
83c94794 349###
350### From this point on -e is *unset*, rely on travis' error handling
351###
352 - set +e
353
b58ecb01 354before_script:
355 # Preinstall/install deps based on envvars/CLEANTEST
356 #
83c94794 357 # need to invoke the after_failure script manually
358 # because 'after_failure' runs only after 'script' fails
359 #
360 - maint/getstatus maint/travis-ci_scripts/30_before_script.bash
c299fd65 361
b58ecb01 362script:
363 # Run actual tests
364 #
83c94794 365 - maint/getstatus maint/travis-ci_scripts/40_script.bash
366
367###
368### Set -e back, work around https://github.com/travis-ci/travis-ci/issues/3533
369###
370 - set -e
c87d30a7 371
372after_success:
83c94794 373 # Disabled
b58ecb01 374 #
83c94794 375 #- maint/getstatus maint/travis-ci_scripts/50_after_success.bash
b58ecb01 376
377after_failure:
83c94794 378 # Final sysinfo printout on fail
b58ecb01 379 #
83c94794 380 - maint/getstatus maint/travis-ci_scripts/50_after_failure.bash
b58ecb01 381
382after_script:
383 # No tasks yet
384 #
83c94794 385 #- maint/getstatus maint/travis-ci_scripts/60_after_script.bash