CI: temporary intervention to avoid response latency-sensitive E2E tests from failing

Created on 30 January 2025, 3 days ago

Overview

Ever since HTTP API for code component config entities Active landed, the drag-and-drop and publish-button e2e tests are failing almost consistently.

@f.mazeikis determined the root cause: a significant increase in OpenAPI validation duration due to it references JSON Schema.

(E2E tests do run OpenAPI validation of all requests/responses, as always was the intent, ever since #3500110 — see #3500110-10: CI: PHP asserts not running in CI/during tests due to core regression for proof.)

/xb/api/config/component takes:

  • ~1.5–1.8s on my system with HEAD
  • ~0.6 s on my system with
    diff --git a/openapi.yml b/openapi.yml
    index a36d1325..c7eeb1de 100644
    --- a/openapi.yml
    +++ b/openapi.yml
    @@ -798,7 +798,7 @@ components:
               items:
                 type: string
             props:
    -          $ref: 'https://json-schema.org/draft-04/schema'
    +          type: object
             slots:
               type: array
               items:
    

Proposed resolution

Temporarily make the OpenAPI validation less thorough.

Follow-up to improve our CI:

  • First run Cypress E2E tests with assertions enabled aka with OpenAPI testing
  • If that run fails, do a second run without, which should be faster.

That way, we keep the benefits of OpenAPI validation, but are not held hostage by it. CI runs become faster with two things:

  • more defensive E2E tests
  • faster OpenAPI validation

User interface changes

None.

📌 Task
Status

Active

Version

0.0

Component

Miscellaneous

Created by

🇧🇪Belgium wim leers Ghent 🇧🇪🇪🇺

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Merge Requests

Comments & Activities

Production build 0.71.5 2024