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.


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:


name: Perl


      fail-fast: false
        runner: [ubuntu-latest, macos-latest, windows-latest]
        perl: [ '5.32' ]

    runs-on: ${{matrix.runner}}
    name: OS ${{matrix.runner}} Perl ${{matrix.perl}}

    - uses: actions/checkout@v2

    - name: Set up perl
      uses: shogo82148/actions-setup-perl@v1
          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