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 |
9 | # attention of ribasushi. *DO NOT* disable 5.8 testing - it is here for a |
10 | # reason |
11 | # |
6d2b5c14 |
12 | # * The matrix is built from two main modes - CLEANTEST = [true|false]. |
13 | # - In the first case we test with minimal deps available, and skip everything |
14 | # listed in DBIC::OptDesps. The modules are installed with classic CPAN |
15 | # invocations and are *fully tested*. In other words we simulate what would |
16 | # happen if a user tried to install on a just-compiled virgin perl |
17 | # - Without CLEANTEST we bring the armada of RDBMS and install the maximum |
18 | # possible set of deps *without testing them*. This ensures we stay within |
19 | # a reasonable build-time and still run as many of our tests as possible |
d70070c9 |
20 | # |
6d2b5c14 |
21 | # * The perl builds and the DBIC tests run under NUMTHREADS number of threads. |
22 | # The testing of dependencies under CLEANTEST runs single-threaded, at least |
23 | # until we fix our entire dep-chain to safely pass under -j |
d70070c9 |
24 | # |
25 | # * The way .travis.yml is fed to the command controller is idiotic - it |
26 | # makes using multiline `bash -c` statements impossible. Therefore to |
27 | # aid readability (our travis logic is rather complex), the bulk of |
b58ecb01 |
28 | # functionality is moved to scripts. More about the problem (and the |
d70070c9 |
29 | # WONTFIX "explanation") here: https://github.com/travis-ci/travis-ci/issues/497 |
30 | # |
31 | |
d0b79c51 |
32 | # |
a0acdea0 |
33 | # Smoke all branches except for blocked* and wip/* |
d0b79c51 |
34 | # |
a0acdea0 |
35 | # Additionally master does not smoke with bleadperl |
36 | # ( implemented in maint/travis-ci_scripts/10_before_install.bash ) |
d0b79c51 |
37 | # |
d70070c9 |
38 | branches: |
a0acdea0 |
39 | except: |
40 | - /^wip\// |
41 | - /^blocked/ |
d70070c9 |
42 | |
43 | notifications: |
44 | irc: |
45 | channels: |
46 | - "irc.perl.org#dbic-smoke" |
47 | template: |
48 | - "%{branch}#%{build_number} by %{author}: %{message} (%{build_url})" |
49 | on_success: change |
50 | on_failure: always |
51 | use_notice: true |
52 | |
53 | email: |
2af1c37d |
54 | recipients: |
55 | - ribasushi@cpan.org |
56 | # Temporary - if it proves to be too noisy, we'll shut it off |
ee896495 |
57 | #- dbix-class-devel@lists.scsys.co.uk |
2af1c37d |
58 | on_success: change |
4ac234b5 |
59 | on_failure: always |
d70070c9 |
60 | |
915876d7 |
61 | language: perl |
d70070c9 |
62 | |
915876d7 |
63 | perl: |
e83a258e |
64 | - "5.18" |
915876d7 |
65 | |
d70070c9 |
66 | env: |
67 | - CLEANTEST=false |
68 | - CLEANTEST=true |
dea888a6 |
69 | |
d70070c9 |
70 | matrix: |
71 | include: |
ced296a8 |
72 | # this particular perl is quite widespread |
73 | - perl: 5.8.8_thr_mb |
d70070c9 |
74 | env: |
ced296a8 |
75 | - CLEANTEST=true |
76 | - BREWOPTS="-Duseithreads -Dusemorebits" |
77 | - BREWVER=5.8.8 |
915876d7 |
78 | |
ced296a8 |
79 | # so is this one (test a sane CPAN.pm) |
80 | - perl: 5.12.4_thr_mb |
6d2b5c14 |
81 | env: |
82 | - CLEANTEST=true |
ced296a8 |
83 | - BREWOPTS="-Duseithreads -Dusemorebits" |
84 | - BREWVER=5.12.4 |
6d2b5c14 |
85 | |
d70070c9 |
86 | # this is the perl suse ships |
87 | - perl: 5.10.0_thr_dbg |
88 | env: |
89 | - CLEANTEST=true |
90 | - BREWOPTS="-DDEBUGGING -Duseithreads" |
91 | - BREWVER=5.10.0 |
92 | |
ced296a8 |
93 | # CLEANTEST of minimum supported |
94 | - perl: 5.8.3_nt_mb |
d70070c9 |
95 | env: |
96 | - CLEANTEST=true |
ced296a8 |
97 | - BREWOPTS="-Dusemorebits" |
98 | - BREWVER=5.8.3 |
d70070c9 |
99 | |
ced296a8 |
100 | # Full Test of minimum supported with threads |
101 | - perl: 5.8.5_thr |
102 | env: |
103 | - CLEANTEST=false |
104 | - BREWOPTS="-Duseithreads" |
105 | - BREWVER=5.8.5 |
106 | - DBIC_TRACE_PROFILE=console |
107 | |
108 | # Full Test of minimum supported without threads |
109 | - perl: 5.8.3_nt |
110 | env: |
111 | - CLEANTEST=false |
112 | - BREWOPTS="" |
113 | - BREWVER=5.8.3 |
114 | - DBIC_TRACE_PROFILE=console_monochrome |
115 | |
116 | ### |
eed5492f |
117 | # some permutations of tracing and envvar poisoning |
ced296a8 |
118 | |
7c1a09fc |
119 | - perl: 5.18.1_thr_mb |
120 | env: |
121 | - CLEANTEST=false |
122 | - POISON_ENV=true |
123 | - DBIC_TRACE=1 |
124 | - DBIC_MULTICREATE_DEBUG=0 |
125 | - BREWOPTS="-Duseithreads -Dusemorebits" |
126 | - BREWVER=5.18.1 |
127 | |
e83a258e |
128 | - perl: 5.18 |
eba59b7e |
129 | env: |
130 | - CLEANTEST=false |
eed5492f |
131 | - POISON_ENV=true |
7c1a09fc |
132 | - DBIC_TRACE_PROFILE=console |
eba59b7e |
133 | |
e83a258e |
134 | - perl: 5.18 |
eba59b7e |
135 | env: |
136 | - CLEANTEST=true |
eed5492f |
137 | - POISON_ENV=true |
eba59b7e |
138 | - DBIC_TRACE=1 |
139 | - DBIC_TRACE_PROFILE=console |
140 | |
e83a258e |
141 | - perl: 5.18 |
eba59b7e |
142 | env: |
143 | - CLEANTEST=false |
eed5492f |
144 | - POISON_ENV=true |
eba59b7e |
145 | - DBIC_TRACE=1 |
146 | - DBIC_TRACE_PROFILE=console_monochrome |
8bc629c4 |
147 | - DBIC_MULTICREATE_DEBUG=0 |
eba59b7e |
148 | |
261141ce |
149 | ### |
150 | # Start of the allow_failures block |
151 | |
2f51deb1 |
152 | # recentish stable with blead CPAN |
153 | - perl: devcpan_5.18.1_thr_mb |
154 | env: |
155 | - CLEANTEST=false |
156 | - BREWOPTS="-Duseithreads -Dusemorebits" |
157 | - BREWVER=5.18.1 |
158 | - DEVREL_DEPS=true |
159 | |
160 | # bleadperl with stock CPAN |
261141ce |
161 | - perl: bleadperl_thr_mb |
162 | env: |
163 | - CLEANTEST=false |
164 | - BREWOPTS="-Duseithreads -Dusemorebits" |
165 | - BREWVER=blead |
166 | |
2f51deb1 |
167 | # bleadperl with blead CPAN |
168 | - perl: devcpan_bleadperl_thr_mb |
169 | env: |
170 | - CLEANTEST=false |
171 | - BREWOPTS="-Duseithreads -Dusemorebits" |
172 | - BREWVER=blead |
173 | - DEVREL_DEPS=true |
174 | |
261141ce |
175 | |
176 | # which ones of the above can fail |
177 | allow_failures: |
f207111d |
178 | # these run with various dev snapshots - allowed to fail |
2f51deb1 |
179 | - perl: devcpan_5.18.1_thr_mb |
261141ce |
180 | - perl: bleadperl_thr_mb |
2f51deb1 |
181 | - perl: devcpan_bleadperl_thr_mb |
261141ce |
182 | |
183 | |
b58ecb01 |
184 | # sourcing the files is *EXTREMELY* important - otherwise |
185 | # no envvars will survive |
186 | |
5cbe5b12 |
187 | # the entire run times out after 50 minutes, or after 5 minutes without |
188 | # console output |
b58ecb01 |
189 | |
d70070c9 |
190 | before_install: |
b58ecb01 |
191 | # Sets global envvars, downloads/configures debs based on CLEANTEST |
192 | # Sets extra DBICTEST_* envvars |
193 | # |
b58ecb01 |
194 | - source maint/travis-ci_scripts/10_before_install.bash |
d70070c9 |
195 | |
196 | install: |
197 | # Build and switch to a custom perl if requested |
b58ecb01 |
198 | # Configure the perl env, preinstall some generic toolchain parts |
199 | # |
b58ecb01 |
200 | - source maint/travis-ci_scripts/20_install.bash |
d70070c9 |
201 | |
b58ecb01 |
202 | before_script: |
203 | # Preinstall/install deps based on envvars/CLEANTEST |
204 | # |
b58ecb01 |
205 | - source maint/travis-ci_scripts/30_before_script.bash |
c299fd65 |
206 | |
b58ecb01 |
207 | script: |
208 | # Run actual tests |
209 | # |
b58ecb01 |
210 | - source maint/travis-ci_scripts/40_script.bash |
c87d30a7 |
211 | |
212 | after_success: |
b58ecb01 |
213 | # Check if we can assemble a dist properly if not in CLEANTEST |
214 | # |
b58ecb01 |
215 | - source maint/travis-ci_scripts/50_after_success.bash |
216 | |
217 | after_failure: |
218 | # No tasks yet |
219 | # |
b58ecb01 |
220 | #- source maint/travis-ci_scripts/50_after_failure.bash |
221 | |
222 | after_script: |
223 | # No tasks yet |
224 | # |
b58ecb01 |
225 | #- source maint/travis-ci_scripts/60_after_script.bash |
5e99a71a |
226 | |
227 | # if we do not unset this before we terminate the travis teardown will |
228 | # mark the entire job as failed |
229 | - set +e |