Skip to content

fix(3.23): precompile vignette and keep CHECK off live NCBI - #233

Open
seandavi wants to merge 2 commits into
RELEASE_3_23from
fix/release-3.23-vignette-network
Open

seandavi wants to merge 2 commits into
RELEASE_3_23from
fix/release-3.23-vignette-network

Conversation

@seandavi

Copy link
Copy Markdown
Owner

What does this PR do?

Fixes the Bioconductor 3.23 release BUILD failure, where the quick-start vignette died on transient NCBI errors. It also keeps the CHECK step that follows off live NCBI.

About the base branch

GitHub had no branch mirroring Bioconductor's RELEASE_3_23, so I created RELEASE_3_23 here at upstream/RELEASE_3_23 (8b846af, git.bioconductor.org). That keeps the diff to these 2 commits. devel would be the wrong base, because this branch descends from the release, and main is a stale 2025 branch. Nothing has been pushed to git.bioconductor.org. Releasing to Bioconductor is a separate step.

CI caveat: R-CMD-check.yaml only runs on PRs into main and devel, so this PR gets pkgdown and no R CMD check. I tried to run R CMD build/check locally with the network blocked, but the agent's sandbox blocked that run, so there is no local check evidence from this session either. The commit message for 1731f52 records an earlier local run: with the network blocked through a dead proxy, R CMD build of upstream/RELEASE_3_23 fails at GEOquery.qmd:75-79, and this branch builds cleanly. Please re-run R CMD build and R CMD check before pushing to Bioconductor.

What broke, and since when

  • BUILD failed on both 3.23 Linux builders. The vignette runs live GEO code, and each builder hit a different NCBI failure:
    • nebbiolo1: searchGEO() → rentrez efetch got HTTP failure: 400, wrapping an NCBI "WWW Error 500" page (GEOquery.qmd:111-121).
    • kunpeng2: getGEO("GSE2553") hit OpenSSL SSL_read: SSL_ERROR_SYSCALL from ftp.ncbi.nlm.nih.gov (GEOquery.qmd:75-79).
  • CHECK problems hidden behind BUILD. The builders skip CHECK when BUILD fails. Four examples call NCBI live. One of them, getRNASeqData("GSE164073"), fails today with invalid 'row.names' length, because NCBI serves a reCAPTCHA page for the shared annotation file (NCBI reCAPTCHA still blocks the mouse RNA-seq annotation file (Mouse.GRCm39.annot.tsv.gz) #230). On devel, the same NCBI behaviour has kept the scheduled integration workflow red since 2026-08-31.

What the fix does

1731f52 precompiles GEOquery.qmd, backporting the pattern devel uses since 2.81.28:

  • The live source moves to vignettes/GEOquery.qmd.orig. The shipped vignettes/GEOquery.qmd is generated by dev/precompute-vignettes.R, which bakes in real output, so R CMD build runs no NCBI code.
  • .Rbuildignore excludes dev/, the .qmd.orig source and stray download dirs.
  • single-cell.qmd already has eval: false and is unchanged.
  • Version 2.80.1.

51bde97 moves the searchFieldsGEO(), hasRNASeqQuantifications(), getRNASeqQuantGenomeInfo() and getRNASeqData() examples into \donttest{}. Devel already does this. The Rd files were edited by hand to match roxygen output, because the release branch pins RoxygenNote 7.3.2 and regenerating with 8.x would rewrite every page.

Checklist

  • NEWS: # GEOquery 2.80.1 entry
  • Tests: no test changes (vignette and examples only)
  • Docs: Rd updated by hand to match roxygen 7.3.2 output (see above)
  • Version: Version: 2.80.1; Date: not bumped (still 2025-09-03)
  • Checks: no CI R CMD check on this base, and the local run was blocked; see the caveat above
  • ADR: n/a

Notes for reviewers

  • The release NEWS.md already had a # GEOquery 2.99.1 (unreleased) heading before this PR. The new 2.80.1 entry goes above it, and the old heading is left as it was.
  • Pushing this branch and RELEASE_3_23 deployed release docs to gh-pages, because pkgdown deploys on every push. Devel docs are being redeployed straight after. The workflow problem is tracked in a separate issue.

🤖 Generated with Claude Code

https://claude.ai/code/session_01Kiag4wGqrFcF739dXWtPZi

seandavi and others added 2 commits October 14, 2026 07:25
BioC 3.23 BUILD failed on both Linux builders. The quick-start vignette
runs live GEO code, and each builder hit a different NCBI hiccup:

- nebbiolo1: searchGEO() -> rentrez efetch got "HTTP failure: 400"
  wrapping an NCBI "WWW Error 500" page (GEOquery.qmd:111-121).
- kunpeng2: getGEO("GSE2553") hit "OpenSSL SSL_read: SSL_ERROR_SYSCALL"
  from ftp.ncbi.nlm.nih.gov (GEOquery.qmd:75-79).

This backports the precompiled-vignette pattern from devel (2.81.28). The
live source moves to vignettes/GEOquery.qmd.orig, and the shipped
vignettes/GEOquery.qmd is generated by dev/precompute-vignettes.R, which
runs the release code via pkgload::load_all, with the real output baked
in. .Rbuildignore drops dev/, the .qmd.orig source, and any stray
download dirs. single-cell.qmd already sets execute: eval: false, so it
stays as it is.

Verified: with network blocked through a dead proxy, R CMD build of
upstream/RELEASE_3_23 fails at GEOquery.qmd:75-79, and this branch
builds cleanly.

Version bump to 2.80.1.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
When BUILD fails, the builders skip CHECK, so these were hidden. Once
the vignette fix lets BUILD pass, CHECK would run four examples that call
NCBI live: searchFieldsGEO(), hasRNASeqQuantifications(),
getRNASeqQuantGenomeInfo(), and getRNASeqData(). Run locally,
getRNASeqData("GSE164073") fails with "invalid 'row.names' length",
because the GEO download service now answers the shared
Human.GRCh38.p13.annot.tsv.gz request with a reCAPTCHA HTML page instead
of the file. Devel already keeps these examples in \dontrun{} or
\donttest{}.

Rd edited by hand to match roxygen output (release pins RoxygenNote
7.3.2; regenerating with 8.x would rewrite every page).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@seandavi

Copy link
Copy Markdown
Owner Author

@claude resolve the merge conflicts in this pull request

This branch has not been deployed

No deployments
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.

1 participant