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
I cannot read the logs at that URL.
Sorry about that. Not sure what happened. Here is the meat of the error:
Error:
! error in pak subprocess
Caused by error in `verify_extracted_package(filename, pkg_cache)`:
!
'/tmp/RtmptLVX0v/file129d102dad9e/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
Error: Process completed with exit code 1.
Here is a gist with the logs: https://gist.github.com/aschmidt-amplify/7138aa31f0e4c87fc16618f4c07f6b80
That's probably a failed download from PPPM, hopefully temporary.
This issue has been automatically locked. If you believe you have found a related problem, please file a new issue and include a link to this issue