Выборочно подавить сборку виньеток
Я преобразую примеры ошибок в 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 ответ
Я не знаю встроенного способа выборочно создавать или не создавать виньетки. Мой взлом для этого будет настроить .travis.yml
сделать следующее:
- Сохраните исходный код виньетки и выходные данные виньетки в двух отдельных ветвях (например, оставьте вывод включенным
gh-pages
) - Проверьте сообщение о фиксации текущей сборки: если оно содержит ключевое слово, подобное
BUILD_ALL_VIGNETTES
затем создайте и проверьте всю упаковку с помощью виньеток и отправьте скомпилированные виньетки вgh-pages
ветка. - Если в сообщении о фиксации нет ключевого слова, просмотрите список файлов текущего коммита. Удалите все файлы.Rmd в / виньетки, которые не были частью текущего коммита. Затем создайте и проверьте весь пакет с помощью виньеток и отправьте скомпилированные виньетки (если таковые имеются) в
gh-pages
ветка.