R/Bioconductor packages with multiple dependencies can time out on Travis CI due to the 50 minute build timeout. Additionally, the semi-annual Bioconductor release update can nullify an existing package cache. When this occurs, here’s how you can quickly re-cache a package on GitHub.
Common steps
Re-cache
- Set
script: true
in.travis.yml
. - Replace
DESCRIPTION
file in series described below. - Use commit message “Recache Travis [skip appveyor]”.
Clean up
- Restore
travis.yml
andDESCRIPTION
files. - Use commit message “Restore DESCRIPTION [skip ci]”.
Examples
Here’s how I re-cache my R packages on GitHub when necessary.
basejump
Replace DESCRIPTION
with this:
Package: basejump
Title: TRAVIS BIOCONDUCTOR CACHE
Description: TRAVIS BIOCONDUCTOR CACHE
Version: 0.0.0.9000
Depends:
R (>= 3.5)
Imports:
SummarizedExperiment,
SingleCellExperiment,
ensembldb
bcbioBase
Package: bcbioBase
Title: TRAVIS BIOCONDUCTOR CACHE
Description: TRAVIS BIOCONDUCTOR CACHE
Version: 0.0.0.9000
Depends:
R (>= 3.5)
Imports:
SummarizedExperiment
bcbioRNASeq
Package: bcbioRNASeq
Title: TRAVIS BIOCONDUCTOR CACHE
Description: TRAVIS BIOCONDUCTOR CACHE
Version: 0.0.0.9000
Depends:
R (>= 3.5)
Imports:
SummarizedExperiment,
DESeq2
bcbioSingleCell
Package: bcbioSingleCell
Title: TRAVIS BIOCONDUCTOR CACHE
Description: TRAVIS BIOCONDUCTOR CACHE
Version: 0.0.0.9000
Depends:
R (>= 3.5)
Imports:
SummarizedExperiment,
SingleCellExperiment