Skip to content

Commit

Permalink
Install system dependencies using remotes from GitHub
Browse files Browse the repository at this point in the history
* We need the development version of remotes to support Ubuntu 22.04 and for querying system requirements for multiple pkgs (r-lib/remotes<>665), which we apply to all packages locked in `renv.lock`.
  • Loading branch information
riccardoporreca committed Jan 15, 2024
1 parent cce195e commit be6ddd3
Showing 1 changed file with 8 additions and 3 deletions.
11 changes: 8 additions & 3 deletions .github/workflows/ci-cd-renv.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,13 +48,18 @@ jobs:

- name: Install system dependencies
# This is not taken care of (yet) by r-lib/actions/setup-renv
# Package distro used to get the distro for the used ubuntu-latest
# We need the development version of remotes to support Ubuntu 22.04 and
# for querying system requirements for multiple pkgs (r-lib/remotes#665)
# We could use pak-based installation for renv, which includes system
# requirements, but would have to handle the pak cache explicitly
# See https://github.com/r-lib/actions/issues/785
run: |
Rscript -e "install.packages(c('remotes', 'distro'))"
Rscript -e "install.packages(c('remotes', 'distro', 'jsonlite'))"
Rscript -e "remotes::install_github('r-lib/remotes')"
while read -r cmd
do
eval sudo $cmd
done < <(Rscript -e 'writeLines(with(distro::distro(), remotes::system_requirements(id, short_version)))')
done < <(Rscript -e 'writeLines(with(distro::distro(), remotes::system_requirements(id, short_version, packages = names(jsonlite::read_json("renv.lock")$Packages))))')
- name: Activate renv and restore packages with cache
uses: r-lib/actions/setup-renv@v2
Expand Down

0 comments on commit be6ddd3

Please sign in to comment.