Skip to content

Suppress failed binary output after source fallback#2332

Open
LeonidasZhak wants to merge 1 commit into
rstudio:mainfrom
LeonidasZhak:codex/renv-retrieve-fallback-output
Open

Suppress failed binary output after source fallback#2332
LeonidasZhak wants to merge 1 commit into
rstudio:mainfrom
LeonidasZhak:codex/renv-retrieve-fallback-output

Conversation

@LeonidasZhak

Copy link
Copy Markdown

Summary

Suppress output from failed repository retrieval candidates when a later candidate succeeds.

Thanks to maintainers

Thanks for maintaining renv and for documenting the binary-to-source fallback behavior in #1727.

Issue or motivation

Closes #1727. When a binary archive is unavailable but the source archive can be downloaded, users currently see an ERROR line immediately followed by a successful download for the same package.

Root cause

Each retrieval candidate writes its download result before renv knows whether another candidate will succeed. The same download condition can also be collected once when signaled and again when the candidate stops.

Change

Capture output separately for each repository retrieval candidate and replay only the output from the candidate that succeeds. If every candidate fails, keep the existing aggregate error reporting. Avoid adding a final thrown error when that candidate already signaled a retrieval error.

Tests

  • NOT_CRAN=true RENV_EXT_ENABLED=FALSE Rscript -e 'devtools::test(filter = "retrieve", stop_on_failure = TRUE)' (25 passed, 13 expected skips)
  • Local binary-index / missing-archive / source-fallback reproduction
  • RENV_EXT_ENABLED=FALSE R CMD build .
  • RENV_EXT_ENABLED=FALSE R CMD check --no-manual renv_1.2.3.9000.tar.gz (Status: OK)

Scope

No changes to repository queries, candidate ordering, package selection, installation behavior, or public APIs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

improve reporting for packages not available from binary repositories

1 participant