ci: let pak ignore Bioconductor graph on R < 4.4#2753
Merged
Conversation
1 task
Contributor
|
This is how benchmark results would change (along with a 95% confidence interval in relative change) if 1d82032 is merged into main:
|
krlmlr
force-pushed
the
claude/fix-names-deprecation-graph
branch
from
July 24, 2026 10:52
1d82032 to
6566387
Compare
Contributor
|
This is how benchmark results would change (along with a 95% confidence interval in relative change) if 6566387 is merged into main:
|
1 task
krlmlr
force-pushed
the
claude/fix-names-deprecation-graph
branch
from
July 24, 2026 18:38
6566387 to
aa70783
Compare
structure() attribute names and skip Bioconductor graph on old Rpak can resolve dependencies
'graph' is an optional Enhances dependency published only on Bioconductor. The Bioconductor releases matching R 4.2 / 4.3 (graph 3.16 / 3.18) are archived and return HTTP 404, so pak dependency resolution aborts on those jobs before anything is built. Use pak's documented downstream-package parameter instead of touching the workflows: Config/gha/extra-packages: graph=?ignore-before-r=4.4.0 The install action already forwards Config/gha/extra-packages to setup-r-dependencies, and pak parses graph=?ignore-before-r=4.4.0 as a 'param' reference that applies to the graph dependency pulled in via deps::., ignoring it on R older than 4.4.0 and keeping it on 4.4 and newer. This replaces an earlier attempt that set PKG_USE_BIOCONDUCTOR=false from a workflow step. That approach did not work: disabling Bioconductor only turned the 404 into "Can't find package called graph", because pak does not drop an unavailable soft dependency unless it is explicitly ignored. It also broke the Windows jobs, which could not run the multi-line Rscript -e invocation. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019E6CUgb5aFw6uvWXztcHgV
krlmlr
force-pushed
the
claude/fix-names-deprecation-graph
branch
from
July 26, 2026 16:12
9d1ec13 to
62036bc
Compare
pak can resolve dependenciespak ignore Bioconductor graph on R < 4.4
pak ignore Bioconductor graph on R < 4.4pak ignore Bioconductor graph on R < 4.4
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.
LLM disclosure: this PR was prepared with Claude Code (Claude Opus 4.8).
Problem
graphis an optionalEnhances:dependency published only on Bioconductor. The Bioconductor releases matching R 4.2 / 4.3 (graph3.16 / 3.18) are archived and return HTTP 404, sopakdependency resolution aborts on thercc: … (4.2)/(4.3)jobs, in theinstallstep, before anything is built.Fix
Use pak's documented downstream-package parameter, in
DESCRIPTION— no workflow changes at all:The
installcomposite action already forwardsConfig/gha/extra-packagestosetup-r-dependencies. Per?pak_package_sources,<package>=?<params>is the specialparamreference type, whose purpose is "to add a parameter to a downstream dependency", andignore-before-r"will be ignored on R versions that are older than the specified one". So the parameter attaches to thegraphdependency pulled in viadeps::..Verified locally against pak's vendored
pkgdepends:parse_pkg_refs("graph=?ignore-before-r=4.4.0")→type = "param",package = "graph",ignore-before-r = 4.4.0.pkgplan_i_lp_dependencies): ignored when4.4.0 > R→ dropped on R 4.2 / 4.3, kept on 4.4 / 4.5 / 4.6.grep Config/gha/extra-packages DESCRIPTION | cut -d " " -f 2-extracts exactlygraph=?ignore-before-r=4.4.0(the adjacentConfig/comment/gha/extra-packagesnote does not match the grep).DESCRIPTIONremains valid DCF.Why the previous approach was replaced
An earlier revision set
PKG_USE_BIOCONDUCTOR=falsefrom a workflow step. That did not work, as the CI showed:graph: Can't find package called graph.pak does not drop an unavailable soft dependency unless it is explicitly ignored (ignore,ignore-before-r, orignore-unavailable).Rscript -e '…'invocation — those jobs had been passing.Both problems disappear here: the workflow is untouched, and the ignore is explicit.
Scope
DESCRIPTIONonly. Related: #2754 (runR-CMD-checkonclaude/**, stacked on this), #2749 (theR_getRegisteredNamespaceC23 sanitizer error — a stale CSAN Docker image, not a package bug). Thestructure()code fixes merged in #2755.🤖 Generated with Claude Code