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

[ews-build] Split iOS layout test queue into no-WPT / only-WPT configurations #12032

Conversation

ryanhaddad
Copy link
Contributor

@ryanhaddad ryanhaddad commented Mar 28, 2023

ac46799

[ews-build] Split iOS layout test queue into no-WPT / only-WPT configurations
https://bugs.webkit.org/show_bug.cgi?id=254559
rdar://107291888

Reviewed by Jonathan Bedard and Aakash Jain.

In order to reduce the turnaround time for iOS layout test results in EWS, split the tests
into no-WPT / only-WPT configurations that can run in parallel.

* Tools/CISupport/ews-app/ews/common/buildbot.py:
(Buildbot):
* Tools/CISupport/ews-app/ews/common/github.py:
(GitHubEWS):
* Tools/CISupport/ews-app/ews/views/statusbubble.py:
* Tools/CISupport/ews-build/config.json:
* Tools/CISupport/ews-build/factories.py:
(iOSTestsOnlyWPTFactory):
(iOSTestsNoWPTFactory):
* Tools/CISupport/ews-build/steps.py:
(RunWebKitTestsInStressMode):
(RunWebKitTestsOnlyWPT):
(RunWebKitTestsOnlyWPT.__init__):
(RunWebKitTestsOnlyWPT.setLayoutTestCommand):
(RunWebKitTestsNoWPT):
(RunWebKitTestsNoWPT.__init__):
(RunWebKitTestsNoWPT.setLayoutTestCommand):
* Tools/CISupport/ews-build/steps_unittest.py:
(TestRunWebKitTestsNoWPT):
(TestRunWebKitTestsNoWPT.setUp):
(TestRunWebKitTestsNoWPT.tearDown):
(TestRunWebKitTestsNoWPT.configureStep):
(TestRunWebKitTestsNoWPT.test_success):

Canonical link: https://commits.webkit.org/262673@main

5d8a4fe

Misc iOS, tvOS & watchOS macOS Linux Windows
βœ… πŸ§ͺ style βœ… πŸ›  ios βœ… πŸ›  mac βœ… πŸ›  wpe   πŸ›  wincairo
βœ… πŸ§ͺ bindings βœ… πŸ›  ios-sim βœ… πŸ›  mac-AS-debug   πŸ§ͺ wpe-wk2
βœ… πŸ§ͺ webkitperl   πŸ§ͺ ios-wk2   πŸ§ͺ api-mac βœ… πŸ›  gtk
  πŸ§ͺ api-ios   πŸ§ͺ mac-wk1   πŸ§ͺ gtk-wk2
  πŸ›  tv   πŸ§ͺ mac-wk2   πŸ§ͺ api-gtk
  πŸ›  tv-sim   πŸ§ͺ mac-AS-debug-wk2
βœ… πŸ§ͺ services   πŸ›  watch   πŸ§ͺ mac-wk2-stress
βœ… πŸ›  watch-sim
βœ… πŸ›  πŸ§ͺ unsafe-merge

@ryanhaddad ryanhaddad self-assigned this Mar 28, 2023
@ryanhaddad ryanhaddad added the Tools / Tests Tools in the Tools directory, build issues, test infrastructure, and bugs in test cases label Mar 28, 2023
@ryanhaddad ryanhaddad added the skip-ews Applied to prevent a change from being run on EWS label Mar 28, 2023
Tools/CISupport/ews-build/steps_unittest.py Outdated Show resolved Hide resolved
Tools/CISupport/ews-build/steps_unittest.py Outdated Show resolved Hide resolved
Tools/CISupport/ews-build/steps_unittest.py Outdated Show resolved Hide resolved
Tools/CISupport/ews-build/steps_unittest.py Outdated Show resolved Hide resolved
@ryanhaddad ryanhaddad removed the skip-ews Applied to prevent a change from being run on EWS label Mar 28, 2023
@ryanhaddad ryanhaddad force-pushed the eng/ews-build-Split-iOS-layout-test-queue-into-no-WPT--only-WPT-configurations branch from e5f1415 to 07f4360 Compare March 28, 2023 15:34
@ryanhaddad ryanhaddad force-pushed the eng/ews-build-Split-iOS-layout-test-queue-into-no-WPT--only-WPT-configurations branch from 07f4360 to d9ed130 Compare March 28, 2023 16:28
@ryanhaddad ryanhaddad added skip-ews Applied to prevent a change from being run on EWS and removed skip-ews Applied to prevent a change from being run on EWS labels Mar 28, 2023
@ryanhaddad ryanhaddad force-pushed the eng/ews-build-Split-iOS-layout-test-queue-into-no-WPT--only-WPT-configurations branch from d9ed130 to a0060ea Compare March 28, 2023 16:50
@ryanhaddad
Copy link
Contributor Author

ryanhaddad commented Mar 28, 2023

Next step is to test this on the UAT instance before marking ready for review.

Update:
No WPT: https://ews-build.webkit-uat.org/#/builders/29/builds/6
Only WPT: https://ews-build.webkit-uat.org/#/builders/72/builds/6

The split worked as expected, but the failures didn't trigger retry logic, so that needs to be addressed.

@ryanhaddad ryanhaddad added skip-ews Applied to prevent a change from being run on EWS and removed skip-ews Applied to prevent a change from being run on EWS labels Mar 28, 2023
@ryanhaddad ryanhaddad force-pushed the eng/ews-build-Split-iOS-layout-test-queue-into-no-WPT--only-WPT-configurations branch from a0060ea to 3253ad2 Compare March 29, 2023 18:06
@ryanhaddad ryanhaddad added the skip-ews Applied to prevent a change from being run on EWS label Mar 29, 2023
@ryanhaddad
Copy link
Contributor Author

The split worked as expected, but the failures didn't trigger retry logic, so that needs to be addressed.

This was because I originally copied RunWebKitTestsInStressMode() to make these new steps, which had its own version of evaluateCommand that didn't include retry steps.

@ryanhaddad ryanhaddad removed the skip-ews Applied to prevent a change from being run on EWS label Mar 29, 2023
@ryanhaddad ryanhaddad force-pushed the eng/ews-build-Split-iOS-layout-test-queue-into-no-WPT--only-WPT-configurations branch from 3253ad2 to 179439e Compare March 29, 2023 19:12
@ryanhaddad ryanhaddad marked this pull request as ready for review March 29, 2023 19:12
@ryanhaddad ryanhaddad added the skip-ews Applied to prevent a change from being run on EWS label Mar 29, 2023
@JonWBedard
Copy link
Member

The only bit I'm unsure on is the bubble/GitHub comment matrix, I can dig in and try and understand that bit if @aj062 doesn't have any thoughts on it.

@aj062
Copy link
Member

aj062 commented Mar 29, 2023

The only bit I'm unsure on is the bubble/GitHub comment matrix, I can dig in and try and understand that bit if @aj062 doesn't have any thoughts on it.

GitHub status-bubble matrix looks fine to me. Although Bugzilla status-bubbles also needs to be updated in https://github.com/WebKit/WebKit/blob/main/Tools/CISupport/ews-app/ews/views/statusbubble.py#L46

@ryanhaddad ryanhaddad removed the skip-ews Applied to prevent a change from being run on EWS label Mar 29, 2023
@ryanhaddad ryanhaddad force-pushed the eng/ews-build-Split-iOS-layout-test-queue-into-no-WPT--only-WPT-configurations branch from 179439e to 20f05ca Compare March 29, 2023 20:28
@ryanhaddad ryanhaddad added the skip-ews Applied to prevent a change from being run on EWS label Mar 29, 2023
Tools/CISupport/ews-build/config.json Outdated Show resolved Hide resolved
Tools/CISupport/ews-build/config.json Outdated Show resolved Hide resolved
@ryanhaddad ryanhaddad removed the skip-ews Applied to prevent a change from being run on EWS label Apr 5, 2023
@ryanhaddad ryanhaddad force-pushed the eng/ews-build-Split-iOS-layout-test-queue-into-no-WPT--only-WPT-configurations branch from 20f05ca to 5d8a4fe Compare April 5, 2023 21:47
@ryanhaddad ryanhaddad added the skip-ews Applied to prevent a change from being run on EWS label Apr 5, 2023
@ryanhaddad
Copy link
Contributor Author

@aj062 @JonWBedard may I get a formal review here? I'd like to be able to land this as soon as we've got the hardware ready.

@ryanhaddad ryanhaddad added the unsafe-merge-queue Applied to send a pull request to merge-queue, but skip building and testing label Apr 6, 2023
…urations

https://bugs.webkit.org/show_bug.cgi?id=254559
rdar://107291888

Reviewed by Jonathan Bedard and Aakash Jain.

In order to reduce the turnaround time for iOS layout test results in EWS, split the tests
into no-WPT / only-WPT configurations that can run in parallel.

* Tools/CISupport/ews-app/ews/common/buildbot.py:
(Buildbot):
* Tools/CISupport/ews-app/ews/common/github.py:
(GitHubEWS):
* Tools/CISupport/ews-app/ews/views/statusbubble.py:
* Tools/CISupport/ews-build/config.json:
* Tools/CISupport/ews-build/factories.py:
(iOSTestsOnlyWPTFactory):
(iOSTestsNoWPTFactory):
* Tools/CISupport/ews-build/steps.py:
(RunWebKitTestsInStressMode):
(RunWebKitTestsOnlyWPT):
(RunWebKitTestsOnlyWPT.__init__):
(RunWebKitTestsOnlyWPT.setLayoutTestCommand):
(RunWebKitTestsNoWPT):
(RunWebKitTestsNoWPT.__init__):
(RunWebKitTestsNoWPT.setLayoutTestCommand):
* Tools/CISupport/ews-build/steps_unittest.py:
(TestRunWebKitTestsNoWPT):
(TestRunWebKitTestsNoWPT.setUp):
(TestRunWebKitTestsNoWPT.tearDown):
(TestRunWebKitTestsNoWPT.configureStep):
(TestRunWebKitTestsNoWPT.test_success):

Canonical link: https://commits.webkit.org/262673@main
@webkit-commit-queue webkit-commit-queue force-pushed the eng/ews-build-Split-iOS-layout-test-queue-into-no-WPT--only-WPT-configurations branch from 5d8a4fe to ac46799 Compare April 6, 2023 18:44
@webkit-commit-queue
Copy link
Collaborator

Committed 262673@main (ac46799): https://commits.webkit.org/262673@main

Reviewed commits have been landed. Closing PR #12032 and removing active labels.

@webkit-commit-queue webkit-commit-queue removed the unsafe-merge-queue Applied to send a pull request to merge-queue, but skip building and testing label Apr 6, 2023
@webkit-commit-queue webkit-commit-queue merged commit ac46799 into WebKit:main Apr 6, 2023
@ryanhaddad ryanhaddad deleted the eng/ews-build-Split-iOS-layout-test-queue-into-no-WPT--only-WPT-configurations branch April 6, 2023 21:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
skip-ews Applied to prevent a change from being run on EWS Tools / Tests Tools in the Tools directory, build issues, test infrastructure, and bugs in test cases
Projects
None yet
7 participants