我想使用checkpoint package或MRAN snapshot repo来设置在我的软件包基于Travis-CI构建时使用的软件包版本。
我正在寻找关于让其中任何一个工作的建议:
Travis使用我的包所依赖的包的本地文件(即存储在我的pkg的github repo中)。例如,如果我使用checkpoint下载软件包的源代码并将它们存储在我的软件包的目录中,我如何让Travis从该本地位置而不是从CRAN安装软件包?或者,
Travis使用MRAN快照URL下载在特定日期归档的软件包,如URL中所设置。
我一直在试验此测试包中.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包源。
答案 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