[R-pkg-devel] R-CMD-check works locally and on github, but windows automatic checks fail
Duncan Murdoch
murdoch@dunc@n @end|ng |rom gm@||@com
Mon Jul 5 01:47:52 CEST 2021
On 04/07/2021 5:26 p.m., Cyril Lagger wrote:
> Hi all,
>
> I am trying to submit our package scDiffCom (
> https://github.com/CyrilLagger/scDiffCom) to CRAN. However, it does not
> pass the windows automatic checks for some unclear reason to me. Any help
> would be really appreciated!
>
> Basically, the output from R-CMD-check is fine locally and for the github
> actions I specified, but not for the automatic windows tests. Please see
> below:
>
> ------------
> 1)
> no ERRORs, no WARNINGs, no NOTEs when running devtools:check() locally
> (windows 10, R 4.1.0)
That's the windows release version, not devel.
>
> 2)
> no ERRORs, no WARNINGs, no NOTEs when running github-actions
> <https://github.com/CyrilLagger/scDiffCom/blob/master/.github/workflows/check-standard.yaml>
> for windows-latest (release), macOS-latest (release), ubuntu-20.04
> (release), ubuntu-20.04 (devel)
You didn't test windows-devel.
>
> 3)
> 1 ERROR when running devtools:check_win_devel: *Running the tests in
> 'tests/testthat.R' failed.* However, testthat.Rout.fail is not informative
> to me, it only contains:
That's a Windows devel run. That's what you haven't done locally.
>
>> library(testthat)
>> library(scDiffCom)
>>
>> test_check("scDiffCom")
> Loading required package: SeuratObject
>
> 4)
> 2 ERRORs when running devtools:check_win_release. As follows:
>
> ** running tests for arch 'i386' ... [5s] ERROR
> Running 'spelling.R' [0s]
> Running 'testthat.R' [4s]
> Running the tests in 'tests/testthat.R' failed.
> Complete output:
> > library(testthat)
> > library(scDiffCom)
> >
> > test_check("scDiffCom")
> Loading required package: SeuratObject
> == Failed tests
> ================================================================
> -- Error (test-everything.R:171:1): (code run outside of
> `test_that()`) --------
> Error: error in load action .__A__.1 for package RcppAnnoy:
> loadModule(module = "AnnoyAngular", what = TRUE, env = ns, loadNow =
> TRUE): Unable to load module "AnnoyAngular": bad binding access
> Backtrace:
> x
> 1. +-base::lapply(...) test-everything.R:171:0
> 2. | \-scDiffCom:::FUN(X[[i]], ...)
> 3. | \-scDiffCom:::extract_analysis_inputs(...) test-everything.R:174:4
> 4. | \-scDiffCom:::extract_seurat_inputs(...)
> 5. \-base::loadNamespace(x)
> 6. +-base::namespaceImportFrom(...)
> 7. | \-base::asNamespace(ns)
> 8. \-base::loadNamespace(j <- i[[1L]], c(lib.loc, .libPaths()),
> versionCheck = vI[[j]])
> 9. \-methods::cacheMetaData(ns, TRUE, ns)
> 10. \-methods:::.doLoadActions(where, attach)
>
> [ FAIL 1 | WARN 0 | SKIP 0 | PASS 6 ]
> Error: Test failures
> Execution halted
> ** running tests for arch 'x64' ... [5s] ERROR
> Running 'spelling.R' [0s]
> Running 'testthat.R' [5s]
> Running the tests in 'tests/testthat.R' failed.
> Complete output:
> > library(testthat)
> > library(scDiffCom)
> >
> > test_check("scDiffCom")
> Loading required package: SeuratObject
>
> -----------
>
> Since I have no error locally on my machine, I don't know what I could
> change for the automatic tests to work. Also, I don't understand why
> the github-action for windows-latest (release) works but not
> devtools:check_win_release().
You say check_win_devel() above.
>
> By the way, I installed R devel on my machine in addition to R 4.1.0,
> but it turns out I cannot test our package installation because it has
> Bioconductor dependencies and "Bioconductor does not yet build and
> check packages for R version 4.2" as reported here
> <https://github.com/r-hub/rhub/issues/471>. The exact same error
> actually also occurs when I run devtools:check_rhub(). It does not
> seem to be related to the failure of testthat I reported above, but I
> thought it might be useful to mention it.
Yes, seems related. If you're depending on a package that won't build,
your tests will fail.
Perhaps you can reduce your dependence to Suggests, which will give a
note on the failure to load, but no more.
I don't know if this is under your control, but I believe R-devel will
not support i386. (Or is it the last version to do so? I forget where
I saw the news.)
Duncan Murdoch
More information about the R-package-devel
mailing list