Create E2E app for browsers tests #3014
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request updates the browser testing workflow and related configuration to improve reliability, consistency, and maintainability across UX packages. The main changes include refactoring the browser test workflow to use a matrix strategy for Symfony versions, standardizing dependency installation steps, removing unused dependencies, and renaming the Playwright configuration for easier reuse.
Workflow and CI improvements:
.github/workflows/browser-tests.yml
to use a matrix strategy for Symfony versions, added concurrency controls to cancel in-progress runs, and split setup steps for JS and PHP dependencies, Docker containers, and E2E app configuration. Artifact uploads now only occur on browser test failures. [1] [2]pnpm install
commands with named steps (Install root JS dependencies
) in code quality, unit test, dist files, and release workflows. [1] [2] [3] [4] [5] [6]Testing and configuration changes:
package.json
to run browser tests in all workspaces concurrently, removed the unusedwebdriverio
dependency, and improved thetest:browser
script for workspace aggregation. [1] [2]playwright.config.ts
toplaywright.config.base.ts
, added documentation for usage in UX packages, and improved test matching patterns and output directory configuration. [1] [2]Dependency management:
webdriverio
from the lockfile and marked many transitive dependencies as optional inpnpm-lock.yaml
, reducing the install footprint and improving clarity for unused packages. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22]These changes make the browser testing workflow more robust and maintainable, ensure consistent dependency installation, and clean up unused or optional packages to streamline CI runs.