GitHub Actions for MooX-Role-CachedURL
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
Published on 2022-10-11