有选择地抑制晕影构建

时间:2015-08-13 06:01:40

标签: r knitr travis-ci vignette

我正在转换BUGS示例 https://github.com/stan-dev/example-models/tree/master/bugs_examples到仅示例包中,每个示例都带有.Rmd晕影。完整的软件包将基于TravisCI构建。

为一个示例构建一个插图需要至少2分钟,因此对于调试版本,应该可以包含/排除单个插图。我知道我可以手动运行单独的Knit运行,但有时需要运行整个构建。

在我目前的解决方法中,Rmd文件被移动到另一个目录,但解决方案并不好。我正在寻找这样的东西:

---
title: "Rats: a normal hierarchical model"
date: "`r Sys.Date()`"
build: "`r Sys.getenv("build_bugs_rats") != ''`"
output: rmarkdown::html_vignette

欢迎其他想法。

1 个答案:

答案 0 :(得分:1)

我不知道有选择地构建或不构建vignet的内置方法。我对此的修改是调整.travis.yml以执行以下操作:

  • 将晕影源代码和晕影输出保存在两个不同的分支上(例如,将输出保持在gh-pages
  • 检查当前构建的提交消息:如果它包含关键字BUILD_ALL_VIGNETTES,则构建并使用vignet检查整个包,并将已编译的小插图推送到gh-pages分支。
  • 如果提交消息不包含关键字,则浏览当前提交的文件列表。删除/ vignettes中不属于当前提交的所有.Rmd文件。然后使用vignette构建并检查整个包,并将已编译的晕影(如果有)推送到gh-pages分支。