tkobayas opened a new issue, #4018:
URL: https://github.com/apache/incubator-kie-tools/issues/4018

   ### Description
   
   During CI runs on `ubuntu-latest` (workflow run `94969099687`), we observed 
intermittent and non-deterministic Playwright E2E test failures across multiple 
consecutive retries. On each run, the build, TypeScript compilation, and unit 
tests passed cleanly, but different downstream E2E test suites failed with 
distinct flakiness patterns.
   
   ### Environment
   - **OS**: Ubuntu (GitHub Actions runner / Linux Container)
   - **Node**: v20 / v24
   - **Test Framework**: Playwright (via containerized runner)
   - **Browsers**: WebKit, Chromium, Google Chrome
   
   ---
   
   ### Summary of Observed Failures Across Consecutive Runs
   
   | Run # | Package | Failed Spec / Test Case | Browser | Failure Mode |
   | :--- | :--- | :--- | :--- | :--- |
   | **Initial** | `@kie-tools/dmn-editor` | 
`tests-e2e/drgElements/addBkm.spec.ts`<br>`tests-e2e/drgElements/addDecision.spec.ts`<br>`tests-e2e/drgRequirements/moveAuthorityRequirementWaypoint.spec.ts`
 | WebKit | Drag-and-drop / node interaction timeout & assertions |
   | **Retry 1** | `@kie-tools/dmn-editor` | 
`tests-e2e/drgElements/modelDecisionService.spec.ts` | WebKit | Signature input 
reordering assertion |
   | **Retry 2** | `@kie-tools/boxed-expression-component` | 
`tests-e2e/boxedExpressions/invocation/populate.spec.ts` | Chromium | 
`toHaveScreenshot` failed (541px / ~1% pixel diff) |
   | **Retry 3** | `@kie-tools/dmn-editor-standalone` | 
`tests-e2e/api/getContent.spec.ts` | Chrome | XML `xmlns` attribute 
serialization ordering mismatch |
   | **Retry 4** | `@kie-tools/dmn-editor` | 
`tests-e2e/drgRequirements/moveAuthorityRequirementWaypoint.spec.ts` | WebKit | 
`toHaveScreenshot` failed (1081px / ~1% pixel diff) |
   
   ---
   
   ### Root Cause Categories
   
   1. **Visual Regression / Screenshot Flakiness (`toHaveScreenshot`)**:
      - `boxed-expression-component` 
(`boxed-invocation-affordability-calculation.png` on Chromium) and `dmn-editor` 
(`move-authority-requirement-ending-waypoint.png` on WebKit) failed due to ~1% 
pixel differences.
      - Likely caused by minor font antialiasing / subpixel rendering 
differences or timing before the container screenshot is taken.
   
   2. **WebKit Drag-and-Drop / Interaction Timing in Linux Containers**:
      - WebKit in headless containerized Linux shows intermittent drag/drop and 
waypoint move action instability in `dmn-editor`.
   
   3. **XML Attribute Ordering Assertion in Standalone DMN Editor**:
      - `getContent.spec.ts` in `dmn-editor-standalone` does a string equality 
check (`toEqual`) between `editor.getFormattedContent()` and a static file 
fixture.
      - The ordering of `xmlns:*` attributes in the serialized XML root element 
is non-deterministic, causing string comparison failures even when the XML is 
semantically identical.
   
   ---
   
   ### Suggested Fixes / Improvements
   
   - [ ] **Visual Testing**: Adjust `maxDiffPixelRatio` / `threshold` tolerance 
for `toHaveScreenshot` assertions, or ensure stable font rendering / 
animation-disable in test fixtures.
   - [ ] **XML Comparison**: Parse XML to DOM/AST or compare semantically 
(canonical XML / attribute-agnostic comparison) in `getContent.spec.ts` rather 
than raw string comparison.
   - [ ] **WebKit Stability**: Investigate whether additional wait states / 
element stability checks are needed before drag-and-drop operations in 
`dmn-editor` fixtures.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to