Update integration checks to use satijalab/seurat-ci Docker image #228
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Picking up where #217 left off, this PR introduces two key improvements to the Integration Checks workflow:
Enables tests to be run via
R CMD check
by dropping the /tests directory from.Rbuildignore
and then updating /test/testthat.R file to run the tests forSeuratObject
rather thanSeurat
(not sure if this was intentional or not). Until now,R CMD check
andrcmdcheck::rcmdcheck
by extension have never been runningSeuratObject
’s tests, including during CRAN’s reverse dependency checks.Updates the workflow to use the
satijalab/seurat-ci
Docker image as its runner environment, eliminating the need for the r-lib/actions we were previously using and (critically) speeding up the workflow.The initial implementation of the Integration Checks workflow was taking ~55 minutes to run, owing mostly to dependency installation. Since the
satijalab/seurat-ci
image usesrocker/r2u
as its base, package installation is very fast and the workflow now takes a little under 5 minutes to run 🚀 Another option to speed up dependency installation would be to userspm
which is provided as a built-in option forr-lib/actions/setup-r@v2
like we do here. This would have reduced the workflow runtime down to ~20 minutes. For the sake of posterity, I’ve included that change as b486bd5 so that implementation can always be recycled later.Transitioning to a Docker-based action has the handy side-effect of introducing a portable testing environment that developers can use locally 🤘(more on this soon). The only real downside is that the r2u project only supports
R-release
so we're no longer able to run checks withR-oldrelease
orR-devel
.This should probably wait for satijalab/seurat-docker#4 before being merged 😬
tl;dr: Updates the Integration Checks workflow, delivering an 11x speedup.