Skip to content

Trim the two slowest tutorials from the CI job - #100

Merged
shanikawm merged 1 commit into
mainfrom
ci/trim-tutorial-job
Aug 7, 2026
Merged

Trim the two slowest tutorials from the CI job#100
shanikawm merged 1 commit into
mainfrom
ci/trim-tutorial-job

Conversation

@shanikawm

Copy link
Copy Markdown
Contributor

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:

Test Local Share
lazy_bpcells_tutorial.py 135.8s 37%
pbmc3k_de_tutorial.py 101.9s 28%

Holding both out, measured:

Tests Local runtime
Before 11 6m03s
After 9 2m01s

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
LazyMatrix in isolation while no library function could consume one). They now
run 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

  • 9 passed in 121.65s, no skips
  • Guard re-checked under the new filter: with TRUECELL_TUTORIAL_SMOKE unset,
    9 skippedstep exits 1. Trimming the selection did not weaken the
    thing that stops this job going green having run nothing.
  • CHANGELOG.md, ROADMAP.md and skills/truecell-dev updated to say nine
    rather 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

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>
@shanikawm
shanikawm merged commit 9c95d98 into main Aug 7, 2026
7 checks passed
@shanikawm shanikawm mentioned this pull request Aug 7, 2026
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