Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update integration checks to use satijalab/seurat-ci Docker image #228

Merged
merged 6 commits into from
Dec 6, 2024

Conversation

dcollins15
Copy link
Collaborator

Picking up where #217 left off, this PR introduces two key improvements to the Integration Checks workflow:

  1. 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 for SeuratObject rather than Seurat (not sure if this was intentional or not). Until now, R CMD check and rcmdcheck::rcmdcheck by extension have never been running SeuratObject’s tests, including during CRAN’s reverse dependency checks.

  2. 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 uses rocker/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 use rspm which is provided as a built-in option for r-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 with R-oldrelease or R-devel.

This should probably wait for satijalab/seurat-docker#4 before being merged 😬

tl;dr: Updates the Integration Checks workflow, delivering an 11x speedup.

@dcollins15 dcollins15 requested review from rsatija and adyzh December 5, 2024 18:12
@dcollins15 dcollins15 merged commit aedfad0 into main Dec 6, 2024
1 check passed
@dcollins15 dcollins15 deleted the docker_based_ci branch December 6, 2024 18:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants