#19566·kestra

ci(frontend): the develop unit-test step takes 10-24 minutes since the large-value bounds spec landed

Author: MilosPaunovicCreated Sep 17, 2026Updated Sep 17, 2026
Labelsarea/frontendkind/backport-neededarea/devops

What

Since https://github.com/kestra-io/kestra/pull/19333 merged on develop (merge commit https://github.com/kestra-io/kestra/commit/fd0f06b67c2b6ee09fd975865bbff00c0f7641b3, 2026-09-11 11:48 UTC), the Frontend tests / Frontend - Tests job's step Run front-end unit tests takes 10 to 24 minutes on every develop push. The commit right before it ran the same step in 45 s, and releases/v2.0.x still runs its 252 unit files in about 31 s. The job stays green, so nothing flagged it.

develop push Unit-test step
7e8b199994 (2026-09-11 07:05) 35 s
61dce55618 (2026-09-11 11:21) 45 s
fd0f06b67c (2026-09-11 11:48, merge of https://github.com/kestra-io/kestra/pull/19333) 21 min 38 s
every push since (e.g. a075c41eb1, 79f01d1e99, a23a2d7c3a, d2a6e44b3e, e30274f275, bdb54f7984) 10 to 24 min
releases/v2.0.x 6aecc18d30 (2026-09-17) 34 s

EE is not affected: its unit step is a steady 105 to 150 s on both branches.

Why

vitest itself is not slower. The step log of https://github.com/kestra-io/kestra/actions/runs/35214441823 prints Duration 31.14s for 279 files / 2519 tests, yet the step runs 14 minutes. The extra time is the runner writing six log lines of 409 699 and 867 945 bytes each: [Vue warn]: Failed to resolve component: KsButtonGroup and KsTooltip stack traces of the form at <VarValue value="xxxx…">, emitted by ui/src/components/executions/VarValue.spec.ts. That spec mounts VarValue with only KsButton stubbed and feeds it "x".repeat(400 * 1024) (and an 868 KB JSON fixture), so every warning serialises the whole prop into the log. Consecutive timestamps in the step log show a gap of about 103 s before and after each of those lines. Locally the same three spec files finish in under 20 s, because a terminal swallows the lines instantly.

Fix

Stub KsButtonGroup and KsTooltip in the spec's global.stubs (or install the design system there) so the mount emits no warning; asserting that console.warn stays silent would keep it from coming back. More generally, a spec that mounts a component with a very large prop needs every unresolved child stubbed, or a single warning line costs minutes of CI.

The pending releases/v2.0.x backport of https://github.com/kestra-io/kestra/pull/19333 should carry the same change, otherwise the slowdown lands on 2.0 too.

@elevatebart you merged https://github.com/kestra-io/kestra/pull/19333, so flagging it to you.