fix(ci): Stop reporting a check that never ran as ok - #2849
Open
krlmlr wants to merge 1 commit into
Open
Conversation
`R CMD check` stops at `checking package dependencies` when something the package needs is not installed: one error, two or three seconds, nothing else looked at. It happens to both halves -- the two libraries differ only in igraph -- so the pair compares clean, `compare_checks()` returns `+`, and the verdict is `ok`. 55 of run 31930350338's 984 `ok` results were exactly that, every one of them a package with Bioconductor dependencies that are not on CRAN and so were never installed. `SEMgraph` is the one that gives the game away: `1E 0W 0N` on both sides in three seconds, reported `ok`, while being genuinely broken by a dev change that nobody saw because the check never ran. Those results are now `depmissing`, with the packages `R CMD check` named written into the message. `needs_recheck()` covers it without changing, so `retry-run` picks them up once those repositories are available. Not `depfail`, which is next to it in the summary and means something different: there the shard could not install the strong dependencies and did not attempt a check. Here the check was attempted and refused to start. Not `install_failure` either -- the package itself installs; its dependencies are absent. `keeps_committed()` in the collector treats `depmissing` the way it treats `missing` and `deferred`: a run that learnt nothing about a package does not get to delete that package's report section. Detector validated against run 31903576720's stored results: 55 packages, the same 55, with the right names -- `pwalign` for AntibodyForests, `Rgraphviz` and `graph` for CePa, `qvalue`, `bluster`, `limma`, and so on. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01D1xpHRV7yVfgtJg4vp9P7z
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
R CMD checkstops atchecking package dependencieswhen something the package needs is not installed: one error, two or three seconds, nothing else looked at. It happens to both halves — the two libraries differ only in igraph — so the pair compares clean,compare_checks()returns+, and the verdict isok.55 of run 31930350338's 984
okresults were exactly that. Every one a package with Bioconductor dependencies that are not on CRAN and so were never installed.SEMgraphgives the game away:and its
new.rds:Reported
ok, while being genuinely broken by a dev change that nobody saw because the check never ran.The change
Those results are now
depmissing, with the packagesR CMD checknamed written into the manifest message, so a reader can see what was missing without opening the artifact.needs_recheck()covers it without changing, soretry-runpicks them up once those repositories are available.Why not
depfailorinstall_failuredepfailsits next to it in the summary and means something different: there the shard could not install the strong dependencies and never attempted a check. Here the check was attempted and refused to start. Keeping them apart is diagnostically useful — it says whether our installer fell short or whether the package needs something we never try to provide.install_failurewould be actively wrong: the package itself installs fine. It is the dependenciesR CMD checkcannot find.Collector
keeps_committed()treatsdepmissingthe way it treatsmissinganddeferred— a run that learnt nothing about a package does not get to delete that package's report section. Without this, theSEMgraph,scistreerandMiscMetabarsections restored in #2834 would be deleted by the next run that reproduces the same abort.Validation
The detector was run against run 31903576720's stored
old.rds/new.rdsfor all 1011 packages: 55 hits, the same 55, with the right names —pwalignfor AntibodyForests,Rgraphvizandgraphfor CePa,qvaluefor cancerGI,blusterfor Canek,limmafor Cascade. No false positives among the 956 others.All five scripts parse and are
air-formatted.🤖 Generated with Claude Code
https://claude.ai/code/session_01D1xpHRV7yVfgtJg4vp9P7z
Generated by Claude Code