Hi, Duncan:
Thanks again.
I found XQuartz-2.8.1.dmg and added the 5 lines you suggested
(modified to 2.8.1) to "R-CMD-check.yaml". However, the "GitHub Action"
status symbols disappeared, so I deleted them.
I copied the "CRAN" function from fda to sos and deleted the
reference to fda from sos.
Now I'm getting, 'could not find function "CRAN"' in "processing
vignette 'sos.Rnw'", even though CRAN is in the NAMESPACE for sos.
Suggestions?
Thanks,
Spencer
p.s. To use Sys.getenv("NOT_CRAN"), I'd have to set the environment
variable "NOT_CRAN" on all the test platforms other than CRAN, and
that's a level of complexity I'd rather not get into.
On 5/23/21 7:03 PM, Duncan Murdoch wrote:
Okay, I just worked out the chain: The fda package depends on fds. fds
depends on rainbow. rainbow imports ks. ks imports plot3D. plot3D
imports misc3d. misc3d imports tcltk. tcltk on macOS needs XQuartz.
I saw this item online:
https://github.com/actions/virtual-environments/issues/771 . It's a
suggestion to add this to the default macOS VM, but apparently they
didn't act on it. You could try adding it to yours:
if: runner.os == 'macOS'
run: |
wget https://dl.bintray.com/xquartz/downloads/XQuartz-2.7.11.dmg
sudo hdiutil attach XQuartz-2.7.11.dmg
sudo installer -package /Volumes/XQuartz-2.7.11/XQuartz.pkg
-target /
(Though the current XQuartz version is 2.8.1, and the URL above doesn't
work for me, so you'll probably have to spend some time finding one that
does.)
What should you do? I can suggest a couple of things other than
installing XQuartz:
1. Drop the fda dependency, and work around the lack of fda::CRAN. It
seems you're pulling in an awful lot of stuff for that one function. The
on_cran function in testthat has this definition:
function ()
!identical(Sys.getenv("NOT_CRAN"), "true")
so I'd copy that to your package and then define environment variable
NOT_CRAN=true on your Github machine (in the "env:" section). But this
might be inconvenient working on your own machine, where you'll also
need to define NOT_CRAN=true.
2. Leave in the fda dependency, but make the test conditional, i.e. change
if (fda::CRAN())
to
if (requireNamespace("fda") && fda::CRAN())
I'd do number 1, or just assume everything is being run on CRAN.
Duncan Murdoch
On 23/05/2021 6:49 p.m., Spencer Graves wrote:
Hi, Duncan et al.:
Thanks again. I removed fda from "suggests" and added it to
"imports" in DESCRIPTION. I also added "importFrom('fda', 'CRAN')" to
NAMESPACE. Sadly, the result was the same: It passed "R CMD check" on
Windows, ubuntu, and my local Mac but not macOS on GitHub Action.
How do you suggest I proceed from here?
You may recall that I started using "if(fda::CRAN())" as a way to
keep checks for routine testing that take too much time on CRAN. I've
looked at Wickham's "skip_on_cran" but concluded, perhaps incorrectly,
that it was not self contained and required more work to use than
"if(fda::CRAN())". If I'm incorrect in that assessment, I will happily
accept instructions on how to convert "if(fda::CRAN())" to use
"skip_on_cran".
Again, I really appreciate the help.
Spencer
On 5/23/21 4:44 PM, Duncan Murdoch wrote:
I don't see where the connection is, but it's almost certainly coming in
through your unconditional use of "fda::CRAN()". Since "fda" is not a
hard requirement, this should be conditional on having it installed.
Duncan Murdoch
On 23/05/2021 5:25 p.m., Spencer Graves wrote:
Hi, Duncan et al.:
I inserted "the lines from the rgl workflow to work around the
XQuartz issues" that Duncan provided after "env" in TWO places in
R-CMD-check.yaml with the same result: GitHub Action worked fine on
Windows and ubuntu (both release and devel) but failed on macOS
complaining, "there is no package called 'ks'".
HOWEVER, I can NOT see how I even ask for ks. The error message
says:
processing the following file failed: 'sos.Rnw'
Error: Error: Vignette re-building failed.
Execution halted
Error: Error in proc$get_built_file() : Build process failed
Calls: ... build_package -> with_envvar -> force ->
Execution halted
Error: Process completed with exit code 1.
I can NOT find it with "grep 'ks' sos.Rnw". It's NOT in
DESCRIPTION
nor NAMESPACE.
I do NOT see how I am even asking for it.
PROPOSED NEXT STEP: Do as outlined in
"https://github.com/ThinkR-open/prepare-for-cran; and submit to CRAN
with a note on this problem in cran-comments.md if the package passes
all other tests.
Other suggestions?
Thanks again, Duncan.
Spencer
On 5/23/21 2:36 PM, Duncan Murdoch wrote:
For ks, if you look here:
https://github.com/sbgraves237/sos/runs/2650960959?check_suite_focus=true
in the "Install Dependencies" section, you'll see these errors:
trying URL