Repository navigation
Conversation
Pin existing validation jobs to the preserved image, remove dependency reconstruction, and record environment evidence. Make ggalluvial optional at package load, add its focused regression test, and document collaborator verification and pending container results.
There was a problem hiding this comment.
So my understanding is the new NIDAP-environment workflow uses Rich's container, then installs other development dependencies with specific frozen versions and uploads that as an artifact. This ensures that R-CMD-check and other CI workflows can run in an environment with exactly the same package versions as NIDAP, rather than installing the latest versions of packages. This approach looks reasonable.
I'm wondering how you plan to update the frozen package versions in .github/scripts/ci-tool-sources.json? I assume that file was LLM-generated. Some documentation (e.g. a section added to .github/CONTRIBUTING.md) would be helpful for you / other maintainers to be aware of the intended process.
I have several small but important suggested changes to make the files in the PR compliant with R package specs. See comments below.
Also, I created (with LLM assistance) .github/scripts/check-r-package-podman.sh so you can run R-CMD-check locally with the same environment as the CI workflows.
|
@kelly-sovacool Yes this is all LLM. We had played around with this a while back, trying to get CI tests to pass but we kept running into dependency errors. My prompt was to task the LLM to use the already built Container to use with Github actions so it doesn't have to build the library each time. |
docs: remove CI-only changelog entries Keep the changelog focused on user-facing changes. Remove internal CI implementation details while preserving relevant release notes. Co-authored-by: Kelly Sovacool, PhD <kelly-sovacool@users.noreply.github.com>
docs: remove internal planning notes from the changelog Remove entries about agent-generated plans and internal investigations. Keep release notes focused on user-facing changes. Co-authored-by: Kelly Sovacool, PhD <kelly-sovacool@users.noreply.github.com>
Run each raw-data case in a fresh callr process, preserving expectations and skip policies. Add the standard testthat runner and align local Podman checks with the pinned CI environment. Validated all ten cases without OOM: 17 passing expectations, three skips, and five known cc.genes errors left for a separate branch. Coverage and source-loading probes pass.
Changes
Problem
SCWorkflow CI did not consistently validate the checked-out package in the runtime used by NIDAP. Some jobs rebuilt dependencies from package metadata, while others used a different container. This made it difficult to distinguish environment failures from problems in SCWorkflow itself.
The goal is to test the current source in the preserved NIDAP R 4.1.3 environment without upgrading Seurat or other existing dependencies.
Strategy
This does not require a Pixi migration, a new container build, or changes to the original SIF image.
Implementation
Environment and CI
NIDAP-ci-toolsartifact.main, and main-PR checks explicitly fail on warnings. These are validation-policy details, not requirements of container preparation.Package changes included alongside the environment setup
patchworknamespace dependency inImports; reuse the version already installed in the image.TSCAN,TrajectoryUtils, andmclustinSuggests. Mark the trajectory example as non-executing because its input lacks the PCA reduction it needs; this is a separate example-policy change, not an environment fix.ggalluvialrequired inImports, add version 0.12.3 to the isolated library, use explicit namespace qualification, and add an alluvial plotting smoke test without removing existing cases. This supersedes the earlier optional-dependency approach. The nine additions are eight CI/tool dependencies plusggalluvial.The implementation report contains environment provenance, safety checks, reproduction steps, and the historical investigation.
Verification and review boundaries
Latest published revision:
c03e74f7aebdcc2754e6fa4aa3c102f1ee41c31d(2026-10-27). Verification below comes from GitHub Actions, not local Docker.R CMD checkreports 6 warnings and 6 notes. Warnings are not suppressed.Evidence: package-check/lint/coverage run, separate coverage run, and Gitflow run.
There is a pre-existing missing standard testthat entry point under
tests/, so a successful coverage job does not establish that the nested suite ran. The earlier changed-file Gitflow run executes the new comparison smoke test, but eight existing fixture tests skip on CI. The latest commit changes only CI files, so its changed-file Gitflow selection does not rerun that test. Neither test discovery nor those skip policies is changed by this environment work.For review, separate three decisions: whether the frozen environment is correctly prepared; whether the workflow commands and Gitflow behavior preserve the intended CI policy; and whether the accompanying package metadata, plotting, and example changes are appropriate. Environment readiness is verified; full package validation is not yet passing.
Issues
No linked issue. This addresses reproducible package-CI environment readiness; dependency-metadata cleanup remains separate.
PR Checklist
(
Strikethroughany points that are not applicable.)Update the docs if there are any API changes (roxygen2 comments, vignettes, readme, etc.).No public API/signature changes; the collaborator environment report is updated.NEWS.mdwith a short description of any user-facing changes and reference the PR number. Follow the style described in https://style.tidyverse.org/news.htmldevtools::check()locally and fix all notes, warnings, and errors.Keep this PR draft and unmerged. Environment readiness is distinct from full code-validation success.