Quarantine flaky e2e tests with documented follow-up issues #49
Labels
No labels
blocked:gate-fetch
blocked:gate-implement
blocked:needs-attention
blocked:needs-decision
blocked:needs-human
blocked:needs-local-checkout
blocked:no-changes
bug
feature-request
in-progress
needs-decompose
needs-triage
ops-task
quickfix
security/high
security/low
security/medium
triage-approved
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Mark/nodedesk#49
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Goal
Identify e2e specs and any other tests that are currently flaky or have known-failing annotations in the Mark/nodedesk repo, quarantine them so the default CI run on
ci/quality-gates-matrix(PR #45) stays green, and file one Forgejo issue per quarantined test so each un-quarantine has an owner and a tracking trail. Satisfies EPIC B Phase 2 exit criteria (nodedesk#38: "Establish quality gates that prevent regressions and ensure repeatable releases").Source spec
This Forgejo issue is the work contract for kanban card
t_2233b2bbon thefixitboard (auto-decomposed fromt_9dda6b49, the parent of EPIC #38). Card body is the scope reference for the work:Known starting points on origin/main and ci/quality-gates-matrix
69ab45d,docs/ci/audit.md): 15 Playwright specs flagged unit/integration; e2e layer has never been green in the 271-run CI history (269 failures + 2 cancellations + 234 phantom-issue events, 0 green).attachments.spec.ts:20-24- stale assertion for an unwired NoteAttachments UI (asserts a feature the frontend never wired in)settings.spec.tssignup->dashboard 500lefthook.yml:14pre-push runs the never-green e2e suite, blocking all pushesa3ac020 ci(e2e): drop pull_request trigger - runner host-networking cannot reach service containers (P1001); tracked by companion flaky-test card(this issue is that companion).docs/ci/audit.md): permanently skipped in CI, contributes to the 0-green history.Acceptance criteria
ci/quality-gates-matrix, PR #45 head) is green on 5 consecutive local runs.--grep-invertor aflakyproject), not simply skipped inline.bug+triage-approvedif the failure is a real defect, orfeature-request+triage-approvedif it's a stale assertion for an unwired feature.Out of scope
Routing
fixitQuarantine landed. 31 tests green. Follow-ups: #51 #52 #53 #54.
Quarantine summary (nodedesk#49)
Default CI is now green on the quarantined layer:
npm testruns all Playwright specs whose tests are not tagged@quarantine. The 6 quarantined tests below are excluded via the tag filterplaywright --grep-invert @quarantine, andnpm run test:e2e:quarantine(ornpm run test:e2e:allfor everything) is the manual repro path.Quarantined tests → tracking issues
tests/attachments.spec.ts:10attachments UI exists@quarantinefeature-request+triage-approvedtests/settings.spec.ts:10@smoke settings page loads with user info@quarantinebug+triage-approvedtests/worklog-timer.spec.ts:12timer start stop and create worklog@quarantinebug+triage-approvedtests/worklog-timer.spec.ts:39idempotent create with clientRequestId@quarantinebug+triage-approvedtests/worklog-timer.spec.ts:63timer persists across page reload@quarantinebug+triage-approvedtests/dev-login.spec.ts:10dev login@quarantinebug+triage-approvedHow quarantine is wired
package.jsontest/test:e2e→playwright test --grep-invert @quarantine(default run, green)test:e2e:quarantine→playwright test --grep @quarantine(only the quarantined set)test:e2e:all→playwright test(everything — used by the tracking-issue reproduction sections)test(...)call that links to the owning Forgejo issue and quotes the un-quarantine acceptance criteria.lefthook.ymlpre-push now runsnpm run lint && npm run typecheck && npm run test:unit(P0-1 fromdocs/ci/audit.md) — full Playwright stays CI-only.Verification evidence
Local run on this branch (
ci/quality-gates-matrix, PR #45 head):The 2 quarantined failures reproduce the issue-#51/#52 defects tracked for un-quarantine; the remaining 4 quarantined specs (#53 worklog-timer, #54 dev-login) currently pass when isolated but are kept behind the quarantine tag so the audit's flake-risk / silent-skip findings keep ownership until their follow-ups land.
Out-of-scope items (not modified here): PR #45 merge, runner networking for service containers (#38 Phase 2 / audit §3.8).