develooper Front page | perl.module-authors | Postings from January 2020

Re: How to do co-maintenance on CPAN distro which usesDist::Zilla(Travis and other questions)

Thread Previous
From:
James E Keenan
Date:
January 23, 2020 20:49
Subject:
Re: How to do co-maintenance on CPAN distro which usesDist::Zilla(Travis and other questions)
Message ID:
20200123204925.17693.qmail@lists-nntp.develooper.com
On 1/23/20 3:18 PM, Dan Book wrote:
> On Thu, Jan 23, 2020 at 3:04 PM James E Keenan <jkeenan@pobox.com 
> <mailto:jkeenan@pobox.com>> wrote:
> 
>     I have been granted COMAINT status by Paul Fenwick on CPAN distribution
>     IPC-System-Simple.  This distribution is built and maintained using
>     Dist::Zilla and quite a few Dist::Zilla plugins.  I do not, in general,
>     use Dist::Zilla in any of my own CPAN distributions.  It's much too
>     "auto-magicky" for my needs and taste, so I only use it when, say, I
>     have to diagnose a test failure in a "CPAN-River-3000" module.
> 
>     But in this case I have to use dzil, so I'd like to get some answers to
>     specific questions en route to formulating what (for me, at least) will
>     be best practices for maintaining this distribution going forward.
> 
>     1.  How do I add a Travis-CI configuration to a distribution maintained
>     with Dist::Zilla?
> 
>     The IPC-System-Simple repository did not have a .travis.yml
>     configuration file when I cloned the repo, so I added one (attached)
>     copied from one of my other CPAN distros where it DWIMs.  I made no
>     changes in dist.ini.  The only other change I made was to modify a test
>     to deal with the github issue that led me to request comaintenance on
>     this distro in the first place.  I activated the configuration under my
>     Travis account and pushed to github.  However, the Travis build failed,
>     here:
> 
>     #####
>     https://travis-ci.org/jkeenan/ipc-system-simple/jobs/641031415
>     #####
> 
>     This build failed with this log output:
> 
>     #####
>     [DZ] attempt to add META.json multiple times; added by: text from
>     coderef added by MetaJSON (Dist::Zilla::Plugin::MetaJSON line 91);
>     filename set by GatherDir (Dist::Zilla::Plugin::GatherDir line 225);
>     encoded_content added by @Basic/GatherDir
>     (Dist::Zilla::Plugin::GatherDir line 226)
> 
>     [DZ] attempt to add t/author-pod-coverage.t multiple times; added by:
>     content added by PodCoverageTests (Dist::Zilla::Plugin::InlineFiles
>     line
>     33); filename set by ExtraTests (Dist::Zilla::Plugin::ExtraTests line
>     54); content set by ExtraTests (Dist::Zilla::Plugin::ExtraTests line
>     67); filename set by GatherDir (Dist::Zilla::Plugin::GatherDir line
>     225); encoded_content added by @Basic/GatherDir
>     (Dist::Zilla::Plugin::GatherDir line 226)
> 
>     [DZ] attempt to add t/author-pod-syntax.t multiple times; added by:
>     content added by PodSyntaxTests (Dist::Zilla::Plugin::InlineFiles line
>     33); filename set by ExtraTests (Dist::Zilla::Plugin::ExtraTests line
>     54); content set by ExtraTests (Dist::Zilla::Plugin::ExtraTests line
>     67); filename set by GatherDir (Dist::Zilla::Plugin::GatherDir line
>     225); encoded_content added by @Basic/GatherDir
>     (Dist::Zilla::Plugin::GatherDir line 226)
> 
>     [DZ] attempt to add t/author-critic.t multiple times; added by: content
>     added by Test::Perl::Critic (Dist::Zilla::Plugin::Test::Perl::Critic
>     line 42); filename set by ExtraTests (Dist::Zilla::Plugin::ExtraTests
>     line 54); content set by ExtraTests (Dist::Zilla::Plugin::ExtraTests
>     line 67); filename set by GatherDir (Dist::Zilla::Plugin::GatherDir
>     line
>     225); encoded_content added by @Basic/GatherDir
>     (Dist::Zilla::Plugin::GatherDir line 226)
> 
>     [DZ] attempt to add META.yml multiple times; added by: filename set by
>     GatherDir (Dist::Zilla::Plugin::GatherDir line 225); encoded_content
>     added by @Basic/GatherDir (Dist::Zilla::Plugin::GatherDir line 226);
>     text from coderef added by @Basic/MetaYAML
>     (Dist::Zilla::Plugin::MetaYAML line 70)
> 
>     [DZ] attempt to add LICENSE multiple times; added by: filename set by
>     GatherDir (Dist::Zilla::Plugin::GatherDir line 225); encoded_content
>     added by @Basic/GatherDir (Dist::Zilla::Plugin::GatherDir line 226);
>     content added by @Basic/License (Dist::Zilla::Plugin::License line 37)
> 
>     [DZ] attempt to add README multiple times; added by: filename set by
>     GatherDir (Dist::Zilla::Plugin::GatherDir line 225); encoded_content
>     added by @Basic/GatherDir (Dist::Zilla::Plugin::GatherDir line 226);
>     content added by @Basic/Readme (Dist::Zilla::Plugin::Readme line 44);
>     content set by Readme (Dist::Zilla::Plugin::Readme line 61)
> 
>     [DZ] attempt to add Makefile.PL multiple times; added by: filename set
>     by GatherDir (Dist::Zilla::Plugin::GatherDir line 225); encoded_content
>     added by @Basic/GatherDir (Dist::Zilla::Plugin::GatherDir line 226);
>     content set by MakeMaker (Dist::Zilla::Plugin::MakeMaker line 329);
>     content added by @Basic/MakeMaker (Dist::Zilla::Plugin::MakeMaker
>     line 144)
> 
>     [DZ] attempt to add MANIFEST multiple times; added by: filename set by
>     GatherDir (Dist::Zilla::Plugin::GatherDir line 225); encoded_content
>     added by @Basic/GatherDir (Dist::Zilla::Plugin::GatherDir line 226);
>     bytes from coderef added by @Basic/Manifest
>     (Dist::Zilla::Plugin::Manifest line 55)
> 
>     aborting; duplicate files would be produced at
>     /home/travis/perl5/perlbrew/perls/5.30.0/lib/site_perl/5.30.0/Dist/Zilla/App/Command/build.pm
>     <http://build.pm>
>     line 97.
> 
>     The command "build-dist" failed and exited with 255 during .
>     #####
> 
>     So, what do I need to do to get Dist::Zilla and Travis to play nice
>     with
>     each other?  (Attached: the Travis config I wrote and the existing
>     dist.ini file.)
> 
> 
> It appears the dzil build is being run twice, because of the use of the 
> --auto switch to travis-perl-helpers but also custom build commands. 
> travis-perl-helpers gives two example configs, one using --auto and one 
> using the more detailed commands as your config uses, the combination is 
> causing a duplicate build.
> 
> https://github.com/travis-perl/helpers
> 
> -Dan

Removing '--auto' looks promising.  See:
https://travis-ci.org/jkeenan/ipc-system-simple

(Have to go AFK now; will check progress later.)

Thank you very much.
Jim Keenan

Thread Previous


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About