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

[r/ci] Set options(pkgType = "binary") for MacOS #2257

Merged
merged 11 commits into from
Mar 13, 2024

Conversation

mojaveazure
Copy link
Member

Force binary-only installation for macOS. By setting as an option in ~/.Rprofile; this should affect both package installation and updating through utils::install.packages(), utils::update.packages(), and remotes::install_deps()

resolves #2254

Force binary-only installation for macOS. By setting as an option in
`~/.Rprofile`; this should affect both package installation and updating
through `utils::install.packages()`, `utils::update.packages()`, and
`remotes::install_deps()`

resolves #2254
@eddelbuettel
Copy link
Contributor

What about the two packages we only have as source:

pbmc3k.tiledb,
pbmc3k.sce,

Maybe we need to toss them into a r-universe to have binaries too (and then Additional_repositories: point to that) ?

Copy link

codecov bot commented Mar 13, 2024

Codecov Report

Merging #2257 (ac0c159) into main (4a71f19) will increase coverage by 0.24%.
The diff coverage is n/a.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2257      +/-   ##
==========================================
+ Coverage   78.60%   78.85%   +0.24%     
==========================================
  Files         139      139              
  Lines       10704    10730      +26     
  Branches      215      215              
==========================================
+ Hits         8414     8461      +47     
+ Misses       2192     2171      -21     
  Partials       98       98              
Flag Coverage Δ
libtiledbsoma 67.72% <ø> (ø)
python 90.84% <ø> (+0.61%) ⬆️
r 74.69% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Components Coverage Δ
python_api 90.84% <ø> (+0.61%) ⬆️
libtiledbsoma 48.85% <ø> (ø)

@mojaveazure
Copy link
Member Author

Yeah, just saw that. pbmc3k.sce is available on my universe, we can add pbmc3k.tiledb to a universe as well

Alternatively, a stanza à la

- name: Install dataset packages from source (macOS)
  if: ${{ matrix.os == 'macOS-latest' }}
  run: remotes::install_deps(dependencies = "Suggests", type = "source", upgrade = FALSE)
  shell: Rscript {0}

could work as well, without changing any package distribution machinery

@johnkerl johnkerl changed the title [r/ci] Set options(pkgType = "binary") for macOS [r/ci] Set options(pkgType = "binary") for MacOS Mar 13, 2024
@mojaveazure mojaveazure marked this pull request as ready for review March 13, 2024 18:49
@mojaveazure
Copy link
Member Author

Note:

As the two pbmc3k dataset packages are source-only, I've added a new stanza to install these separately on macOS. This calls a separate R script apis/r/tools/install_missing_deps.R which

  1. finds dependencies of tiledbsoma that were not installed due to the binary-only installation earlier
  2. find the upstream dependencies of the missing packages that are source-only (because Bioconductor)

This stanza runs on macOS only

Copy link
Member

@johnkerl johnkerl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM to me from the release-management point of view!! :) CI is green and I am happy

I defer to @eddelbuettel on the implementation details ...

@eddelbuettel
Copy link
Contributor

I'll stay out of it. I provided a much simpler code example to @mojaveazure that attacked a simpler sub-task and that is what I might have done, but I didn't and I won't rewrite this. If it works it works.

@mojaveazure mojaveazure merged commit 10119ff into main Mar 13, 2024
15 checks passed
@mojaveazure mojaveazure deleted the ph/fix/r-mac-deps-binary branch March 13, 2024 20:10
github-actions bot pushed a commit that referenced this pull request Mar 13, 2024
* [r/ci] Set `options(pkgType = "binary")` for macOS

Force binary-only installation for macOS. By setting as an option in
`~/.Rprofile`; this should affect both package installation and updating
through `utils::install.packages()`, `utils::update.packages()`, and
`remotes::install_deps()`

resolves #2254
johnkerl pushed a commit that referenced this pull request Mar 13, 2024
* [r/ci] Set `options(pkgType = "binary")` for macOS

Force binary-only installation for macOS. By setting as an option in
`~/.Rprofile`; this should affect both package installation and updating
through `utils::install.packages()`, `utils::update.packages()`, and
`remotes::install_deps()`

resolves #2254

Co-authored-by: Paul Hoffman <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[r/ci] Analyze arrow build-from-source on MacOS in R CI
3 participants