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 auto
modo, que não dá conta do Dzil.
Veja como meu .travis.yml
arquivo 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-dist
para 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-develop
opção de cpanm
.