From e8b06d637e48a0dfaf1d1ac111699398e68fda0a Mon Sep 17 00:00:00 2001 From: njtierney Date: Wed, 6 Nov 2024 13:35:39 +1100 Subject: [PATCH 01/16] updating CI RM-CMD-check --- .github/workflows/R-CMD-check.yaml | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/.github/workflows/R-CMD-check.yaml b/.github/workflows/R-CMD-check.yaml index c222df86..8a6f72b6 100644 --- a/.github/workflows/R-CMD-check.yaml +++ b/.github/workflows/R-CMD-check.yaml @@ -1,12 +1,8 @@ on: push: - branches: - - main - - master + branches: [main, master] pull_request: - branches: - - main - - master + branches: [main, master] schedule: - cron: '1 23 * * Sun' @@ -34,19 +30,26 @@ jobs: R_REMOTES_NO_ERRORS_FROM_WARNINGS: 'true' R_COMPILE_AND_INSTALL_PACKAGES: 'never' GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} + R_KEEP_PKG_SOURCE: yes steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 + + - uses: r-lib/actions/setup-pandoc@v2 - uses: r-lib/actions/setup-r@v2 id: setup-r with: r-version: ${{ matrix.r }} Ncpus: '2L' + http-user-agent: ${{ matrix.config.http-user-agent }} use-public-rspm: true - - uses: r-lib/actions/setup-pandoc@v2 + - uses: r-lib/actions/setup-r-dependencies@v2 + with: + extra-packages: any::rcmdcheck + needs: check - name: Get Date id: get-date @@ -88,11 +91,10 @@ jobs: - name: Situation Report on greta install run: greta::greta_sitrep() - - name: Install rcmdcheck - run: remotes::install_cran("rcmdcheck") - - - name: Check - run: rcmdcheck::rcmdcheck(args = '--no-manual', error_on = 'warning', check_dir = 'check') + - uses: r-lib/actions/check-r-package@v2 + with: + upload-snapshots: true + build_args: 'c("--no-manual","--compact-vignettes=gs+qpdf")' - name: Show testthat output if: always() From 380f7f1689abda89241c82f74c374e412ff2a4c5 Mon Sep 17 00:00:00 2001 From: njtierney Date: Wed, 6 Nov 2024 14:48:03 +1100 Subject: [PATCH 02/16] try out a more stock-standard R CMD Check...check --- .github/workflows/R-CMD-check.yaml | 86 ++++++------------------------ 1 file changed, 15 insertions(+), 71 deletions(-) diff --git a/.github/workflows/R-CMD-check.yaml b/.github/workflows/R-CMD-check.yaml index 8a6f72b6..a1159171 100644 --- a/.github/workflows/R-CMD-check.yaml +++ b/.github/workflows/R-CMD-check.yaml @@ -1,3 +1,5 @@ +# Workflow derived from https://github.com/r-lib/actions/tree/v2/examples +# Need help debugging build failures? Start at https://github.com/r-lib/actions#where-to-find-help on: push: branches: [main, master] @@ -6,42 +8,38 @@ on: schedule: - cron: '1 23 * * Sun' -name: R-CMD-check +name: R-CMD-check.yaml -defaults: - run: - shell: Rscript {0} +permissions: read-all jobs: R-CMD-check: - name: ${{ matrix.os }}, tf-${{ matrix.tf }}, R-${{ matrix.r}} - timeout-minutes: 30 + runs-on: ${{ matrix.config.os }} + + name: ${{ matrix.config.os }} (${{ matrix.config.r }}) (${{ matrix.config.tf }}) + strategy: fail-fast: false matrix: - include: - - {os: 'ubuntu-latest' , tf: 'default', r: 'release'} - - {os: 'windows-latest', tf: 'default', r: 'release'} - - {os: 'macOS-latest' , tf: 'default', r: 'release'} + config: + - {os: macos-latest, r: 'release', tf: 'default'} + - {os: windows-latest, r: 'release', tf: 'default'} + - {os: ubuntu-latest, r: 'devel', http-user-agent: 'release', tf: 'default'} + - {os: ubuntu-latest, r: 'release', tf: 'default'} + - {os: ubuntu-latest, r: 'oldrel-1', tf: 'default'} - runs-on: ${{ matrix.os }} - continue-on-error: ${{ matrix.tf == 'nightly' || contains(matrix.tf, 'rc') || matrix.r == 'devel' }} env: - R_REMOTES_NO_ERRORS_FROM_WARNINGS: 'true' - R_COMPILE_AND_INSTALL_PACKAGES: 'never' GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} R_KEEP_PKG_SOURCE: yes steps: - - uses: actions/checkout@v4 - uses: r-lib/actions/setup-pandoc@v2 - uses: r-lib/actions/setup-r@v2 - id: setup-r with: - r-version: ${{ matrix.r }} + r-version: ${{ matrix.config.r }} Ncpus: '2L' http-user-agent: ${{ matrix.config.http-user-agent }} use-public-rspm: true @@ -51,38 +49,6 @@ jobs: extra-packages: any::rcmdcheck needs: check - - name: Get Date - id: get-date - shell: bash - run: | - echo "::set-output name=year-week::$(date -u "+%Y-%U")" - echo "::set-output name=date::$(date -u "+%F")" - - - name: Restore R package cache - uses: actions/cache@v2 - id: r-package-cache - with: - path: ${{ env.R_LIBS_USER }} - key: ${{ matrix.os }}-${{ steps.setup-r.outputs.installed-r-version }}-${{ steps.get-date.outputs.year-week }}-1 - - - name: Install remotes - if: steps.r-package-cache.outputs.cache-hit != 'true' - run: install.packages("remotes") - - - name: Install system dependencies - if: runner.os == 'Linux' - shell: bash - run: | - . /etc/os-release - while read -r cmd - do - echo "$cmd" - sudo $cmd - done < <(Rscript -e "writeLines(remotes::system_requirements('$ID-$VERSION_ID'))") - - - name: Install package + deps - run: remotes::install_local(dependencies = TRUE, force = TRUE) - - name: Install greta deps run: | library(greta) @@ -95,25 +61,3 @@ jobs: with: upload-snapshots: true build_args: 'c("--no-manual","--compact-vignettes=gs+qpdf")' - - - name: Show testthat output - if: always() - shell: bash - run: find check -name 'testthat.Rout*' -exec cat '{}' \; || true - - - name: Don't use tar from old Rtools to store the cache - if: ${{ runner.os == 'Windows' && startsWith(steps.install-r.outputs.installed-r-version, '3') }} - shell: bash - run: echo "C:/Program Files/Git/usr/bin" >> $GITHUB_PATH - - - name: Check on single core machine - if: runner.os != 'Windows' - env: - R_PARALLELLY_AVAILABLE_CORES: 1 - run: rcmdcheck::rcmdcheck(args = c("--no-manual", "--as-cran", "--no-multiarch")) - - - name: Session info - run: | - options(width = 100) - pkgs <- installed.packages()[, "Package"] - sessioninfo::session_info(pkgs, include_base = TRUE) From 154f14b82eb69c779f73ce736e5c11c7c3668b70 Mon Sep 17 00:00:00 2001 From: njtierney Date: Wed, 6 Nov 2024 14:52:13 +1100 Subject: [PATCH 03/16] set Rscript shell --- .github/workflows/R-CMD-check.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/R-CMD-check.yaml b/.github/workflows/R-CMD-check.yaml index a1159171..04ba25cf 100644 --- a/.github/workflows/R-CMD-check.yaml +++ b/.github/workflows/R-CMD-check.yaml @@ -53,9 +53,11 @@ jobs: run: | library(greta) greta::install_greta_deps(timeout = 50) + shell: Rscript {0} - name: Situation Report on greta install run: greta::greta_sitrep() + shell: Rscript {0} - uses: r-lib/actions/check-r-package@v2 with: From 67b7d7da82a659bdbb580d6badc6cee9a406ff9a Mon Sep 17 00:00:00 2001 From: njtierney Date: Wed, 6 Nov 2024 14:56:54 +1100 Subject: [PATCH 04/16] set shell default to Rscript, and ensure package is installed before using internal function --- .github/workflows/R-CMD-check.yaml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/workflows/R-CMD-check.yaml b/.github/workflows/R-CMD-check.yaml index 04ba25cf..38867b05 100644 --- a/.github/workflows/R-CMD-check.yaml +++ b/.github/workflows/R-CMD-check.yaml @@ -10,6 +10,10 @@ on: name: R-CMD-check.yaml +defaults: + run: + shell: Rscript {0} + permissions: read-all jobs: @@ -49,15 +53,16 @@ jobs: extra-packages: any::rcmdcheck needs: check + - name: Install package + deps + run: remotes::install_local(dependencies = TRUE, force = TRUE) + - name: Install greta deps run: | library(greta) greta::install_greta_deps(timeout = 50) - shell: Rscript {0} - name: Situation Report on greta install run: greta::greta_sitrep() - shell: Rscript {0} - uses: r-lib/actions/check-r-package@v2 with: From 4949791662d0cb5ad91400e8aa17b229ec814197 Mon Sep 17 00:00:00 2001 From: njtierney Date: Wed, 6 Nov 2024 15:00:34 +1100 Subject: [PATCH 05/16] ensure remotes is installed --- .github/workflows/R-CMD-check.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/R-CMD-check.yaml b/.github/workflows/R-CMD-check.yaml index 38867b05..ed5ab990 100644 --- a/.github/workflows/R-CMD-check.yaml +++ b/.github/workflows/R-CMD-check.yaml @@ -53,6 +53,10 @@ jobs: extra-packages: any::rcmdcheck needs: check + - name: Install remotes + if: steps.r-package-cache.outputs.cache-hit != 'true' + run: install.packages("remotes") + - name: Install package + deps run: remotes::install_local(dependencies = TRUE, force = TRUE) From f6c2e3b9f31dba2b363143507a2858ce4766cf82 Mon Sep 17 00:00:00 2001 From: njtierney Date: Wed, 6 Nov 2024 15:05:37 +1100 Subject: [PATCH 06/16] update README CMD Check badge --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index 1a3fb436..dedcb6da 100644 --- a/README.md +++ b/README.md @@ -41,11 +41,10 @@ If these python modules aren't yet installed, when `greta` is used, it provides [![CRAN status](https://www.r-pkg.org/badges/version/greta)](https://CRAN.R-project.org/package=greta) -[![R-CMD-check](https://github.com/greta-dev/greta/workflows/R-CMD-check/badge.svg)](https://github.com/greta-dev/greta/actions) +[![R-CMD-check](https://github.com/greta-dev/greta/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/greta-dev/greta/actions/workflows/R-CMD-check.yaml) [![greta status badge](https://greta-dev.r-universe.dev/badges/greta)](https://greta-dev.r-universe.dev/greta) [![Codecov test coverage](https://codecov.io/gh/greta-dev/greta/branch/master/graph/badge.svg)](https://app.codecov.io/gh/greta-dev/greta?branch=master) - [![license](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/license/apache-2-0) [![doi](https://zenodo.org/badge/73758247.svg)](https://zenodo.org/badge/latestdoi/73758247) [![joss](https://joss.theoj.org/papers/10.21105/joss.01601/status.svg)](https://joss.theoj.org/papers/10.21105/joss.01601) From 9c26fc9a45bf0d98cb2e1df721d2f3ccfd18aaec Mon Sep 17 00:00:00 2001 From: njtierney Date: Wed, 6 Nov 2024 15:43:53 +1100 Subject: [PATCH 07/16] minor changes to test-coverage --- .github/workflows/test-coverage.yaml | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/.github/workflows/test-coverage.yaml b/.github/workflows/test-coverage.yaml index 558fef72..351d2eed 100644 --- a/.github/workflows/test-coverage.yaml +++ b/.github/workflows/test-coverage.yaml @@ -25,23 +25,9 @@ jobs: - uses: r-lib/actions/setup-r-dependencies@v2 with: - extra-packages: | - any::covr - any::xml2 - any::remotes + extra-packages: any::covr, any::xml2, any::remotes needs: coverage - - name: Install system dependencies - if: runner.os == 'Linux' - shell: bash - run: | - . /etc/os-release - while read -r cmd - do - echo "$cmd" - sudo $cmd - done < <(Rscript -e "writeLines(remotes::system_requirements('$ID-$VERSION_ID'))") - - name: Install package + deps run: remotes::install_local(dependencies = TRUE, force = TRUE) shell: Rscript {0} From 0eb4320c0220b57031e562f29641ee60aa89223b Mon Sep 17 00:00:00 2001 From: njtierney Date: Wed, 6 Nov 2024 15:44:01 +1100 Subject: [PATCH 08/16] updates to README badges --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index dedcb6da..1a086383 100644 --- a/README.md +++ b/README.md @@ -43,11 +43,11 @@ If these python modules aren't yet installed, when `greta` is used, it provides [![CRAN status](https://www.r-pkg.org/badges/version/greta)](https://CRAN.R-project.org/package=greta) [![R-CMD-check](https://github.com/greta-dev/greta/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/greta-dev/greta/actions/workflows/R-CMD-check.yaml) [![greta status badge](https://greta-dev.r-universe.dev/badges/greta)](https://greta-dev.r-universe.dev/greta) -[![Codecov test coverage](https://codecov.io/gh/greta-dev/greta/branch/master/graph/badge.svg)](https://app.codecov.io/gh/greta-dev/greta?branch=master) - +[![Codecov test coverage](https://codecov.io/gh/greta-dev/greta/graph/badge.svg)](https://app.codecov.io/gh/greta-dev/greta) [![license](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/license/apache-2-0) [![doi](https://zenodo.org/badge/73758247.svg)](https://zenodo.org/badge/latestdoi/73758247) [![joss](https://joss.theoj.org/papers/10.21105/joss.01601/status.svg)](https://joss.theoj.org/papers/10.21105/joss.01601) + ![](logos/bottom_banner.png) From f7765743b6cb3742b2e13fa2f62683fae63fc7b2 Mon Sep 17 00:00:00 2001 From: njtierney Date: Wed, 6 Nov 2024 15:44:26 +1100 Subject: [PATCH 09/16] update pr-commands --- .github/workflows/pr-commands.yaml | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/.github/workflows/pr-commands.yaml b/.github/workflows/pr-commands.yaml index 71f335b3..2edd93f2 100644 --- a/.github/workflows/pr-commands.yaml +++ b/.github/workflows/pr-commands.yaml @@ -4,7 +4,9 @@ on: issue_comment: types: [created] -name: Commands +name: pr-commands.yaml + +permissions: read-all jobs: document: @@ -13,8 +15,10 @@ jobs: runs-on: ubuntu-latest env: GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} + permissions: + contents: write steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: r-lib/actions/pr-fetch@v2 with: @@ -50,8 +54,10 @@ jobs: runs-on: ubuntu-latest env: GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} + permissions: + contents: write steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: r-lib/actions/pr-fetch@v2 with: From 53b64b1c5632dfe8ef423da5e97a226aff8b6282 Mon Sep 17 00:00:00 2001 From: njtierney Date: Thu, 7 Nov 2024 12:10:46 +1100 Subject: [PATCH 10/16] add check for single core machine and also add session info dump at the end --- .github/workflows/R-CMD-check.yaml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/.github/workflows/R-CMD-check.yaml b/.github/workflows/R-CMD-check.yaml index ed5ab990..e81c3916 100644 --- a/.github/workflows/R-CMD-check.yaml +++ b/.github/workflows/R-CMD-check.yaml @@ -72,3 +72,15 @@ jobs: with: upload-snapshots: true build_args: 'c("--no-manual","--compact-vignettes=gs+qpdf")' + + - name: Check on single core machine + if: runner.os != 'Windows' + env: + R_PARALLELLY_AVAILABLE_CORES: 1 + run: rcmdcheck::rcmdcheck(args = c("--no-manual", "--as-cran", "--no-multiarch")) + + - name: Session info + run: | + options(width = 100) + pkgs <- installed.packages()[, "Package"] + sessioninfo::session_info(pkgs, include_base = TRUE) From 877d1fabdcf0fbe635974f14b83352fe92058fa2 Mon Sep 17 00:00:00 2001 From: njtierney Date: Thu, 7 Nov 2024 12:12:57 +1100 Subject: [PATCH 11/16] silence some of the MCMC output to not clutter test files --- tests/testthat/helpers.R | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/tests/testthat/helpers.R b/tests/testthat/helpers.R index ff90097c..b39af166 100644 --- a/tests/testthat/helpers.R +++ b/tests/testthat/helpers.R @@ -797,7 +797,7 @@ get_enough_draws <- function( sampler = sampler, n_effective = 5000, time_limit = 300, - verbose = TRUE, + verbose = FALSE, one_by_one = FALSE ) { start_time <- Sys.time() @@ -873,8 +873,7 @@ check_mvn_samples <- function(sampler, n_effective = 3000) { draws <- get_enough_draws( m, sampler = sampler, - n_effective = n_effective, - verbose = FALSE + n_effective = n_effective ) # get MCMC samples for statistics of the samples (value, variance and @@ -927,7 +926,6 @@ check_samples <- function( model = m, sampler = sampler, n_effective = n_effective, - verbose = TRUE, one_by_one = one_by_one, time_limit = time_limit ) From bcef44c829fe02bab69bd4bb2fa30991a6649d33 Mon Sep 17 00:00:00 2001 From: njtierney Date: Thu, 7 Nov 2024 15:35:26 +1100 Subject: [PATCH 12/16] trigger new build for greta --- .github/workflows/R-CMD-check.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/R-CMD-check.yaml b/.github/workflows/R-CMD-check.yaml index e81c3916..38fd83a6 100644 --- a/.github/workflows/R-CMD-check.yaml +++ b/.github/workflows/R-CMD-check.yaml @@ -1,5 +1,6 @@ # Workflow derived from https://github.com/r-lib/actions/tree/v2/examples -# Need help debugging build failures? Start at https://github.com/r-lib/actions#where-to-find-help +# Need help debugging build failures? +# Start at https://github.com/r-lib/actions#where-to-find-help on: push: branches: [main, master] From 7d386ab86b1fdda441b1a54740caefe20d2b1734 Mon Sep 17 00:00:00 2001 From: njtierney Date: Thu, 7 Nov 2024 17:33:09 +1100 Subject: [PATCH 13/16] remove check on single core and R parallelly --- .github/workflows/R-CMD-check.yaml | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/.github/workflows/R-CMD-check.yaml b/.github/workflows/R-CMD-check.yaml index 38fd83a6..ee97b54c 100644 --- a/.github/workflows/R-CMD-check.yaml +++ b/.github/workflows/R-CMD-check.yaml @@ -74,14 +74,8 @@ jobs: upload-snapshots: true build_args: 'c("--no-manual","--compact-vignettes=gs+qpdf")' - - name: Check on single core machine - if: runner.os != 'Windows' - env: - R_PARALLELLY_AVAILABLE_CORES: 1 - run: rcmdcheck::rcmdcheck(args = c("--no-manual", "--as-cran", "--no-multiarch")) - - - name: Session info - run: | - options(width = 100) - pkgs <- installed.packages()[, "Package"] - sessioninfo::session_info(pkgs, include_base = TRUE) + # - name: Check on single core machine + # if: runner.os != 'Windows' + # env: + # R_PARALLELLY_AVAILABLE_CORES: 1 + # run: rcmdcheck::rcmdcheck(args = c("--no-manual", "--as-cran", "--no-multiarch")) From 33f7ef9cbe6bbf59319cc63ffaa3ce1c4ef10eca Mon Sep 17 00:00:00 2001 From: njtierney Date: Thu, 7 Nov 2024 18:23:44 +1100 Subject: [PATCH 14/16] see if this will bring back the testthat live output? --- .github/workflows/R-CMD-check.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/R-CMD-check.yaml b/.github/workflows/R-CMD-check.yaml index ee97b54c..7de5386c 100644 --- a/.github/workflows/R-CMD-check.yaml +++ b/.github/workflows/R-CMD-check.yaml @@ -74,6 +74,11 @@ jobs: upload-snapshots: true build_args: 'c("--no-manual","--compact-vignettes=gs+qpdf")' + - name: Show testthat output + if: always() + shell: bash + run: find check -name 'testthat.Rout*' -exec cat '{}' \; || true + # - name: Check on single core machine # if: runner.os != 'Windows' # env: From 5181ce66256e94dcca9f4cc21cf5b7b9dfbe70c2 Mon Sep 17 00:00:00 2001 From: njtierney Date: Fri, 8 Nov 2024 11:44:03 +1100 Subject: [PATCH 15/16] try timing out at 30 minutes and also installing some linux sys deps --- .github/workflows/R-CMD-check.yaml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/.github/workflows/R-CMD-check.yaml b/.github/workflows/R-CMD-check.yaml index 7de5386c..43bc182d 100644 --- a/.github/workflows/R-CMD-check.yaml +++ b/.github/workflows/R-CMD-check.yaml @@ -21,6 +21,8 @@ jobs: R-CMD-check: runs-on: ${{ matrix.config.os }} + timeout-minutes: 30 + name: ${{ matrix.config.os }} (${{ matrix.config.r }}) (${{ matrix.config.tf }}) strategy: @@ -58,6 +60,17 @@ jobs: if: steps.r-package-cache.outputs.cache-hit != 'true' run: install.packages("remotes") + - name: Install system dependencies + if: runner.os == 'Linux' + shell: bash + run: | + . /etc/os-release + while read -r cmd + do + echo "$cmd" + sudo $cmd + done < <(Rscript -e "writeLines(remotes::system_requirements('$ID-$VERSION_ID'))") + - name: Install package + deps run: remotes::install_local(dependencies = TRUE, force = TRUE) From 2695d75ee59b9a60860435a443f057427d9feebc Mon Sep 17 00:00:00 2001 From: njtierney Date: Fri, 8 Nov 2024 12:15:51 +1100 Subject: [PATCH 16/16] try running for 60 minutes --- .github/workflows/R-CMD-check.yaml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/workflows/R-CMD-check.yaml b/.github/workflows/R-CMD-check.yaml index 43bc182d..11652b96 100644 --- a/.github/workflows/R-CMD-check.yaml +++ b/.github/workflows/R-CMD-check.yaml @@ -21,7 +21,7 @@ jobs: R-CMD-check: runs-on: ${{ matrix.config.os }} - timeout-minutes: 30 + timeout-minutes: 60 name: ${{ matrix.config.os }} (${{ matrix.config.r }}) (${{ matrix.config.tf }}) @@ -56,9 +56,7 @@ jobs: extra-packages: any::rcmdcheck needs: check - - name: Install remotes - if: steps.r-package-cache.outputs.cache-hit != 'true' - run: install.packages("remotes") + - name: Install system dependencies if: runner.os == 'Linux' @@ -71,6 +69,10 @@ jobs: sudo $cmd done < <(Rscript -e "writeLines(remotes::system_requirements('$ID-$VERSION_ID'))") + - name: Install remotes + if: steps.r-package-cache.outputs.cache-hit != 'true' + run: install.packages("remotes") + - name: Install package + deps run: remotes::install_local(dependencies = TRUE, force = TRUE)