Skip to content

[Bioc-devel] Best way to locally troubleshoot Malbec, Tokay, or Merida build errors

2 messages · Odom, Gabriel J, Martin Morgan

#
Hi all,

I recently ran into an issue where my vignettes would build locally and on Travis-CI with no issues, but would fail on Bioc Devel 3.10. I was able to work on some potential fixes based on the command output section of the build report. However, this process has left me frustrated.

Questions:
- What strategies do you have to test your packages against the Malbec, Tokay, and/or Merida build environments locally?
- If no local options are available, are there Travis or Jenkins options that mimic these environments exactly (or within reason)?
- Or, must I simply wait for the build report each evening?

I'm hoping that I missed a major piece of information in my Google searches.

Respectfully yours,
Gabriel
#
Mostly the build system tries not to be fancy; make sure that you've got the correct version of R and Bioconductor and your packages are up-to-date

  BiocManager::install(version="3.10") 
  BiocManager::valid()

and that you're working with the correct code

  cd /tmp
  git clone git at git.bioconductor.org:packages/yours

and that you follow 'standard' rather than devtools build / install procedures

  R CMD build yours
  R CMD check yours_*gz

This reproduces the current build report problem for me, for your package pathwayPCA. I delve into it further with

  cd pathwayPCA/vignettes
  R CMD Sweave Supplement2-Importing_Data.Rmd

leading to

Quitting from lines 190-194 (Supplement2-Importing_Data.Rmd)
Error in slot(summExperiment, "assays")[[whichAssay]] :
  wrong arguments for subsetting an environment
Calls: <Anonymous> ... withCallingHandlers -> withVisible -> eval -> eval -> SE2Tidy
Execution halted

I see in your code that you use direct slot access, which is a Very Bad Thing. Instead, use the accessors provided by the package, assays(summExperiment)[[whichAssay]], although I don't know if that is the source of the problem...

The challenge with providing an image or ... is that some packages have very complicated dependencies, and it is not feasible to distribute a fully configured image.

One approach Levi Waldron suggested is the 'all of' Bioconductor docker image https://github.com/Bioconductor/bioconductor_full, but this is not, actually, an image captured from the build system so is likely different in edge cases; this is a direction we'd like to improve on.

Martin

?On 6/11/19, 9:25 AM, "Bioc-devel on behalf of Odom, Gabriel J" <bioc-devel-bounces at r-project.org on behalf of gabriel.odom at med.miami.edu> wrote:

    Hi all,
    
    I recently ran into an issue where my vignettes would build locally and on Travis-CI with no issues, but would fail on Bioc Devel 3.10. I was able to work on some potential fixes based on the command output section of the build report. However, this process has left me frustrated.
    
    Questions:
    - What strategies do you have to test your packages against the Malbec, Tokay, and/or Merida build environments locally?
    - If no local options are available, are there Travis or Jenkins options that mimic these environments exactly (or within reason)?
    - Or, must I simply wait for the build report each evening?
    
    I'm hoping that I missed a major piece of information in my Google searches.
    
    Respectfully yours,
    Gabriel
    
    
    _______________________________________________
    Bioc-devel at r-project.org mailing list
    https://stat.ethz.ch/mailman/listinfo/bioc-devel