Skip to content

Collapse CI's Lite fast / analysis-heavy test split into one step - #1701

Merged
erikdarlingdata merged 2 commits into
devfrom
feature/lite-ci-collapse-test-split
Jul 26, 2026
Merged

Collapse CI's Lite fast / analysis-heavy test split into one step#1701
erikdarlingdata merged 2 commits into
devfrom
feature/lite-ci-collapse-test-split

Conversation

@erikdarlingdata

Copy link
Copy Markdown
Owner

Summary

Follow-up to #1693 / #1694 / #1698, previously flagged and now approved: with the analysis-heavy subset down from 556-612s to ~66s on the CI runner, the fast/heavy split no longer earns its keep. One Run Lite tests step now runs the whole suite.

Why the split is safe to remove

  • The lite path filter (Lite/** + Lite.Tests/**) is a strict superset of lite_analysis, so the heavy step could never run without the fast step also running - the split's only value was letting non-analysis Lite changes SKIP the heavy subset. That was worth it at 9 minutes; it is not at 66 seconds.
  • The hand-maintained class-name filters were a standing drift risk: a renamed analysis class would silently fall out of the heavy filter and into the fast bucket, changing which gate covered it.
  • Combined step also saves one test-host spin-up per run.

The unconsumed lite_analysis filter block is removed. This PR's own CI run executes the new workflow, so the collapsed step validates itself - its "Run Lite tests" duration should land around 2-2.5 minutes.

Generated with Claude Code

erikdarlingdata and others added 2 commits July 26, 2026 15:06
The split existed because the seven analysis classes rebuilt the full
DuckDB schema inside every test and their subset alone cost ~9 CI
minutes, so a narrower lite_analysis path gate let non-analysis Lite
changes skip it. After the shared class fixtures (#1693, #1698) and
batched seeding (#1694), that subset runs in ~66s on the same runner -
the split no longer earns its second test-host spin-up, and the
hand-maintained class-name filters were a drift risk (a renamed class
would silently fall out of the heavy filter and into fast).

One "Run Lite tests" step now runs the whole suite, gated on the lite
path filter; the unconsumed lite_analysis filter block is removed.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@erikdarlingdata
erikdarlingdata merged commit 44b3d60 into dev Jul 26, 2026
4 checks passed
@erikdarlingdata
erikdarlingdata deleted the feature/lite-ci-collapse-test-split branch July 26, 2026 19:13
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