lcolladotor / biocthis

Automate package and project setup for Bioconductor packages
https://lcolladotor.github.io/biocthis/
49 stars 16 forks source link

Issues with installing Bioc package dependencies in GHA workflow #40

Closed lmweber closed 1 year ago

lmweber commented 1 year ago

Hi @lcolladotor , I'm having some difficulties with installation of Bioc package dependencies in the Install dependencies pass 1 / 2 steps in the biocthis::use_bioc_github_action() workflows.

It seems right now the AnVIL package binaries are not yet available for the latest devel version of Bioc (3.18). This is in principle ok, since then the workflow would instead default to installing packages from source directly from Bioc, using the line:

remotes::install_local(dependencies = TRUE, repos = gha_repos, build_vignettes = FALSE, upgrade = TRUE)

or

remotes::install_local(dependencies = TRUE, repos = BiocManager::repositories(), build_vignettes = TRUE, upgrade = TRUE, force = TRUE)

in the Install dependencies pass 1 or Install dependencies pass 2 workflow sections respectively.

However, it seems that right now the GHA builders also cannot access the Bioc repositories directly in this way. I checked that the gha_repos and BiocManager::repositories() variables are defined correctly for Bioc 3.18, and this all looks ok. So I'm not sure why it can't find / install these dependency packages from source directly from Bioc (version 3.18). Do you have any ideas?

Here is an example workflow run where this failed (for SpatialExperiment; see the output for Install dependencies pass 2): https://github.com/drighelli/SpatialExperiment/actions/runs/4893972074/jobs/8737567525

bschilder commented 1 year ago

Noticing related issues on a related project,rworkflows https://github.com/neurogenomics/rworkflows/issues/58

From what I can tell, this doesn't seem to be specific to 3.18, but rather all Bioc versions @lmweber

lcolladotor commented 1 year ago

Thanks @lmweber @bschilder @LiNk-NY!

This should be resolved now in both release (1.10.1) and devel (1.11.1).

lmweber commented 1 year ago

Awesome thank you!

lmweber commented 1 year ago

Hmm it's still not finding some of the Bioc dependency packages -- e.g. see error in this workflow run when it can't find DropletUtils: https://github.com/drighelli/SpatialExperiment/actions/runs/4899765833/jobs/8749964157

I'm not sure why this is. Maybe GHA somehow can't connect to the Bioc package repositories correctly.

lcolladotor commented 1 year ago

DropletUtils is truly not available on bioc 3.18 https://bioconductor.org/packages/devel/bioc/html/DropletUtils.html

There's no source tar ball available (and no binaries either; though without a source tar ball there would never be binaries available).

Screenshot 2023-05-06 at 1 31 37 AM
lcolladotor commented 1 year ago

Btw, unless it's a brand new package, I typically have GHA set to the latest bioc release branch. Then I let the Bioc build machines deal with the bioc devel branch.

Of course, if dependencies are changing a lot on the devel branch, I switch to the bioc devel branch. But that tends to be rare.

lmweber commented 1 year ago

Ah interesting, thanks for noticing that. The source / binaries for some other packages are not yet available in Bioc 3.18 either (I just clicked through a few to check).

Good idea -- I'll switch it over to Bioc release for the purposes of GitHub Actions testing, and rely on the Bioc builders for checking in Bioc devel. Thanks for the suggestion!