After I read the editorial of Perl Weekly issue 586 I though I should try to send as many PR as I can to enable GitHub Actions on CPAN projects.

There is a whole series about why use CI and how to set up CI and several examples with videos.

I started at CPAN Digger

2022.10.11 Pinto-Remote-SelfContained I add a GitHub Actions configuration file, but bumped into an error: Error: [PodWeaver] [Support] No bugtracker in metadata! Locally I get a different error: Can't locate Test/EOL.pm.

2022.10.17 Test-Spy - thar was easy. I configure GitHub Actions. Everything worked, except that it seems Perl 5.36 is not available on Windows to be used pn GitHub Actions. The Pull-request was accepted within a few minutes. DONE

2022.10.17 Weather-GHCN-Fetch I have added GitHub Action configuration files. The tests are failing with Bailout called. Further testing stopped: *E* cached folder is missing. I also sent a PR with .gitignore

2022.10.17 EAV-XS has a number of non-perl dependencies listed in the README that I did not know how to install so I asked for help. DONE

2022.10.17 Gzip-Libdeflate was complaining that it Could not open 'lib/Gzip/Libdeflate.pod'. Ben Bullock, the author, quickly replied and made some adjustments so I could make some progress (even though I did not exaactly liked the solution). Anyway I bumped into another issue. After I was told how to proceed (and basically how to set up a development environment) I could finish the working CI workflow.

2022.10.17 Memoize I found some generated files that were not in .gitignore. (Apparently Aristotle does not want to ignore anything as he removed the .gitignore file a few monthes ago.) adding GitHub Actions was quite easy. DONE

2022.10.18 Dancer2-Plugin-RPC-RESTISH It was quite simple to add GitHub Actions to this module, but it seems that the installation of the dependencies was a bit flaky when I first set up GA.

2022.10.18 Hustle-Table It was easy to enable CI.

2022.10.18 Term-TablePrint It was easy to enable CI. DONE

2022.10.18 PAUSE-Packages It was easy to enable CI though the tests fail on MS Windows so I had to disable that platform.

2022.10.18 Bio-ToolBox the tests are currently failing. It was reported a few weeks ago. The first iteration of the CI showed the same error.

2022.10.21 Sniffer-HTTP. When I tried to install it I got a problem that Net-Pcap, one of the dependencies would not install out of the box. So first I looked at that module to see if I can figure out how to install that. Then this Pull-Request was much easier. DONE`

2022.10.21 Net-Pcap wasn't difficult after all, but I had to install some external dependencies using

    - name: Install external dependencies on Ubuntu
      if:  ${{ startsWith( matrix.runner, 'ubuntu-')}}
      run: |
        sudo apt-get install libpcap-dev

I only figured out how to do it on Ubuntu. Either the author of the module will add the installation on OSX and Windows as well, or if they tell me how to do it I might have the time to figure out how to do it on the CI server.

I had to install a bunch of extra Perl modules for the tests, enable an environment variable and even create a directory. Though as I can see a spell checker is still missing.

I also trid to run the CI on all versions of Perl betwee 5.10 and 5.36, but it seems some of the dependencies need perl 5.26 so I limited the matrix for that. Anyway here is the Pull-Request

2022.10.21 WebFetch. I configured the CI, but encountered and reported a problem: Error: Duplication of element resources.repository.web. After that was fixed I sent a PR. DONE

2022.10.23 MooseX-Types-Parameterizable PR to add GitHub Actions

2022.10.24 Math-MPFR I had to play around a bit till I managed to send the Pull-Request

  • There were two external dependencies to be installed on Linux. However I did not understand what was going on on OSX and Windows. Do they already have those external dependencies or are the tests somehow passing despite not being able to compile the code?
  • I had to install some extra modules to run all the tests, but some of these extra modules failed on OSX so they are only installed on Linux and Windows.
  • There were lots of warnings and errors in all the runs that I did not understand.
The authoris not interested in have CI. Nope

2022.10.24 Math-NV once I managed to set up the PR for Math-MPFR, this was alread easy, but there were various errors reported in the logs here too. I hope these will be more meaningful to the author of the modules. The authoris not interested in have CI. Nope

2022.10.24 Perl-Metrics-Halstead I ran into some strange behaviour. I was expecting dzil to install the test dependencies, but it did not. I opened an issue. After I got a response there it was just a matter of adding a flag to dzil to have GitHub Actions PR. It currently fails on Windows. DONE

2022.10.24 Music-ToRoman and PR. The idea was rejected as this is only a "fun module". Nope

2022.10.24 Music-ScaleNote I bumped into some issues. Luckily I did not waste too much time on trying to figure out the problem as it would have been rejected anyway. Nope

2022.10.25 Steven Bakker took issues in his own hands. He asked for help, but then resolved it alone and now Term-CLI also has GitHub Actions enabled. It could be interesting to see how this is being done for Term-ReadLine-Gnu and Term::ReadKey. Anyway this is now done.

At this point I thought it might be better to first open issues asking the authors if they are interested at all in CI.

2022.10.26 Kelp-Module-Sereal issue. rejected.

2022.10.26 IO-FD issue. Pull-Request done

2022.10.26 Quiq issue.

2022.10.26 App-Elog issue PR. done

2022.10.26 BmltClient-ApiClient issue.

2022.11.06 Math::Round::SignificantFigures Pull-request

2022.11.06 List-NSect Pull-request

2022.11.06 Scope-OnExit marked as deprecated so I did not send the PR.

2022.11.06 App-Puppet-Environment-Updater This is strange. In this repository the default branch is called releases and it does NOT have GitHub Actions enabled, but there is a separate branch called master. See the the video on separate release branch for App::Puppet::Environment::Updater.

2022.11.06 Sys-OsPackage had to disable testing on OSX and Windows and could not enable RELEASE_TESTING either. Pull-Request. DONE

2022.11.15 Types-ULID, Pull-Request done

2022.11.15 Template-Perlish, Pull-Request done

2022.11.15 Data-ULID, Pull-Request done

2022.11.15 Text-Markdown-Discount Pull-Request done

2022.11.15 UTF8-R2 Pull-Request

2022.11.15 Game-TileMap Pull-Request done.

2022.11.16 Algorithm-QuadTree-XS Pull-Request done

2022.11.16 POE-Component-EasyDBI Pull-Request

2022.11.16 Dancer2-Plugin-DoFile Pull-Request

2022.11.16 Algorithm-QuadTree Pull-Request rejected, but will be done later by the author.