Thrilled to share that a new version of prrd arrived at CRAN yesterday in a first update in two and a half years. prrd facilitates the parallel running [of] reverse dependency [checks] when preparing R packages. It is used extensively for releases I make of Rcpp, RcppArmadillo, RcppEigen, BH, and others.
The key idea of prrd is simple, and described in some more detail on its webpage and its GitHub repo. Reverse dependency checks are an important part of package development that is easily done in a (serial) loop. But these checks are also generally embarassingly parallel as there is no or little interdependency between them (besides maybe shared build depedencies). See the (dated) screenshot (running six parallel workers, arranged in a split byobu session).
This release, the first since 2021, brings a number of enhancments. In particular, the summary function is now improved in several ways. Josh also put in a nice PR that generalizes some setup defaults and values.
The release is summarised in the NEWS entry:
Changes in prrd version 0.0.6 (2024-03-06)
The summary function has received several enhancements:
Extended summary is only running when failures are seen.
The
summariseQueue
function now displays an anticipated completion time and remaining duration.The use of optional package foghorn has been refined, and refactored, when running summaries.
The
dequeueJobs.r
scripts can receive a date argument, the date can be parse viaanydate
if anytime ins present.The
enqueeJobs.r
now considers skipped package when running 'addfailed' while ensuring selecting packages are still on CRAN.The CI setup has been updated (twice),
Enqueing and dequing functions and scripts now support relative directories, updated documentation (#18 by Joshua Ulrich).
Courtesy of my CRANberries, there is also a diffstat report for this release.
If you like this or other open-source work I do, you can sponsor me at GitHub.
This post by Dirk Eddelbuettel originated on his Thinking inside the box blog. Please report excessive re-aggregation in third-party for-profit settings.