1919 if : " !contains(github.event.head_commit.message, 'ci skip')"
2020 env :
2121 RENV_PATHS_ROOT : ~/.local/share/renv
22+ R_LIBS_USER : /home/runner/work/_temp/Library
23+ R_PROFILE_USER : /home/runner/work/_temp/.Rprofile
2224
2325 strategy :
2426 fail-fast : false
4446 if : runner.os == 'Linux'
4547 run : |
4648 sudo apt-get update -qq
47- sudo apt-get install -y pandoc gfortran libblas-dev liblapack-dev libedit-dev llvm-dev libcurl4-openssl-dev ffmpeg libhdf5-dev libfribidi-dev libharfbuzz-dev
49+ sudo apt-get install -y pandoc gfortran libblas-dev liblapack-dev libedit-dev llvm-dev libcurl4-openssl-dev ffmpeg libhdf5-dev libfribidi-dev libharfbuzz-dev libxml2-dev libssl-dev
4850
4951 - name : Set up Python
5052 uses : actions/setup-python@v5
5759 with :
5860 r-version : ${{ matrix.config.r }}
5961
62+ - name : Set up Pandoc
63+ uses : r-lib/actions/setup-pandoc@v2
64+
6065 - name : Cache Python packages
6166 uses : pat-s/always-upload-cache@v2
6267 with :
@@ -69,13 +74,14 @@ jobs:
6974 if : startsWith(runner.os, 'Linux')
7075 with :
7176 path : ${{ env.R_LIBS_USER }}
72- key : ${{ runner.os }}-R-${{ steps.setup-r.outputs.installed-r-version }}-${{ hashFiles('DESCRIPTION') }}
77+ key : ${{ runner.os }}-R-${{ steps.setup-r.outputs.installed-r-version }}-${{ hashFiles('DESCRIPTION') }}-v2
7378 restore-keys : |
74- ${{ runner.os }}-R-${{ steps.setup-r.outputs.installed-r-version }}-
75-
79+ ${{ runner.os }}-R-${{ steps.setup-r.outputs.installed-r-version }}-v2
7680
7781 - name : Install python tools
7882 run : |
83+ # Ensure pip is properly installed
84+ python -m ensurepip --upgrade || true
7985 python -m pip install --upgrade pip
8086 pip install --upgrade wheel setuptools
8187
@@ -84,21 +90,38 @@ jobs:
8490 pip install rpy2
8591 echo "LD_LIBRARY_PATH=$(python -m rpy2.situation LD_LIBRARY_PATH):${LD_LIBRARY_PATH}" >> $GITHUB_ENV
8692
87- - name : Install scprep
88- id : install-python-packages
93+ - name : Install core R packages
8994 run : |
90- pip install --upgrade .[test]
91- python -c "import scprep"
95+ install.packages(c("remotes", "devtools", "BiocManager"), repos = "https://cloud.r-project.org/")
96+ shell : Rscript {0}
97+
98+ - name : Install Bioconductor packages
99+ run : |
100+ BiocManager::install(c("splatter", "slingshot"), ask = FALSE, update = FALSE)
101+ shell : Rscript {0}
92102
93- - name : Install R packages
94- id : install-r-packages
103+ - name : Install GitHub packages
95104 run : |
96- install.packages(c("BiocManager", "devtools"))
97- BiocManager::install(c("splatter", "slingshot"))
98- devtools::install_github("dynverse/dyngen")
99- devtools::install_github("dynverse/dynwrap")
105+ remotes::install_github(c("dynverse/dyngen", "dynverse/dynwrap"), upgrade = "never")
100106 shell : Rscript {0}
101107
108+ - name : Verify R package installation
109+ run : |
110+ packages <- c("splatter", "slingshot", "dyngen", "dynwrap")
111+ for (pkg in packages) {
112+ if (!requireNamespace(pkg, quietly = TRUE)) {
113+ stop(paste("Package", pkg, "failed to install"))
114+ }
115+ cat("✓ Package", pkg, "installed successfully\n")
116+ }
117+ shell : Rscript {0}
118+
119+ - name : Install scprep
120+ id : install-python-packages
121+ run : |
122+ python -m pip install --upgrade .[test]
123+ python -c "import scprep"
124+
102125 - name : Run tests
103126 run : nose2 -vvv
104127
@@ -114,4 +137,4 @@ jobs:
114137 uses : actions/upload-artifact@v4
115138 with :
116139 name : ${{ matrix.config.name }}_results
117- path : check
140+ path : check
0 commit comments