使用Travis.ci进行R语言开发

3

我想使用Travis.ci服务来测试我的R包。我按照这里的描述创建了.travis.yml文件。

目前我不想使用testthat用例来测试我的包。我只想让travis服务检查是否可以使用来自github的devtools安装该包。

我的travis.yml文件:

 language: c

before_install:
  - cd ThinkToStartR
  - curl -OL http://raw.github.com/craigcitro/r-travis/master/scripts/travis-tool.sh
  - chmod 755 ./travis-tool.sh
  - ./travis-tool.sh bootstrap

install:
  - ./travis-tool.sh install_deps

script: ./travis-tool.sh run_tests

after_failure:
  - ./travis-tool.sh dump_logs

notifications:
  email:
    on_success: change
    on_failure: change

但是当Travis开始工作时,它会给我一个错误:

命令 "./travis-tool.sh run_tests" 退出并显示1。

我该如何让Travis安装我的软件包?

软件包: https://github.com/JulianHill/ThinkToStartR


您的目录 https://github.com/JulianHill/ThinkToStartR 不是 R 包的形式,但子目录 https://github.com/JulianHill/ThinkToStartR/tree/master/ThinkToStartR 是。错误出现在 travis (R) 尝试从主目录构建包而不是包含您的包的子目录。 - jdharrison
谢谢。但是我该如何让Travis从子目录构建软件包? - JulianHi
这篇文章可能会有所帮助 http://www.rochester.edu/college/gradstudents/jolmsted/blog/2014/01/05/r-pkgs-on-travis/ 。因此,基本上只需调整您的 travis.yml 文件,使其进入子目录即可。 - jdharrison
但是我在我的travis文件中使用了cd ThinkToStartR。那么它应该在子目录中执行,对吗? - JulianHi
cd 命令不应该放在 install 部分吗? - jdharrison
不,Travis 就像一个控制台。所以当我使用 cd ThinkToStartR 时,它会停留在那个目录中。 - JulianHi
1个回答

4
在这种情况下,问题并不在于travis。你的R代码没有通过检查。在instant_pkgs.r中,有对install.packages的调用。需要在这两个函数的实例中添加repos="http://cran.us.r-project.org"。这解决了最初的问题。你有一个虚拟的手动页面ThinkToStart-package.Rd。
\examples{
~~ simple examples of the most important functions ~~
}

将此更改为


\examples{
}

现在该软件包可以通过检查。

更改内容可以在https://github.com/johndharrison/ThinkToStartR/blob/master/ThinkToStartR/R/instant_pkgs.rhttps://github.com/johndharrison/ThinkToStartR/blob/master/ThinkToStartR/man/ThinkToStart-package.Rd中查看,结果可以在https://travis-ci.org/johndharrison/ThinkToStartR中查看。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接