使用检查点和MRAN快照作为带有travis-ci的CRAN镜像?

时间:2016-09-03 23:37:14

标签: r travis-ci cran

我想使用checkpoint packageMRAN snapshot repo来设置在我的软件包基于Travis-CI构建时使用的软件包版本。

我正在寻找关于让其中任何一个工作的建议:

  1. Travis使用我的包所依赖的包的本地文件(即存储在我的pkg的github repo中)。例如,如果我使用checkpoint下载软件包的源代码并将它们存储在我的软件包的目录中,我如何让Travis从该本地位置而不是从CRAN安装软件包?或者,

  2. Travis使用MRAN快照URL下载在特定日期归档的软件包,如URL中所设置。

  3. 我一直在试验此测试包中.travis.yml文件中的各种选项:https://github.com/benmarwick/checkpointtest

    例如,以下是我尝试过的.travis.yml文件:

    # R for travis: see documentation at https://docs.travis-ci.com/user/languages/r
    
    language: R
    sudo: false
    cache: packages
    warnings_are_errors: false
    
    cran: https://mran.revolutionanalytics.com/
    

    # R for travis: see documentation at https://docs.travis-ci.com/user/languages/r
    
    language: R
    sudo: false
    cache: packages
    warnings_are_errors: false
    
    repos:
      CRAN: https://mran.revolutionanalytics.com/snapshot/2016-09-02
    

    # R for travis: see documentation at https://docs.travis-ci.com/user/languages/r
    
    language: R
    sudo: false
    cache: packages
    cran: https://mran.revolutionanalytics.com/snapshot/2016-09-02
    env:
      global:
      - R_LIBS_USER=~/vignettes/packages/.checkpoint/2016-09-02/lib/x86_64-w64-mingw32/3.3.1
      - R_LIBS_SITE=~/vignettes/packages/.checkpoint/2016-09-02/lib/x86_64-w64-mingw32/3.3.1
    

    以及其他几种组合。

    到目前为止,所有内容都导致错误(https://travis-ci.org/benmarwick/checkpointtest),通常这是错误消息:

    W: Failed to fetch https://mran.revolutionanalytics.com//bin/linux/ubuntu/precise/Packages server certificate verification failed.
     CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none
    

    如何让Travis-CI了解检查点包,而不是联系CRAN下载依赖项?

    此问题与我的packrat question有关让Travis使用非CRAN包源。

1 个答案:

答案 0 :(得分:1)

这似乎有效:

# R for travis: see documentation at https://docs.travis-ci.com/user/languages/r

language: R
sudo: false

cache:
  packages: true

repos:
  MRAN: "https://mran.microsoft.com/snapshot/2016-11-08"

warnings_are_errors: false