This is an automated email from the ASF dual-hosted git repository.
gurwls223 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/spark.git
The following commit(s) were added to refs/heads/master by this push:
new f15102b [SPARK-28309][R][INFRA] Fix AppVeyor to run SparkR tests by
avoiding to use devtools for testthat
f15102b is described below
commit f15102b1702b64a54233ae31357e32335722f4e5
Author: HyukjinKwon <[email protected]>
AuthorDate: Tue Jul 9 12:06:46 2019 +0900
[SPARK-28309][R][INFRA] Fix AppVeyor to run SparkR tests by avoiding to use
devtools for testthat
## What changes were proposed in this pull request?
Looks `devtools` 2.1.0 is released and then our AppVeyor users the latest
one.
The problem is, they added `testthat` 2.1.1+ as its dependency -
https://github.com/r-lib/devtools/blob/master/DESCRIPTION#L35
Usually it should remove and reinstall it properly when we install other
packages; however, seems it's being failed in AppVeyor due to the previous
installation for an unknown reason.
```
[00:01:41] > devtools::install_version('testthat', version = '1.0.2',
repos='https://cloud.r-project.org/')
[00:01:44] Downloading package from url:
https://cloud.r-project.org//src/contrib/Archive/testthat/testthat_1.0.2.tar.gz
...
[00:02:25] WARNING: moving package to final location failed, copying instead
[00:02:25] Warning in file.copy(instdir, dirname(final_instdir), recursive
= TRUE, :
[00:02:25] problem copying
c:\RLibrary\00LOCK-testthat\00new\testthat\libs\i386\testthat.dll to
c:\RLibrary\testthat\libs\i386\testthat.dll: Permission denied
[00:02:25] ** testing if installed package can be loaded from final location
[00:02:25] *** arch - i386
[00:02:26] Error: package or namespace load failed for 'testthat' in
FUN(X[[i]], ...):
[00:02:26] no such symbol find_label_ in package
c:/RLibrary/testthat/libs/i386/testthat.dll
[00:02:26] Error: loading failed
[00:02:26] Execution halted
[00:02:26] *** arch - x64
[00:02:26] ERROR: loading failed for 'i386'
[00:02:26] * removing 'c:/RLibrary/testthat'
[00:02:26] * restoring previous 'c:/RLibrary/testthat'
[00:02:26] Warning in file.copy(lp, dirname(pkgdir), recursive = TRUE,
copy.date = TRUE) :
[00:02:26] problem copying
c:\RLibrary\00LOCK-testthat\testthat\libs\i386\testthat.dll to
c:\RLibrary\testthat\libs\i386\testthat.dll: Permission denied
[00:02:26] Warning message:
[00:02:26] In i.p(...) :
[00:02:26] installation of package
'C:/Users/appveyor/AppData/Local/Temp/1/RtmpIx25hi/remotes5743d4a9b1/testthat'
had non-zero exit status
```
See
https://ci.appveyor.com/project/ApacheSoftwareFoundation/spark/builds/25818746
Our SparkR testbed requires `testthat` 1.0.2 at most for the current status
and `devtools` was installed at SPARK-22817 to pin the `testthat` version to
1.0.2
Therefore, this PR works around the current issue by directly installing
from the archive instead, and don't use `devtools`.
```R
R -e
"install.packages('https://cloud.r-project.org/src/contrib/Archive/testthat/testthat_1.0.2.tar.gz',
repos=NULL, type='source')"
```
## How was this patch tested?
AppVeyor will test.
Closes #25081 from HyukjinKwon/SPARK-28309.
Authored-by: HyukjinKwon <[email protected]>
Signed-off-by: HyukjinKwon <[email protected]>
---
appveyor.yml | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/appveyor.yml b/appveyor.yml
index bdb948b..8fb090c 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -42,9 +42,12 @@ install:
# Install maven and dependencies
- ps: .\dev\appveyor-install-dependencies.ps1
# Required package for R unit tests
- - cmd: R -e "install.packages(c('knitr', 'rmarkdown', 'devtools', 'e1071',
'survival'), repos='https://cloud.r-project.org/')"
+ - cmd: R -e "install.packages(c('knitr', 'rmarkdown', 'e1071', 'survival'),
repos='https://cloud.r-project.org/')"
# Here, we use the fixed version of testthat. For more details, please see
SPARK-22817.
- - cmd: R -e "devtools::install_version('testthat', version = '1.0.2',
repos='https://cloud.r-project.org/')"
+ # As of devtools 2.1.0, it requires testthat higher then 2.1.1 as a
dependency. SparkR test requires testthat 1.0.2.
+ # Therefore, we don't use devtools but installs it directly from the archive
including its dependencies.
+ - cmd: R -e "install.packages(c('crayon', 'praise', 'R6'),
repos='https://cloud.r-project.org/')"
+ - cmd: R -e
"install.packages('https://cloud.r-project.org/src/contrib/Archive/testthat/testthat_1.0.2.tar.gz',
repos=NULL, type='source')"
- cmd: R -e "packageVersion('knitr'); packageVersion('rmarkdown');
packageVersion('testthat'); packageVersion('e1071'); packageVersion('survival')"
build_script:
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]