Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Xdebug pipeline #1990

Draft
wants to merge 107 commits into
base: main
Choose a base branch
from
Draft

Xdebug pipeline #1990

wants to merge 107 commits into from

Conversation

rvtovar
Copy link

@rvtovar rvtovar commented Feb 25, 2025

Description

Motivation and Context

Tests performed

Checklist:

  • The pull request description is suitable for a Changelog entry
  • The milestone is set correctly on the pull request
  • The appropriate labels have been added to the pull request

Zi-3 and others added 30 commits September 1, 2022 15:28
- Added four new scripts responsible for installing & configuring XDebug,
  generating the code coverage data from php file execution, and generating the final
  reports.
- Updated `shippable.yml` so that XDebug / Code Coverage is only generated during the nightly
  test build.
- Updated numerous UI tests to work more reliably when XDebug is installed ( i.e. their timeouts were increased )
- Updated a couple of UI test selectors to minimize the effects of latency on particular tests.
- Added a new webdriverhelper function called `clickSelectorAndWaitForMask` as this was a commonly
  feature during developing this PR.
- Updated the timeout for a few other webdriverhelper functions.
- It was found while running these tests on the CentOS8 image, that the
`setupBeforeClass` function was not being called as expected, this small
addition will catch if the required `self::$hashFilePath` variable has been set,
and if not then run the `setupBeforeClass` function so that it is populated.
- Since we're now running this script on CentOS7|8 and Rocky8.5 containers we
need to take into account the different software versions / configuration
options that must be set to successfully collect the code coverage data
generated by our tests.
By installing Xdebug and setting up code coverage before running bootstrap we'll
generate code coverage information for our install / upgrade code including the
ETL code.
These changes migrate our current UI test framework from webdriverio to
playwright. The reasons for the migration include but are not limited to:
- During testing Playwright proved to be more resilient to timining issues than
  webdriverio. This should mean less failures of CI builds due to timing issues
  which means less time dealt with timing issue failures during CI builds.
- Playwright supports parallel test execution so CI builds end up taking
  significantly less time.

The original ui tests in `tests/ui/*` have been removed as they are no longer
needed.
@rvtovar rvtovar self-assigned this Feb 25, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants