not sure what distar wants...
[catagits/Catalyst-Runtime.git] / .travis.yml
index 01c0852..ead64fb 100644 (file)
@@ -1,46 +1,69 @@
 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)
+   - $HELPERS_ROOT/bin/cpan-config
 install:
-   # git bits sometimes needed...
-   - git config user.name 'Travis-CI'
-   - git config user.email 'travis@nowhere.dne'
-
-   # 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
+   - cpanm --notest --metacpan --skip-satisfied --with-develop --installdeps .
+   - perl Makefile.PL
 
    # 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
-   - cpanm --metacpan --skip-satisfied Test::Without::Module Test::NoTabs Test::Pod Test::Pod::Coverage Test::Spelling Pod::Coverage::TrustPod
-   - cpanm --metacpan --skip-satisfied --installdeps .
-
    # we want these for our tests, but not for any others
    - export AUTHOR_TESTING=1
    - export RELEASE_TESTING=1
+   - export PERL_AUTOINSTALL=--skip
 
    - make manifest
 
 script:
    - make disttest
+
+   # 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
+
+   # both author deps & reverse deps:
+   - cpanm --metacpan --skip-satisfied Catalyst::View::TT
+   - cpanm --metacpan --skip-satisfied Catalyst::Plugin::Authentication
+
+   # 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