Skip to content

Conversation

@williamjallen
Copy link
Collaborator

Following the work in #2664, this PR removes some of the bottlenecks slowing down the test suite on developer machines by running long tests concurrently where possible. This PR also adds the ability to run Cypress tests concurrently and reorganizes some of the messy test generation helper functions. While it would be nice to run all of the Cypress tests concurrently, Cypress is resource intensive and experiments only showed a marginal improvement in running times.

On my developer machine, these changes reduced the running time for the full test suite from 9 minutes to 8.5 minutes. Although the CI runners are substantially less powerful than my machine, I expect at least a small reduction in CI job times.

Copy link
Member

@josephsnyder josephsnyder left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues with local CTest or CI invocations. Looks good to me!

@josephsnyder josephsnyder added this pull request to the merge queue Feb 4, 2025
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Feb 4, 2025
@josephsnyder josephsnyder added this pull request to the merge queue Feb 4, 2025
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Feb 4, 2025
@williamjallen
Copy link
Collaborator Author

It looks like the merge queue jobs failed due to issues with some of the Cypress tests I moved around. I'll take a look locally.

github-merge-queue bot pushed a commit that referenced this pull request Apr 7, 2025
This PR contains a subset of the changes in #2698 for clarity. Spec and
Cypress component test definitions have been moved to dedicated files
instead of the top-level `CMakeLists.txt`. In addition to moving logic
around, this PR re-introduces the forgotten `data-table` Cypress
component test and allows Cypress component tests to run in parallel
with other tests, utilizing a resource lock to ensure two Cypress
component tests never run at the same time.
github-merge-queue bot pushed a commit that referenced this pull request Apr 7, 2025
The `autoremovebuilds` test is completely broken, and is not hooked up
to anything in our test infrastructure. Given that the functionality it
tests has been superseded by newer logic, this test is no longer
relevant. This PR pulls out these specific changes from the broader
changes in #2698 to reduce the number of different changes in #2698.
@williamjallen williamjallen removed this from the v4.0 milestone Apr 10, 2025
github-merge-queue bot pushed a commit that referenced this pull request Apr 14, 2025
This PR continues the work in #2698, moving Cypress-specific CTest
content to dedicated files. Additionally, I improved the dependency
structure, leading to faster CI runs. I plan to make a follow-up PR to
further improve the dependency structure.
@williamjallen
Copy link
Collaborator Author

All of the important parts of this PR have now been split into separate PRs, and #2808 cleans up the rest. This PR is now obsolete.

@williamjallen williamjallen deleted the ctest-refactor branch April 16, 2025 14:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants