将检查点和 MRAN 快照用作 travis-ci 的 CRAN 镜像?

Use checkpoint and a MRAN snapshot as CRAN mirror with travis-ci?

我想使用 checkpoint package or the MRAN snapshot repo 来设置当我的包在 Travis 上构建时使用的包版本-CI.

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

  1. Travis 使用我的包所依赖的包的本地文件(即存储在我的 pkg 的 github 存储库中)。例如,如果我使用检查点下载包的源并将它们与我的包一起存储在一个目录中,我怎样才能让 Travis 从本地位置而不是从 CRAN 安装包?或者,

  2. 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 下载依赖项?

这个问题与我关于让 Travis 使用非 CRAN 包源的 有关。

这似乎有效:

# 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