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

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

Thread Next
From:
James E Keenan
Date:
January 23, 2020 20:03
Subject:
How to do co-maintenance on CPAN distro which uses Dist::Zilla(Travis and other questions)
Message ID:
20200123200350.12153.qmail@lists-nntp.develooper.com
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 
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.)

2.  For testing on Windows, how do I add an Appveyor configuration to a 
distribution maintained with Dist::Zilla?

I haven't tried an Appveyor configuration/run yet, but since I had 
problems with Travis, I assume I'll also encounter problems with Appveyor.

3.  Assume that I am the co-maintainer of the distribution but have 
rights to push to the original author's repository, which will remain 
the canonical repository.  How do I then get the CPAN release to show up 
under my CPAN ID (JKEENAN)?

Bottom-post or inline comments preferred.

Thank you very much.
Jim Keenan

Thread Next


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