Construindo Distribuições Dist :: Zilla com Travis CI e Coveralls

Estou tentando fazer o Travis CI trabalhar com minha distribuição há um tempo. Recentemente, encontrei este artigo que oferece a solução certa.

A solução é usar perl-travis-helper . Eu tentei isso antes, mas sem sucesso. O problema na época era porque eu estava tentando rodar no automodo, que não dá conta do Dzil.

Veja como meu .travis.ymlarquivo se parece:

language: perl

perl
:
- "5.20"
- "5.18"
- "5.16"
- "5.14"
- "5.12"
- "5.10"

before_install
:
- git clone git://github.com/haarg/perl-travis-helper
- source perl-travis-helper/init
- build-perl
- perl -V
- build-dist
- cd $BUILD_DIR

install
:
- cpanm --quiet --notest --installdeps .

O truque aqui está na linha build-distpara lidar com as configurações do Dzil com todas as suas dependências.

Em seguida, eu poderia adicionar teste de cobertura com mais algumas linhas.

install:
- export RELEASE_TESTING=1 AUTOMATED_TESTING=1 AUTHOR_TESTING=1 HARNESS_OPTIONS=c HARNESS_TIMER=1
- cpanm --quiet --notest Devel::Cover::Report::Coveralls
- cpanm --quiet --notest --installdeps .
- cpanm --quiet --notest --with-develop .

script
:
- PERL5OPT=-MDevel::Cover=-coverage,statement,branch,condition,path,subroutine prove -lrsv t
- cover

after_success
:
- cover -report coveralls

Isso requer que executemos Devel :: Cover e formate os relatórios usando Devel :: Cover :: Report :: Coveralls .

Também tive que instalar dependências sugeridas para executar meus testes de autor, o que poderia ser feito com a --with-developopção de cpanm.