Looking at CPAN Digger I notice the PAUSE-User package that has a link to its GitHub repository, but no CI configured.
I cloned the repository and tried to run the tests locally, but got stuck installing the dependencies. MooX-Role-CachedURL would not intsall. I looked at MetaCPAN and saw that The CPAN Testers report ** Testers (1546 / 304 / 0) ** That is 1546 successful reports but 304 failed reports. Also that the package was last released on Nov 04, 2015. Almost 7 years ago.
I said, let's see what can we do there.
MooX::Role::CachedURL
I tried to install it using
cpanm MooX::Role::CachedURL
I got the error and reported it.
As I saw that this package does not have CI setup either I decided to do that first. That will help the author fix this package.
I installed the dependencies locally. That lead me to a Pull-request adding .gitignore file. Then configured GitHub Actions. The basic configuration went easily, but there were a bunch of things missing (or I just don't know how to use Dist::Zilla properly) and it took me a few commits and pushes till I managed to install all the dependencies on the CI server. That left us with the test failure.
Hopefully this will help Neil Bowers, the maintainer of the package to fix the issue.
The GitHub Actions configuration file ended up looking like this:
examples/moox-role-cachedurl-ci.yml
name: Perl
on:
push:
pull_request:
jobs:
test:
strategy:
fail-fast: false
matrix:
runner: [ubuntu-latest, macos-latest, windows-latest]
perl: [ '5.32' ]
runs-on: ${{matrix.runner}}
name: OS ${{matrix.runner}} Perl ${{matrix.perl}}
steps:
- uses: actions/checkout@v2
- name: Set up perl
uses: shogo82148/actions-setup-perl@v1
with:
perl-version: ${{ matrix.perl }}
distribution: ${{ ( startsWith( matrix.runner, 'windows-' ) && 'strawberry' ) || 'default' }}
- name: Show Perl Version
run: |
perl -v
- name: Install Dist::Zilla
run: |
cpanm -v
cpanm --notest Dist::Zilla
cpanm --notest Dist::Zilla::Plugin::GithubMeta
cpanm --notest Dist::Zilla::Plugin::Git::Tag
- name: Install Modules
run: |
dzil listdeps --missing | cpanm --notest
dzil authordeps --missing | cpanm --notest
cpanm Test::File
cpanm File::HomeDir
cpanm Time::Duration::Parse
cpanm File::Touch
cpanm PerlIO::gzip
- name: Run tests
run: |
dzil test
- name: Show Errors
if: ${{ failure() && startsWith( matrix.runner, 'windows-')}}
run: |
ls -l C:/Users/
ls -l C:/Users/RUNNER~1/
cat C:/Users/runneradmin/.cpanm/work/*/build.log
- name: Show Errors on Ubuntu
if: ${{ failure() && startsWith( matrix.runner, 'ubuntu-')}}
run: |
cat /home/runner/.cpanm/work/*/build.log
- name: Show Errors on OSX
if: ${{ failure() && startsWith( matrix.runner, 'macos-')}}
run: |
cat /Users/runner/.cpanm/work/*/build.log