metacpan-web
                                
                                
                                
                                    metacpan-web copied to clipboard
                            
                            
                            
                        Extra links in sidebars for releases?
Would be nice to be able to link to things like Travis, Coveralls, etc in release info.
I'd suggest something like this in META.json:
"resources": {
  "x_ci" : "https://travis-ci.org/...",
  "x_coverage" : "https://travis-ci.org/...",
}
I think the following keys would be useful to support: x_ci, x_coverage, x_donate, x_reviews, x_manual.
https://github.com/metacpan/metacpan-web/blob/master/root/inc/release-info.html
Coverage would be a bit confusing, since we already have coverage links.
We previously had links to cpanratings, but they were removed because they were generally low quality and out of date. Replacing it with something in the author's control also seems inherently biased, so I'm not sure what value it would provide users.
The others seem reasonable.
Regarding a manual link, it seems a bit weird to want to list it in the sidebar since the user is already reading the docs, which is usually already the only manual that exists. Having a better way to organize pod files on the release seems like a related thing that could help with this.
While I do appreciate the existence of cpancover, it would be nice to be able to link to coveralls.io or codecov.io instead.
Cpancover seems to run the test suite without installing optional dependencies, which can lead to lower coverage as certain code paths won't get executed. Other services give the author more control over how the test suite gets run.
For Type::Tiny, I've been checking $ENV{AUTOMATED_TESTING} in Makefile.PL and using it to bump certain optional dependencies up to "test requires" dependencies. But I'm only doing that where Type::Tiny's release's version number includes a "_", so it won't affect the speed of other distributions that depend on stable versions of Type::Tiny.
How would you imagine it working in terms of UI? Would it replace the current link? Then we wouldn't be able to provide the coverage percent. I also suspect that most authors would set it to a fixed URL, not referring to a tag. I would consider that to be less accurate than what we currently use.
cpancover also sets EXTENDED_TESTING, which I've used as a flag to add additional dependencies for tests.
Cpancover seems to run the test suite without installing optional dependencies, which can lead to lower coverage as certain code paths won't get executed.
@pjcj is this correct? ^^
I don't want to remove the cpancover links, but I think we could add additional coverage links if the author would like it. Maybe we could just have a way of configuring various badges which could appear in the sidebar?
I'm not opposed to adding additional coverage links, but I think it will be hard to do without confusing UX.
The code to install a module is https://github.com/pjcj/Devel--Cover/blob/master/lib/Devel/Cover/Collection.pm#L151
I'm happy to get cpancover to install optional dependencies. I'd be even happier if someone could tell me how to do that.
With cpanm, there's --with-recommends, --with-suggests, and --with-all-features options. Not sure about the original CPAN client. (Not many distributions use the "features" thing though.)
It's surprisingly hard to write code to automatically install arbitrary CPAN modules.
For reference, here is the code I use to get more complete coverage on cpancover.