(travis) Add cperl master to the smoke roster, bump to 5.22.3
Peter Rabbitson [Thu, 2 Jun 2016 17:55:31 +0000 (19:55 +0200)]
.travis.yml
maint/travis-ci_scripts/20_install.bash
maint/travis-ci_scripts/30_before_script.bash

index fe1c571..2b0d8b9 100644 (file)
@@ -223,10 +223,10 @@ matrix:
     ###
     # Start of the allow_failures block
 
-    # MAKE SURE TO KEEP THE FLAGS IDENTICAL TO STOCK 5.22.1 ABOVE
+    # MAKE SURE TO KEEP THE FLAGS IDENTICAL TO STOCK 5.latest.comparable ABOVE
     # allows for easier side-by-side comparison
     # vcpu=1 for even more stable results
-    - perl: "cperl-5.22.2_thr_qm"
+    - perl: "cperl-5.22.3_thr_qm"
       # explicit new infra spec preparing for a future forced upgrade
       # also need to pull in a sufficiently new compiler for quadmath.h
       sudo: required
@@ -236,9 +236,19 @@ matrix:
         - CLEANTEST=true
         - POISON_ENV=true
         - MVDT=false
-        - BREWVER=cperl-5.22.2
+        - BREWVER=cperl-5.22.3
         - BREWOPTS="-Duseithreads -Dusequadmath"
 
+    - perl: "cperl-master_thr"
+      sudo: false
+      dist: precise
+      env:
+        - CLEANTEST=true
+        - POISON_ENV=true
+        - MVDT=false
+        - BREWVER=cperl-master
+        - BREWOPTS="-Duseithreads"
+
     # threaded oldest possible with blead CPAN
     - perl: "devcpan_5.8.1_thr_mb"
       sudo: false
@@ -349,7 +359,8 @@ matrix:
   allow_failures:
 
     # these run with various dev snapshots - allowed to fail
-    - perl: cperl-5.22.2_thr_qm
+    - perl: cperl-5.22.3_thr_qm
+    - perl: cperl-master_thr
     - perl: devcpan_5.8.1_thr_mb
     - perl: devcpan_5.8.1
     - perl: devcpan_5.8.3_mb
index 4fc50d0..947bf1e 100755 (executable)
@@ -32,9 +32,14 @@ if [[ -n "$BREWVER" ]] ; then
   BREWSRC="$BREWVER"
 
   if is_cperl; then
-    # FFS perlbrew ( see http://wollmers-perl.blogspot.de/2015/10/install-cperl-with-perlbrew.html )
-    wget -qO- https://github.com/perl11/cperl/archive/$BREWVER.tar.gz > /tmp/cperl-$BREWVER.tar.gz
-    BREWSRC="/tmp/cperl-$BREWVER.tar.gz"
+    if [[ "$BREWVER" == "cperl-master" ]] ; then
+      git clone --single-branch --depth=1 --branch=master https://github.com/perl11/cperl /tmp/cperl-master
+      BREWSRC="/tmp/cperl-master"
+    else
+      # FFS perlbrew ( see http://wollmers-perl.blogspot.de/2015/10/install-cperl-with-perlbrew.html )
+      wget -qO- https://github.com/perl11/cperl/archive/$BREWVER.tar.gz > /tmp/cperl-$BREWVER.tar.gz
+      BREWSRC="/tmp/cperl-$BREWVER.tar.gz"
+    fi
   elif [[ "$BREWVER" == "schmorp_stableperl" ]] ; then
     BREWSRC="http://stableperl.schmorp.de/dist/stableperl-5.22.0-1.001.tar.gz"
   fi
@@ -43,6 +48,7 @@ if [[ -n "$BREWVER" ]] ; then
     "perlbrew install --as $BREWVER --notest --noman --verbose $BREWOPTS -j${perlbrew_jopt:-1}  $BREWSRC"
 
   # FIXME work around https://github.com/perl11/cperl/issues/144
+  # (still affecting 5.22.3)
   if is_cperl && ! [[ -f ~/perl5/perlbrew/perls/$BREWVER/bin/perl ]] ; then
     ln -s ~/perl5/perlbrew/perls/$BREWVER/bin/cperl ~/perl5/perlbrew/perls/$BREWVER/bin/perl
   fi
@@ -141,21 +147,17 @@ if [[ "$POISON_ENV" = "true" ]] ; then
 
 ### emulate a local::lib-like env
 
-  # FIXME - work around https://github.com/perl11/cperl/issues/145
-  if ! is_cperl ; then
-    # trick cpanm into executing true as shell - we just need the find+unpack
-    run_or_err "Downloading latest stable DBIC from CPAN" \
-      "SHELL=/bin/true cpanm --look DBIx::Class"
-
-    # move it somewhere as following cpanm will clobber it
-    run_or_err "Moving latest stable DBIC from CPAN to /tmp" "mv ~/.cpanm/latest-build/DBIx-Class-*/lib /tmp/stable_dbic_lib"
+  # trick cpanm into executing true as shell - we just need the find+unpack
+  run_or_err "Downloading latest stable DBIC from CPAN" \
+    "SHELL=/bin/true cpanm --look DBIx::Class"
 
-    export PERL5LIB="/tmp/stable_dbic_lib:$PERL5LIB"
+  # move it somewhere as following cpanm will clobber it
+  run_or_err "Moving latest stable DBIC from CPAN to /tmp" "mv ~/.cpanm/latest-build/DBIx-Class-*/lib /tmp/stable_dbic_lib"
 
-    # perldoc -l <mod> searches $(pwd)/lib in addition to PERL5LIB etc, hence the cd /
-    echo_err "Latest stable DBIC (without deps) locatable via \$PERL5LIB at $(cd / && perldoc -l DBIx::Class)"
-  fi
+  export PERL5LIB="/tmp/stable_dbic_lib:$PERL5LIB"
 
+  # perldoc -l <mod> searches $(pwd)/lib in addition to PERL5LIB etc, hence the cd /
+  echo_err "Latest stable DBIC (without deps) locatable via \$PERL5LIB at $(cd / && perldoc -l DBIx::Class)"
 fi
 
 if [[ "$CLEANTEST" != "true" ]] ; then
index 091e155..71bf162 100755 (executable)
@@ -12,8 +12,6 @@ if [[ "$DEVREL_DEPS" == "true" ]] ; then
 fi
 
 # Need a shitton of patches to run on cperl (luckily all provided)
-# Also need to have YAML in place, otherwise the distroprefs are not readable
-# (cperl 5.22.2 comes with YAML already)
 if is_cperl ; then
 
   run_or_err "Downloading and installing cperl distroprefs" '
@@ -21,6 +19,12 @@ if is_cperl ; then
     tar -C $HOME/.cpan --strip-components 1 -zx distroprefs-master/prefs distroprefs-master/sources
   '
 
+  # Argh -DFORTIFY_INC!!!
+  # FIXME - remove when M::I is gone
+  export PERL5LIB="$PERL5LIB:."
+
+  # Also need to have YAML in place, otherwise the distroprefs are not readable
+  # (cperl 5.22.2 comes with YAML already)
   perl -M5.022002 -e1 &>/dev/null || installdeps YAML
 
 fi
@@ -101,24 +105,12 @@ if [[ "$CLEANTEST" = "true" ]]; then
   # the point is to have a *really* clean perl (the ones
   # we build are guaranteed to be clean, without side
   # effects from travis preinstalls)
+  #
+  # trick cpanm into executing true as shell - we just need the find+unpack
+  [[ -d ~/.cpanm/latest-build/DBIx-Class-*/inc ]] || run_or_err "Downloading latest stable DBIC inc/ from CPAN" \
+    "SHELL=/bin/true cpanm --look DBIx::Class"
 
-  # work around https://github.com/perl11/cperl/issues/145 (no cpanm)
-  if is_cperl ; then
-
-    wget -qO- $( wget -qO- http://cpanmetadb.plackperl.org/v1.0/package/DBIx::Class | grep distfile | sed "s|distfile:\s*|$CPAN_MIRROR/authors/id/|" ) \
-  | tar -zx --strip-components 1 --wildcards '*/inc'
-
-    # FIXME - kill this when M::I is gone
-    # Argh -DFORTIFY_INC!!!
-    export PERL5LIB="$PERL5LIB:."
-
-  else
-    # trick cpanm into executing true as shell - we just need the find+unpack
-    [[ -d ~/.cpanm/latest-build/DBIx-Class-*/inc ]] || run_or_err "Downloading latest stable DBIC inc/ from CPAN" \
-      "SHELL=/bin/true cpanm --look DBIx::Class"
-
-    mv ~/.cpanm/latest-build/DBIx-Class-*/inc .
-  fi
+  mv ~/.cpanm/latest-build/DBIx-Class-*/inc .
 
   # The first CPAN which is somewhat sane is around 1.94_56 (perl 5.12)
   # The problem is that the first sane version also brings a *lot* of