The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
language: perl
perl:
  - "5.26"
  - "5.24"
  - "5.20"
  - "5.18"
  - "5.16"

matrix:
  include:
    - perl: 5.18
      env: COVERAGE=1 TEST_PARTITION=1
    - perl: 5.18
      env: COVERAGE=1 TEST_PARTITION=2
    - perl: 5.18
      env: COVERAGE=1 TEST_PARTITION=3
    - perl: 5.18
      env: COVERAGE=1 TEST_PARTITION=4
    - perl: 5.18
      env: COVERAGE=1 TEST_PARTITION=5
    - perl: 5.18
      env: COVERAGE=1 TEST_PARTITION=6

sudo: false
env:
  global:
    - PERL_CPANM_OPT="--notest --force --skip-satisfied"
    - BIOPERL_NETWORK_TESTING=0   # disables the network tests
    - TEST_PARTITIONS=6

addons:
  apt:
    packages:
      - libdb-dev
      - graphviz
      - libgd2-xpm-dev
      - libxml2-dev

before_install:
  - export BRANCH=$(if [ "$TRAVIS_PULL_REQUEST" == "false" ]; then echo $TRAVIS_BRANCH; else echo $TRAVIS_PULL_REQUEST_BRANCH; fi)
  - git clone git://github.com/travis-perl/helpers ~/travis-perl-helpers
  - source ~/travis-perl-helpers/init
  - build-perl
  - perl -V
  - cpanm DBD::mysql DBD::Pg DBD::SQLite 2>&1 | tail -n 1
  - cpanm Test::Pod 2>&1 | tail -n 1
  - cpanm Bio::ASN1::EntrezGene 2>&1 | tail -n 1
  - if [ "$TRAVIS_EVENT_TYPE" = "cron" -a "$BRANCH" = "network-cron-master" ]; then
      export BIOPERL_NETWORK_TESTING=1;
      git fetch origin master:master; git checkout master;
    fi
  - if [ "$BIOPERL_NETWORK_TESTING" = "1" ]; then
      export TRAVIS_AUTHOR_TESTING=1;
      export TRAVIS_RELEASE_TESTING=1;
      cpanm LWP::UserAgent LWP::Protocol::https 2>&1 | tail -n 1;
    fi
  - build-dist
  - cd $BUILD_DIR
install:
  - cpan-install --deps
  - cpan-install --coverage
before_script:
  - coverage-setup
script:
  - export AUTHOR_TESTING=${TRAVIS_AUTHOR_TESTING:=0}
  - export RELEASE_TESTING=${TRAVIS_RELEASE_TESTING:=0}
  - prove -l -j$(test-jobs) $(test-files)
after_success:
  - coverage-report
  - ./travis_scripts/trigger-dockerhub.sh

#TODO - send emails to bioperl-guts-l
notifications:
  email:
    recipients:
      - bioperl-guts-l@lists.open-bio.org
      - cjfields1@gmail.com
    on_success: change
    on_failure: change

# whitelist branches
branches:
  only:
    - master
    - /^release-[1-9]*-[0-9]*-[0-9]*$/
    - network-cron-master