actions
actions copied to clipboard
Force installation from a specific repository
Is your feature request related to a problem? Please describe. When a package is available in multiple repositories, it would be helpful to force installation from a specific repository. The motivating examples are the rstan and StanHeaders packages. Both are available on CRAN (rstan 2.21.8 and StanHeaders 2.21.0-7), but are not the most up to date versions. The most recent versions are in a a CRAN-like repository from the Stan group (https://github.com/stan-dev/r-packages) which has rstan 2.26.22 and StanHeaders 2.26.22. I've added the mc-stan repository to extra repositories:
- uses: r-lib/actions/setup-r@v2
with:
r-version: ${{ matrix.config.r }}
rtools-version: ${{ matrix.config.rtools }}
http-user-agent: ${{ matrix.config.http-user-agent }}
use-public-rspm: true
extra-repositories: https://mc-stan.org/r-packages/
However, the packages are still getting installed from the default CRAN (i.e., in the session info rstan is version 2.21.8; see example action run).
Describe the solution you'd like Ideally, if a package exists in multiple repositories, I'd have the option to force installation from a specific repo. For example, maybe we could name extra repositories, and then use those names for install?
- uses: r-lib/actions/setup-r@v2
with:
r-version: ${{ matrix.config.r }}
rtools-version: ${{ matrix.config.rtools }}
http-user-agent: ${{ matrix.config.http-user-agent }}
use-public-rspm: true
extra-repositories: |
mcstan = https://mc-stan.org/r-packages/
- uses: r-lib/actions/setup-r-dependencies@v2
with:
extra-packages: |
any::rcmdcheck
mcstan::rstan
mcstan::StanHeaders
needs: check
I'm not sure if that would actually work, but someway to indicate which repository a package should be installed from if multiple are available would be useful.
Describe alternatives you've considered
Currently, I'm using the url::
specification. This works, but is suboptimal because I have to track when updates are made to the stan-dev/r-packages repository, and then update the url manually.
- uses: r-lib/actions/setup-r-dependencies@v2
with:
extra-packages: |
any::rcmdcheck
url::https://mc-stan.org/r-packages/src/contrib/rstan_2.26.22.tar.gz
url::https://mc-stan.org/r-packages/src/contrib/StanHeaders_2.26.22.tar.gz
needs: check