Model of Rigorous FLOW Control at CRAN (The Comprehensive R Archive Network)

Last modified by Administrator on 2023/02/17 01:53

  • The starting point in the documentation for writing R packages is http://cran.at.r-project.org/doc/manuals/r-devel/R-exts.html Scanning the first part on the package structure and DESCRIPTION file will give you a pretty good idea about how it works. The checks that are run are described in section "1.3 Checking and building packages,":http://cran.at.r-project.org/doc/manuals/r-devel/R-exts.html#Checking-packages which I think is pretty amazing.
  • A package needs to pass these checks to be admitted to CRAN, and needs to continue to pass when new versions of R are released, or it is removed from CRAN. Once a package is on CRAN it is checked daily to see if it is still passing checks as changes are made to R. These results can be viewed at http://cran.r-project.org/web/checks/check_summary_by_maintainer.html#summary_by_maintainer
  • This gives package maintainers a sense of what is going to bite them on the next R release, and also gives R developers a sense of how many things are being broken by changes they are making, so they may actually reconsider some changes. Also, this is a moving bar. Additional checks are generally added with new versions of R, so there is a tendency for packages that do not have active maintainers to be removed (but less so if they circumvent some of the testing, as I mentioned).
  • For developing packages, another tool is R-forge, which is a repository with structure on top to do package checking. If you look at my project http://tsdbi.r-forge.r-project.org/  and follow the link to "R-forge Packages", then click on "Show/Hide extra info":https://r-forge.r-project.org/R/?group_id=304 for some package, you will see links that tell you if the last repo commit builds and checks on different platforms. Of course, repo commits will often be partial changes so the package does not build, but when you expect it to build you can easily see if it is passing checks on all the main platforms.

Source: Email by Paul Gilbert <pgilbert.ttv9z at ncf.ca>. Used with permission. 

Tags:
    

Submit feedback regarding this wiki to webmaster@opensource.org

This wiki is licensed under a Creative Commons 2.0 license
XWiki 14.10.13 - Documentation