mittwald / mittwald/flow

e2e job intermittently hangs to the 20-minute limit and blocks the required main check

Open
#3,089 0 comments 0 reactions 1 assignee View on GitHub

@mfal is already working on this.

Since Sep 16, 2026.

tooling
Dominant language
TypeScript
Stars
15
Forks
3
Avg merge
1d 17h
Merged PRs (30d)
184

Description

The e2e job in test.yml intermittently hangs until the 20-minute job limit and is cancelled, failing the required main aggregate check. Normal runtime is 3–4 minutes, so this is a hang, not a job that outgrew its budget.

Evidence

Eleven most recent test.yml runs on main, e2e duration:

Result Duration Run
cancelled 20m (limit) 33608121174
success 3m 33607745081
success 3m 33605020569
success 4m 33603849804
success 0m 33602709066
success 4m 33599659211
success 3m 33599165776
success 0m 33599050568
success 1m 33598889354
success 3m 33521559227
success 3m 33519772221

Also hit on a pull request whose diff cannot affect e2e runtime — a codemods-only change (#3075, run 33609431867, job annotation The job has exceeded the maximum execution time of 20m0s). That is what rules out "a PR made it slower": the hang reproduces on main and on an unrelated branch alike.

Why it matters beyond one red check

main is a required status context and depends on e2e, so every occurrence blocks a merge until someone re-runs the job. The failure mode is also indistinguishable at a glance from a real e2e failure — the check is simply red — so it costs a log read every time.

What to look for

The 3–4 minute baseline against a 20-minute wall suggests something waits forever rather than running slowly: a dev server or preview that never becomes ready, a browser launch that never returns, or a test awaiting an event that is dropped on a contended runner. Two starting points:

  • Add a per-test and per-suite timeout well below the job limit, so the run fails with a stack instead of being cancelled with no log. Right now a cancelled job leaves nothing to read, which is why this has no diagnosis yet.
  • Check whether the hang correlates with the runner also executing the visual shards, which have their own contention signature (Could not capture a stable screenshot, observed on #3076 in the same window).

Provenance

Found while clearing infrastructure failures across a batch of open PRs, alongside two other non-code CI failures in the same window: deploy failing on ConnectTimeoutError to api.mittwald.de:443 (10s connect timeout, #3075 and #3077), and the visual stability timeouts above.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.