language: perl
+sudo: false
perl:
+ - "blead" # builds perl from git
+ - "dev" # latest point release
+ - "5.28"
+ - "5.26"
+ - "5.24"
+ - "5.22"
+ - "5.20"
- "5.18"
- "5.16"
- "5.14"
- "5.12"
- "5.10"
+ - "5.8"
+matrix:
+ allow_failures:
+ - perl: blead
+ - perl: dev
+before_install:
+ - eval $(curl https://travis-perl.github.io/init) --perl
+ - $HELPERS_ROOT/bin/cpan-config
install:
- # git bits sometimes needed...
- - git config user.name 'Travis-CI'
- - git config user.email 'travis@nowhere.dne'
+ - build-dist
+ - cd $BUILD_DIR
+ - cpanm -q --showdeps --with-develop . | grep -v "^perl[~@]" | AUTHOR_TESTING=0 cpanm --notest --metacpan --skip-satisfied
- # ensure we have the latest cpanm
- - echo y | perlbrew install-cpanm
-
- # see if we can't speed things up a bit
- - rm -rf ~/.cpanm
- - mkdir ~/.cpanm
- - sudo mount tmpfs -t tmpfs ~/.cpanm
-
- # these fail on parallel test runs
- # Net::Server: https://rt.cpan.org/Ticket/Display.html?id=84126
- - cpanm --metacpan --skip-satisfied Net::Server Template File::Remove Filesys::Notify::Simple Config::Any CGI::Simple Plack
-
- # for testing
- - cpanm --metacpan --skip-satisfied YAML
+ - test_run='make test'
+ - AUTHOR_TESTING=0 cpanm --notest --metacpan --skip-satisfied Test2::Harness && test_run='yath test t xt' || true
# enable various test options, including parallel testing
- export AUTOMATED_TESTING=1 HARNESS_OPTIONS=j10:c HARNESS_TIMER=1
- # M::I deps
- - cpanm --metacpan --skip-satisfied Module::Install Module::Install::AuthorRequires Module::Install::CheckConflicts Module::Install::AuthorTests Module::Install::Authority
-
- # author deps -- wish there was a better way
- - cpanm --metacpan --skip-satisfied CatalystX::LeakChecker Catalyst::Devel Catalyst::Engine::PSGI Starman MooseX::Daemonize Test::WWW::Mechanize::Catalyst Catalyst::Plugin::Params::Nested
- - cpanm --metacpan --skip-satisfied Test::Without::Module Test::NoTabs Test::Pod Test::Pod::Coverage Test::Spelling Pod::Coverage::TrustPod
- - cpanm --metacpan --skip-satisfied --installdeps .
- - echo y | perl Makefile.PL
-
# we want these for our tests, but not for any others
- export AUTHOR_TESTING=1
- export RELEASE_TESTING=1
-
- - make manifest
+ - export PERL_AUTOINSTALL=--skip
script:
- - make disttest
+ - make && $test_run
+
+ # Test reverse deps (high-profile modules, taken from from Task::Catalyst):
+ # (note: currently skipping DBIC deps for speed)
+ - make install
+
+ - export AUTHOR_TESTING=0
+ - export RELEASE_TESTING=0
+
+ # pure author deps (of reverse deps):
+ - cpanm --notest --metacpan --skip-satisfied YAML::Syck
+ - cpanm --notest --metacpan Carp::Assert::More@1.16
+ - cpanm --notest --metacpan Test::WWW::Mechanize@1.50
+
+ # both author deps & reverse deps:
+ - cpanm --metacpan --skip-satisfied Catalyst::View::TT || ( cat ~/.cpanm/build.log; false )
+ - cpanm --metacpan --skip-satisfied Catalyst::Plugin::Authentication || ( cat ~/.cpanm/build.log; false )
+
+ # pure reverse deps (call with --test-only):
+ - cpanm --test-only --metacpan -v Catalyst::Devel
+ - cpanm --test-only --metacpan -v Catalyst::Action::REST
+ - cpanm --test-only --metacpan -v Catalyst::Component::InstancePerContext
+ - cpanm --test-only --metacpan -v Catalyst::Plugin::Session
+ - cpanm --test-only --metacpan -v Catalyst::Plugin::Session::State::Cookie
+ - cpanm --test-only --metacpan -v Catalyst::Plugin::Static::Simple
+ - cpanm --test-only --metacpan -v Catalyst::Plugin::ConfigLoader
+ #- cpanm --test-only --verbose --metacpan Catalyst::Authentication::Credential::HTTP
+
+ # Still need to figure out why these fail in travis:
+ #- cpanm --test-only --metacpan -v Catalyst::View::Email
+ #- cpanm --test-only --metacpan -v Catalyst::Plugin::Session::Store::File
+ #- cpanm --test-only --metacpan -v Catalyst::Plugin::I18N