(travis) Revisit the CI test matrix, and multiple run-script improvements
[dbsrgits/DBIx-Class.git] / maint / travis-ci_scripts / 30_before_script.bash
index b6b7587..8ca7f97 100755 (executable)
@@ -8,10 +8,11 @@ if [[ -n "$SHORT_CIRCUIT_SMOKE" ]] ; then exit 0 ; fi
 # FIXME - this is a kludge in place of proper MDV testing. For the time
 # being simply use the minimum versions of our DBI/DBDstack, to avoid
 # fuckups like 0.08260 (went unnoticed for 5 months)
-if [[ "$POISON_ENV" = "true" ]] ; then
+if [[ "$DEVREL_DEPS" != "true" ]] && [[ "$POISON_ENV" = "true" ]] ; then
 
   # use url-spec for DBI due to https://github.com/miyagawa/cpanminus/issues/328
-  if perl -M5.013003 -e1 &>/dev/null ; then
+  if [[ "$CLEANTEST" != "true" ]] || perl -M5.013003 -e1 &>/dev/null ; then
+    # the fulltest may re-upgrade DBI, be conservative only on cleantests
     # earlier DBI will not compile without PERL_POLLUTE which was gone in 5.14
     parallel_installdeps_notest T/TI/TIMB/DBI-1.614.tar.gz
   else
@@ -19,6 +20,7 @@ if [[ "$POISON_ENV" = "true" ]] ; then
   fi
 
   # Test both minimum DBD::SQLite and minimum BigInt SQLite
+  # reverse the logic from above for this (low on full, higher on clean)
   if [[ "$CLEANTEST" = "true" ]]; then
     parallel_installdeps_notest DBD::SQLite@1.37
   else
@@ -88,10 +90,16 @@ else
   parallel_installdeps_notest YAML LWP Class::Trigger JSON::XS DateTime::Format::Builder Class::Accessor::Grouped Package::Variant
   parallel_installdeps_notest SQL::Abstract Moose Module::Install JSON SQL::Translator File::Which
 
+  # Neither DBD::Interbase nor DBD::Firebird compile on DBI < 1.611, so when
+  # we POISON_ENV - nothing will work on 1.57
+  if ( perl -MDBI -e 1 && ! perl -MDBI\ 1.611 -e 1 )&>/dev/null ; then
+    unset DBICTEST_FIREBIRD_DSN DBICTEST_FIREBIRD_INTERBASE_DSN
+  fi
+
+  # the official version is very much outdated and does not compile on 5.14+
+  # use this rather updated source tree (needs to go to PAUSE):
+  # https://github.com/pilcrow/perl-dbd-interbase
   if [[ -n "$DBICTEST_FIREBIRD_INTERBASE_DSN" ]] ; then
-    # the official version is very much outdated and does not compile on 5.14+
-    # use this rather updated source tree (needs to go to PAUSE):
-    # https://github.com/pilcrow/perl-dbd-interbase
     parallel_installdeps_notest git://github.com/dbsrgits/perl-dbd-interbase.git
   fi