Skip to content

e2e: different specs fail on each run of the same commit (billing-categories, contactmomenten, xwiki) #1423

Description

@rubenvdlinde

Two consecutive e2e runs of the same commit on #1419 failed different tests, and each passed what the other failed.

run failed passed
1 billing-categories.spec.ts:62 — 60s timeout, both attempts contactmomenten, xwiki
2 contactmomenten.spec.ts:50 + xwiki-integration.spec.ts:49assertions billing-categories

309 and 308 passed respectively.

Why this is worth a look

contactmomenten list renders seeded contactmoment tickets loops every row asserting it matches /interaction/i, with the comment "the demo seed writes twelve contactmoment tickets". It failed on nth(16) — so on that run the tab held more than twelve rows, and at least one was not an interaction ticket.

That is a data-shape difference between two runs of identical code, which points at non-deterministic seeding or a filter that does not always apply, rather than at either spec.

What it is not

It was raised on #1419 (wrapping two repair steps in runAsSystem), so the obvious suspicion is that the fix makes migrations write and changes the seed. Measured live, it does not account for this:

MigrateAvgVerzoekenToOrDsar     0 migrated, 1 skipped, 0 unmappable, 0 failed (of 1 source objects)
MigratePosBookkeepingToShillinq early return, no output

At most one object on a fresh instance — it cannot produce 16+ extra ticket rows. And a deterministic consequence of a code change would fail the same test every run, not alternate.

development e2e is 3/3 green in recent runs, so the suite is not simply broken — which is what makes this worth chasing rather than dismissing.

Suggested starting points

  • nth(16) and "twelve seeded" disagree — capture what the extra rows actually are (the CI trace artifact is attached to the run).
  • Check whether the Contactmomenten quick-filter is applied before the assertion, or whether the test can observe a pre-filter render.
  • billing-categories timing out at 60s on both attempts in run 1 suggests the suite is close to its time budget; a slow run may push marginal specs over.

#1419 was admin-merged on this evidence: 2250 unit tests green, phpcs 0, phpmd 0, and the failures are non-deterministic and too large to be caused by a one-object migration.

Observed 2026-08-25, runs on fix/repair-steps-need-a-system-identity.

Metadata

Metadata

Assignees

Labels

triageAwaiting triage

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions