actions
actions copied to clipboard
setup-r-dependencies@v2 intermittently failing on ubuntu-latest
STOP
If you are debugging a failed build or have a question about GitHub Actions in general do NOT open an issue here. Either post on the Actions sections of the GitHub Community or the RStudio Community forums.
Open an issue here only if you have a bug in one of the custom R specific actions themselves.
Describe the bug
When running a package check on mac-os latest, windows latest, and ubuntu latest, the setup-r-dependencies@v2
will fail with the message below. This does not always occur, but when it does, it is related to nloptr
:
Error:
! error in pak subprocess
Caused by error in `verify_extracted_package(filename, pkg_cache)`:
!
'/tmp/RtmpfVFPCA/file12c92330f168/src/contrib/x86_64-pc-linux-gnu-ubuntu-22.04/4.4/nloptr_2.0.3.tar.gz'
is not a valid binary, it is missing nloptr/Meta/package.rds.
---
Backtrace:
1. pak::lockfile_install(".github/pkg.lock")
2. pak:::remote(function(...) { …
3. err$throw(res$error)
---
Subprocess backtrace:
1. base::withCallingHandlers(cli_message = function(msg) { …
2. get("lockfile_install_internal", asNamespace("pak"))(...)
3. plan$install()
4. pkgdepends::install_package_plan(plan, lib = private$library, num_workers = nw, …
5. base::withCallingHandlers({ …
6. pkgdepends:::handle_events(state, events)
7. pkgdepends:::handle_event(state, i)
8. proc$get_result()
9. processx:::process_get_result(self, private)
10. private$post_process()
11. pkgdepends:::install_extracted_binary(filename, lib_cache, pkg_cache, lib, …
12. pkgdepends:::verify_extracted_package(filename, pkg_cache)
13. base::throw(pkg_error("{.path {filename}} is not a valid binary, it is missing {…
14. | base::signalCondition(cond)
15. global (function (e) …
Execution halted
To Reproduce You MUST include a link to the full logs of the failed build. Bug reports which do not contain a link, or only contain a screenshot of the failed build will be closed.
My package is on a private github account so I cannot share a link to the code itself. However, this is the R-CMD-check.yaml in my github workflows folder:
on:
pull_request:
branches: [main]
paths:
- '.github/workflows/test_package.yml'
- 'tests/testthat/*'
- 'R/*'
name: R-CMD-check
permissions: read-all
jobs:
R-CMD-check:
runs-on: ${{ matrix.config.os }}
name: ${{ matrix.config.os }} (${{ matrix.config.r }})
strategy:
fail-fast: false
matrix:
config:
- {os: macos-latest, r: 'release'}
- {os: windows-latest, r: 'release'}
- {os: ubuntu-latest, r: 'release'}
env:
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
R_KEEP_PKG_SOURCE: yes
steps:
- uses: actions/checkout@v4
- uses: r-lib/actions/setup-r@v2
with:
r-version: ${{ matrix.config.r }}
http-user-agent: ${{ matrix.config.http-user-agent }}
use-public-rspm: true
- uses: r-lib/actions/setup-r-dependencies@v2
with:
extra-packages: any::rcmdcheck
needs: check
- uses: r-lib/actions/check-r-package@v2
with:
upload-snapshots: true
build_args: 'c("--no-manual","--compact-vignettes=gs+qpdf")'
Expected behavior
Non-failure. Here is a log to a successful install with nloptr
Additional context
If I edit my workflow to use extra-packages: any::rcmdcheck, nloptr=?ignore
, all checks will fail. And when I restore to just extra-packages: any::rcmdcheck
, all checks (including ubuntu) will pass