Neal Richardson created ARROW-12236:
---------------------------------------

             Summary: [R][CI] Add check that all docs pages are listed in 
_pkgdown.yml
                 Key: ARROW-12236
                 URL: https://issues.apache.org/jira/browse/ARROW-12236
             Project: Apache Arrow
          Issue Type: New Feature
          Components: Continuous Integration, R
            Reporter: Neal Richardson


Our (external) nightly R packaging and docs build is failing to render the 
pkgdown site: 
https://github.com/ursa-labs/arrow-r-nightly/runs/2266551062?check_suite_focus=true#step:9:55

This is due to (1) a [new-ish change in 
pkgdown|https://github.com/r-lib/pkgdown/pull/1395] that errors if topics are 
not included and (2) the recent addition of FragmentScanOptions, which did not 
get added to _pkgdown.yml.

We should validate this on our regular CI in order to prevent future issues 
like this. We often have to add things to _pkgdown.yml right at release time, 
and it would be better to keep up as we go. Some ideas for how:

* Add a step to an existing R workflow (e.g. 
https://github.com/apache/arrow/blob/master/.github/workflows/r.yml#L60) that 
does this check
* Add a new workflow that is triggered only on changes to `r/man` and 
`r/_pkgdown.yml`
* In either case, this could be done as a bash script, a python script, or an R 
script. If using R, note that the docker-based CI jobs won't have R installed, 
so you might want to tack it onto one of the windows jobs (which uses the 
setup-r action), but then you're in windows. 
* You could install pkgdown and try to build the site, but that's a lot of 
dependency to download and install just to essentially compare some lines in a 
yaml file with a directory listing (i.e., make sure that all {{r/man/*.Rd}} 
have corresponding entries in the reference part of the yml), so python or even 
a bash script might be more efficient to run. And since this is going to run a 
lot, it's worth considering how to keep runtime down even if that means more 
work to set it up.
* If you're scripting this standalone, think you'll need to filter out Rd files 
that have {{\keyword{internal}}} as pkgdown excludes those from the reference 
list.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to