initial travis-ci config
[catagits/Catalyst-Action-REST.git] / .travis.yml
1 language: perl
2 perl:
3    - "5.16"
4    - "5.14"
5    - "5.12"
6    - "5.10"
7
8 matrix:
9    include:
10       - perl: "5.17.10"
11         env:
12            - BREWVER="5.17.10"
13    allow_failures:
14       - perl: "5.17.10"
15
16 notifications:
17   irc:
18     channels:
19       - "irc.perl.org#catalyst-dev"
20
21 before_install:
22     - test "$BREWVER" = "" || perlbrew install -j4 $BREWVER
23     - test "$BREWVER" = "" || perlbrew switch $BREWVER
24     - test "$BREWVER" = "" || perl -v
25
26 install:
27    # git bits sometimes needed...
28    - git config user.name 'Travis-CI'
29    - git config user.email 'travis@nowhere.dne'
30
31    # ensure we have the latest cpanm
32    - echo y | perlbrew install-cpanm
33
34    # see if we can't speed things up a bit
35    - rm -rf ~/.cpanm
36    - mkdir ~/.cpanm
37    - sudo mount tmpfs -t tmpfs ~/.cpanm
38
39    # these fail on parallel test runs
40    #    Net::Server:  https://rt.cpan.org/Ticket/Display.html?id=84126
41    - cpanm --metacpan --skip-satisfied Net::Server Template File::Remove Filesys::Notify::Simple Config::Any CGI::Simple Plack
42
43    # for testing
44    - cpanm --metacpan --skip-satisfied YAML
45
46    # enable various test options, including parallel testing
47    - export AUTOMATED_TESTING=1 HARNESS_OPTIONS=j10:c HARNESS_TIMER=1
48
49    # M::I deps
50    - cpanm --metacpan --skip-satisfied Module::Install Module::Install::AuthorRequires Module::Install::CheckConflicts Module::Install::AuthorTests Module::Install::Authority
51
52    # author deps -- wish there was a better way
53    #- cpanm --metacpan --skip-satisfied CatalystX::LeakChecker Catalyst::Devel Catalyst::Engine::PSGI Starman MooseX::Daemonize
54    #- cpanm --metacpan --skip-satisfied Test::Without::Module Test::NoTabs Test::Pod Test::Pod::Coverage Test::Spelling Pod::Coverage::TrustPod
55    - cpanm --metacpan --skip-satisfied --installdeps .
56
57    # we want these for our tests, but not for any others
58    - export AUTHOR_TESTING=1
59    - export RELEASE_TESTING=1
60
61    - make manifest
62
63 script:
64    - make disttest