GitHub Continuous Integration, unit-tests, vignettes: R Packaging
Entering edit mode
Last seen 2.3 years ago
United States



I'm writing a software package on github, and wishing to prepare for submission to Bioconductor channels that synchronizes TRAVIS continuous integration.  Currently I'm setting up the TRAVIS environment dependencies, and soon will have to write unit-tests for the package commits.


  I wish to learn more about integrating unit tests that allows for efficient testing in the BioConductor environment.


Currently we have 3 vignettes that render a markdown document, and we have used rendering the vignette as a test for the software updates.   I am thinking that the TRAVIS CI unit tests should continuously run the vignettes upon each push, thus continuously running the vignettes as tests for the software.

When the package nears completion, I will add a final workflow vignette (there may be several), and render this workflow vignettes using TRAVIS CI as a test.

Is this how BioConductor tests the builds for their software?   My aim is to test the software build locally that will ensure the software succeeds in the BioConductor environment.

  If the workflow vignette builds successfully in the local repo does that imply that it will be successfully built/hosted/available in the BioConductor environment?



Anthony Colombo



github vignette test developers • 1.5k views
Entering edit mode
Dan Tenenbaum ★ 8.2k
Last seen 2.8 years ago
United States

This question really belongs on the bioc-devel list. Briefly, I'll say that what Bioconductor does is run R CMD check, which will build the vignettes and run the unit tests if they are configured properly.

We also run BiocCheck, which is a Bioconductor-specific set of checks. 

Because the current devel version of Bioconductor uses the devel version of R, you should be using a recent R-devel.

So your travis build should run R CMD check and R CMD BiocCheck. If you take care of any reported issues you should be in good shape but we cannot guarantee it, because AFAIK Travis just runs on one platform whereas the Bioconductor builds run on several platforms, so there could be cross-platform issues lurking.


Entering edit mode

I'll just add to Dan's answer that before you submit your package to Bioconductor, you want to make sure that it satisfies our package guidelines here:




Login before adding your answer.

Traffic: 875 users visited in the last hour
Help About
Access RSS

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6