jonkeane commented on code in PR #49655:
URL: https://github.com/apache/arrow/pull/49655#discussion_r3030691130
##########
dev/tasks/r/github.linux.cran.yml:
##########
@@ -55,6 +55,13 @@ jobs:
- name: Dump test logs
run: cat arrow/r/check/arrow.Rcheck/tests/testthat.Rout*
if: always()
+ - name: Check for non-API calls
+ run: |
+ if grep -q "non-API" arrow/r/check/arrow.Rcheck/00check.log; then
+ echo "Found non-API calls in R CMD check output:"
+ grep -A2 "non-API" arrow/r/check/arrow.Rcheck/00check.log
+ exit 1
+ fi
Review Comment:
I'm fine with this, but I wonder if we actually want to have a `NOTE` scan
here (and maybe ignore a handful of them like submission time, large
components, and top-level files)?
```
── R CMD check results ────────────────────────────────── arrow 23.0.1.9000
────
Duration: 6m 2.2s
❯ checking CRAN incoming feasibility ... [0s/0s] NOTE
Maintainer: ‘Jonathan Keane <[email protected]>’
Version contains large components (23.0.1.9000)
❯ checking top-level files ... NOTE
Files ‘README.md’ or ‘NEWS.md’ cannot be checked without ‘pandoc’ being
installed.
❯ checking compiled code ... NOTE
File ‘arrow/libs/arrow.so’:
Found non-API calls to R: ‘R_NamespaceRegistry’, ‘R_UnboundValue’
Compiled code should not call non-API entry points in R.
See ‘Writing portable packages’ in the ‘Writing R Extensions’ manual,
and section ‘Moving into C API compliance’ for issues with the use of
non-API entry points.
```
There also might be flags we can use to turn those notes off BTW too. I have
to grep the r source every time to get them, but claude might be able to do
that for us?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]