actions icon indicating copy to clipboard operation
actions copied to clipboard

setup-r-dependencies@v2 intermittently failing on ubuntu-latest

Open aschmidt-amplify opened this issue 8 months ago • 3 comments

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.

Link to logs

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

aschmidt-amplify avatar May 31 '24 19:05 aschmidt-amplify