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]

Reply via email to