Skip to content
This repository has been archived by the owner on Jan 23, 2022. It is now read-only.

Commit

Permalink
Travis ENGAGE
Browse files Browse the repository at this point in the history
  • Loading branch information
mohawk2 committed Jun 3, 2015
1 parent 1ba1ceb commit db9b124
Showing 1 changed file with 79 additions and 0 deletions.
79 changes: 79 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
language: perl
sudo: true
matrix:
include:
# start the first coverage early so that it starts before everything else
- perl: "5.20"
env: COVERAGE=1
- perl: "5.20"
env: EUMM_BLEAD=1
- perl: "5.20"
env: TEST_INSTALLED=1 # test not from blib but after installing
- perl: "5.10"
- perl: "5.12"
- perl: "5.14"
- perl: "5.16"
- perl: "5.18"
- perl: "blead"
# this is commented out because we test Perl v5.20 under all BADVAL configurations including the default below
#- perl: "5.20"
- perl: "5.20"
env: PDL_WITH_BADVAL=0 # test with badval disabled
- perl: "5.20"
env: PDL_WITH_BADVAL=1 PDL_BADVAL_USENAN=0 PDL_BADVAL_PER_PDL=0
- perl: "5.20"
env: PDL_WITH_BADVAL=1 PDL_BADVAL_USENAN=0 PDL_BADVAL_PER_PDL=1
- perl: "5.20"
env: PDL_WITH_BADVAL=1 PDL_BADVAL_USENAN=1 PDL_BADVAL_PER_PDL=0
- perl: "5.20"
env: PDL_WITH_BADVAL=1 PDL_BADVAL_USENAN=1 PDL_BADVAL_PER_PDL=1
- perl: "5.20"
env: CC="clang" # use `clang` instead of `gcc` default
allow_failures:
- perl: blead
before_install:
- sudo apt-get update
- sudo apt-get install libgd2-xpm-dev
# clang is already installed in Travis-CI environment. Using PERL_MM_OPT does not work with subdirectory Makefile.PLs so we override Config.pm
# Also, both $Config{cc} and $Config{ld} need to be set because under ELF environments (such as Travis-CI's Ubuntu), this is what Perl's Config.pm does.
- if [ "$CC" == "clang" ]; then mkdir build_aux; echo 'package force_clang; use ExtUtils::MakeMaker::Config; $Config{cc} = $Config{ld} = "clang"; 1' > build_aux/force_clang.pm; export PERL5OPT="-I$(pwd)/build_aux -Mforce_clang"; fi
- perl -pi -e 's|WITH_BADVAL => 1|WITH_BADVAL => 0| if defined $ENV{PDL_WITH_BADVAL} && $ENV{PDL_WITH_BADVAL} == 0' perldl.conf # disable bad value support
- perl -pi -e 's|BADVAL_USENAN => 0|BADVAL_USENAN => 1| if defined $ENV{PDL_BADVAL_USENAN} && $ENV{PDL_BADVAL_USENAN} == 1' perldl.conf # enable BADVAL_USENAN
- perl -pi -e 's|BADVAL_PER_PDL => 0|BADVAL_PER_PDL => 1| if defined $ENV{PDL_BADVAL_PER_PDL} && $ENV{PDL_BADVAL_PER_PDL} == 1' perldl.conf # enable BADVAL_PER_PDL
- git clone git://github.com/travis-perl/helpers ~/travis-perl-helpers
- ls -lR
- export SPLIT_BUILD=0
- source ~/travis-perl-helpers/init
- build-perl
- perl -V
- if [ "$AUTHOR_TESTING" == 1 ]; then cpanm --quiet --notest CPAN::Changes; fi # for author tests (AUTHOR_TESTING is set to true by default by init)
- cpanm --force --verbose ExtUtils::ParseXS # we install the latest ExtUtils::ParseXS
- if [ "$EUMM_BLEAD" == 1 ]; then cpanm --quiet --notest --dev ExtUtils::MakeMaker; fi
- build-dist
- SRC_DIR=$(pwd)
- cd $BUILD_DIR # $BUILD_DIR is set by the build-dist command
install:
- cpan-install --deps # installs prereqs, including recommends
- cpan-install --coverage # installs coverage prereqs, if enabled
- prove t/01-checkmanifest.t
- prove -b -v $SRC_DIR/xt/00-check-changelog.t # run the author test out of the source directory
# SYSTEM_CORES set by travis-perl-helpers
- if [ "$SERIAL_BUILD" == 1 ]; then make; else make -j$(( $SYSTEM_CORES * 2 )); fi
before_script:
- coverage-setup
script:
- export PROVE_FLAG=""; if [ "$TEST_INSTALLED" == 1 ]; then make install clean; else PROVE_FLAG="-b -v"; fi # clean is to ensure no blib
- if [ "$SERIAL_TESTING" == 1 ]; then prove $PROVE_FLAG $(test-files); else prove --formatter TAP::Formatter::File -j$(test-jobs) $PROVE_FLAG $(test-files); fi
after_success:
- coverage-report
branches:
except:
- /^wip\//
- /^blocked/
only:
- master
notifications:
irc:
channels:
- "irc.perl.org#pdl"
skip_join: true

0 comments on commit db9b124

Please sign in to comment.