Trim the two slowest tutorials from the CI job - #100
Merged
Conversation
The first run of the `tutorials` job took 17m0s, 16m33s of it in pytest. That is a lot to add to every pull request, and two tests are most of it: lazy_bpcells (136s local) and pbmc3k_de (102s) were 65% of the 364s slice. Holding both out takes the local run from 6m03s to 2m01s, measured, for nine tests instead of eleven. Be clear about what this is. Both tests pass, and their data is already cached — this is a cost trim, not a coverage judgement, and it is the weaker half of the CI change. Neither draws a labelled figure, which is the drift the job exists to catch, so the trim keeps what the job is for. But the code they exercise is real and no unit test covers it the same way, and out-of-core has a history here (T-lazy). They now run only in the full opt-in suite, which is why the pre-release run stays a requirement rather than a formality. Verified after the change: 9 passed in 121.65s, no skips; and with the opt-in variable unset the guard still fires (9 skipped -> step exits 1). CHANGELOG, ROADMAP and the dev skill all say nine rather than eleven, and name the two that are missing. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Merged
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.
Follow-up to #99. Its first run took 17m0s, 16m33s of that in pytest — a lot
to add to every pull request.
The trim
Two tests were 65% of the slice:
lazy_bpcells_tutorial.pypbmc3k_de_tutorial.pyHolding both out, measured:
What stays: the guided, SCTransform, dim-reduc and objects tutorials end to end,
the marker table, the object-model round trip, the dim-reduc extras, and both
cell-type-map guards — including the one from #98.
What this is, and is not
A cost trim, not a coverage judgement, and the weaker half of the CI change.
Both excluded tests pass, and their dataset is already cached — they are dropped
purely for time. Neither draws a labelled figure, which is the drift this job
exists to catch, so the trim preserves what the job is for.
But the code they exercise is real, no unit test covers it the same way, and
out-of-core has previous here (ROADMAP's T-lazy entry: 18 green tests of
LazyMatrixin isolation while no library function could consume one). They nowrun only in the full opt-in suite — which is exactly why the pre-release run
stays a requirement rather than a formality. The workflow comment says so, and
says to put them back first if the job ever gets a faster runner.
This is a different kind of exclusion from the eight dataset-based ones
above it in the same filter, so it carries its own comment rather than being
folded into that list.
Verification
TRUECELL_TUTORIAL_SMOKEunset,9 skipped→ step exits 1. Trimming the selection did not weaken thething that stops this job going green having run nothing.
CHANGELOG.md,ROADMAP.mdandskills/truecell-devupdated to say ninerather than eleven, and to name the two that are missing — a doc that says
"the tutorials run in CI" without that qualifier is how the last gap hid.
Expected CI runtime is ~5-6 min of pytest against the 16m33s baseline; this PR's
own run is the figure to trust.
🤖 Generated with Claude Code