Skip to content

Run CI against Bioconductor devel; fix macOS and batchelor warnings - #807

Merged
joshua-d-campbell merged 4 commits into
develfrom
fix/ci-bioc-devel
Oct 9, 2026
Merged

joshua-d-campbell merged 4 commits into
develfrom
fix/ci-bioc-devel

Conversation

@joshua-d-campbell

Copy link
Copy Markdown
Collaborator

What changed and why

GitHub CI on devel has failed for weeks for reasons unrelated to the code
under test. This PR makes it test what the Bioconductor builders test
(ADR 0007).

CI failure Cause Fix
Ubuntu, Windows: checking examples ... WARNING CI installed Bioc 3.23 release packages; decontX 1.10 calls deprecated scuttle functions (fixed in decontX 1.11, devel) R_BIOC_VERSION: "3.24" in both workflows, so pak installs Bioc devel packages
Ubuntu, Windows: same WARNING batchelor's fastMNN()/reducedMNN() call deprecated scuttle functions runFastMNN() uses .muffleUpstreamDeprecations(), now shared with runMNNCorrect(), which muffles only deprecatedWarnings raised inside batchelor
macOS and BioC-check: dependency install fails alabaster.base has no macOS binary and its source build can't link OpenSSL install Homebrew openssl@3 and add its paths to LDFLAGS/CPPFLAGS in ~/.R/Makevars before installing dependencies
BioC-check ran on macOS same as above run on ubuntu-latest, with BiocCheck installed from devel through extra-packages

Also:

  • actions/checkout@v4.
  • AGENTS.md describes the CI setup.
  • The release checklist gains a step to update R_BIOC_VERSION at each
    Bioconductor release.
  • Version 2.23.5.

How it was tested

Locally (R 4.6.1, Bioc 3.23 packages):

  • New tests: runFastMNN() raises no deprecatedWarning, with or without
    useReducedDim. The assay case failed first (normalizeCounts from
    batchelor) and passes now. The batch-correction tests pass: 11 tests,
    0 failures.
  • I ran every man-page example and recorded the deprecation warnings each
    raised. Only the three decontX examples still warn locally, from decontX
    1.10; CI on Bioc devel uses decontX 1.11. Before this PR, runFastMNN
    also warned.
  • The workflow YAML parses, and lintr is clean on changed lines apart from
    one inherited variable name.

The workflow changes can only be confirmed by this PR's own CI run.
The first run builds many Bioconductor devel packages from source and may
take 30–60 minutes.

Checklist

  • Tests added or updated, make test passes, and make coverage
    didn't drop. Only test-batchCorrection was run locally.
  • make check-full and make bioccheck pass with no new errors or
    warnings. This PR's CI on Bioc devel is the real check.
  • make docs run, if roxygen comments changed. N/A.
  • New exports added to _pkgdown.yml, and make site-check passes.
    N/A.
  • NEWS.md updated for user-facing changes
  • Version bumped (z) if this will be pushed to Bioconductor
  • Plan review and /code-review run; findings fixed or answered. No
    bugs; added the OpenSSL include path and a reducedMNN-path test, as
    it suggested.
  • Related issue linked. N/A.
  • Shiny only: verified with a screenshot of the running app. N/A.

ADR

dev/adr/0007-ci-against-bioc-devel.md

Scientific correctness

Generated content

Claude Code (Opus 5.5) wrote all of this PR. The maintainer approved the
plan: run CI on Bioc devel, fix macOS, and handle the Rd anchors in a
separate PR.

🤖 Generated with Claude Code

joshua-d-campbell and others added 3 commits October 8, 2026 12:45
batchelor 1.28's fastMNN() and reducedMNN(), like mnnCorrect(), still call
deprecated scuttle functions, which fails R CMD check on the runFastMNN
example. A shared helper, .muffleUpstreamDeprecations(), muffles only
deprecatedWarnings raised inside those calls and documents why. Version
2.23.5.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Set R_BIOC_VERSION to the Bioconductor devel version so CI installs the
same dependencies as the Bioconductor builders, link Homebrew's OpenSSL
for alabaster.base's source build on macOS, run BiocCheck on Ubuntu with
BiocCheck installed from devel, and use actions/checkout@v4. ADR 0007
records the decision; the release checklist gains the step to update
R_BIOC_VERSION.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
From /code-review: the alabaster.base source build may also need
OpenSSL headers, and runFastMNN(useReducedDim = ) was untested.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
BiocCheck 1.49 (Bioc 3.24) errors on Git-tracked .claude/ files, and the
lab standards commit .claude/settings.json. The built tarball excludes it
through .Rbuildignore, and the Bioconductor builders also check tarballs.
ADR 0007 records this; the standards question goes to
campbio/r-bioc-dev-standards.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@joshua-d-campbell
joshua-d-campbell merged commit f5b4f49 into devel Oct 9, 2026
4 checks passed
salamhha pushed a commit to salamhha/singleCellTK that referenced this pull request Oct 11, 2026
Reverts the BiocCheck part of 14fc41e (compbiomed#807). That stopgap ran BiocCheck
on the built tarball only because the repo tracked .claude/settings.json;
now that it doesn't, BiocCheck(".") runs BiocCheckGitClone on the repo
again. ADR 0007 (still Proposed) drops the matching bullet and keeps the
OpenSSL include-path change from the same commit.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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