Skip to content

Commit 096e75a

Browse files
authored
Fix CI (#457)
* install additional libraries for mac os runner * switch bioc mirror * switch mirror * manually fix versions * try without version map * try removing workarounds
1 parent 22a2191 commit 096e75a

1 file changed

Lines changed: 7 additions & 39 deletions

File tree

.github/workflows/R-CMD-check-bioc.yaml

Lines changed: 7 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ jobs:
3030
- { os: macOS-latest, bioc-version: 'devel', bioc-mirror: 'https://bioconductor.posit.co/', cache: 1 }
3131
- { os: macOS-15-intel, bioc-version: 'devel', bioc-mirror: 'https://bioconductor.posit.co/', cache: 2 }
3232
- { os: ubuntu-latest, bioc-version: 'devel', bioc-mirror: 'https://bioconductor.posit.co/', cache: 1 }
33-
- { os: ubuntu-latest, bioc-version: 'release', bioc-mirror: 'https://packagemanager.posit.co/bioconductor', cache: 1 }
33+
- { os: ubuntu-latest, bioc-version: 'release', bioc-mirror: 'https://bioconductor.posit.co/', cache: 1 }
3434

3535
steps:
3636

@@ -48,53 +48,21 @@ jobs:
4848
sudo apt-get update
4949
sudo apt-get -y install hdf5-tools libsz2 libaec-dev
5050
51-
## Workaround: data.table (indirect dep via Seurat) fails to compile
52-
## on macOS ARM because libintl.h is missing.
51+
## Install missing libraries for macOS ARM (macOS-latest)
5352
- name: Install macOS dependencies
54-
if: runner.os == 'macOS'
53+
if: matrix.config.os == 'macOS-latest'
5554
run: |
56-
brew install gettext
55+
brew install gettext openssl
5756
mkdir -p ~/.R
58-
echo "CPPFLAGS += -I$(brew --prefix gettext)/include" >> ~/.R/Makevars
59-
echo "LDFLAGS += -L$(brew --prefix gettext)/lib" >> ~/.R/Makevars
57+
echo "CPPFLAGS += -I$(brew --prefix gettext)/include -I$(brew --prefix openssl)/include" >> ~/.R/Makevars
58+
echo "LDFLAGS += -L$(brew --prefix gettext)/lib -L$(brew --prefix openssl)/lib" >> ~/.R/Makevars
6059
6160
- name: Setup R and Bioconductor
62-
# todo: remove this workaround line once it is working for windows and/or mac os x
63-
if: matrix.config.os != 'windows-latest' && matrix.config.os != 'macOS-latest'
64-
uses: grimbough/bioc-actions/setup-bioc@v1
61+
uses: rcannood/bioc-actions/setup-bioc@remove-version-map
6562
with:
6663
bioc-version: ${{ matrix.config.bioc-version }}
6764
bioc-mirror: ${{ matrix.config.bioc-mirror }}
6865

69-
## windows-latest and macOS-latest (ARM) hit a bug in R-devel (commit
70-
## dd03406, 2026-04-09) where BiocManager::install() crashes via
71-
## old.packages(type="both") -> .available.both() -> subscript out of
72-
## bounds. Work around by setting up R manually and calling
73-
## BiocManager::install(update=FALSE) to skip the old.packages() call.
74-
- name: Setup R (Windows/macOS-ARM devel)
75-
if: matrix.config.os == 'windows-latest' || matrix.config.os == 'macOS-latest'
76-
uses: r-lib/actions/setup-r@v2
77-
with:
78-
r-version: devel
79-
rtools-version: 45
80-
use-public-rspm: true
81-
82-
- name: Setup Bioconductor (Windows/macOS-ARM devel)
83-
if: matrix.config.os == 'windows-latest' || matrix.config.os == 'macOS-latest'
84-
shell: Rscript {0}
85-
run: |
86-
download.file(
87-
'https://bioconductor.org/checkResults/devel/bioc-LATEST/Renviron.bioc',
88-
destfile = '~/.Renviron', mode = 'wb')
89-
write(
90-
'options(BioC_mirror = "${{ matrix.config.bioc-mirror }}")',
91-
file = '~/.Rprofile', append = TRUE)
92-
install.packages(c("BiocManager", "remotes"), quiet = TRUE)
93-
## update=FALSE avoids calling old.packages(type="both") which
94-
## triggers the R-devel bug in .available.both() (commit dd03406)
95-
BiocManager::install(version = "3.23", ask = FALSE, update = FALSE)
96-
cat("R_BIOC_VERSION=3.23\n", file = Sys.getenv("GITHUB_ENV"), append = TRUE)
97-
9866
- name: Install pandoc
9967
uses: r-lib/actions/setup-pandoc@v2
10068

0 commit comments

Comments
 (0)