-
Notifications
You must be signed in to change notification settings - Fork 266
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
Add test suits parallelization for E2E tests in CI #9064
Comments
Just to collect what it has been already discussed previously, the idea is to reduce the current 30 minutes of workflow, which can be extended to 1h in case of failures. Please mind that this will not reduce drastically as correcting the tests or fixing the related issues (high resource loading stack):
|
We should be mindful of how multiple tests impact performance in the runner. If that's starved of resources we may hit similar problems. If we need to define tests that can / cannot run in a parallelised way the work @yonasberhe23 is doing to add tags can help. |
A different approach to running tests in parallel against one deployment, is to split the tests into suites and have each suite run as a separate job in GH Actions that can then be run in parallel where each is a separate environment. |
It's not a bad idea, just throwing these points to consider. Pro:
Cons:
It may make sense to split by initial configuration if we want to test different scenarios or browsers though, which is not our case so far. |
I was thinking we'd have one build step that uploaded a build that then the many e2e steps could then download, so they didn't all have to build. Was also thinking that for code coverage, we could drop this from PRs and have a job that runs on merge to master that runs all unit tests and all e2e tests in one - this would take time but wouldn't block anything - it could then upload coverage data and we would not have to do fiddly stuff uploading data from each suite and then combining. |
Linking related issue - #9243. The new initial setup flow needs to run first, with admin and standard user buckets running in parallel afterwards |
Example of how the gh jobs can be used to run in parallel (and other good features) - nwmac#18. We'll need to combine this with the grep tags concept |
Would it not be better to have an E2E composite action or reusable workflow at this point, instead of repeating most of it 3 times? |
Description
As effort to diminish the E2E workflow time of execution on scale, it's preferred to run tests in parallel using the flag
--parallel
, as defined in the Cypress guide.Context
It's necessary to have idempotent tests if a parallelization is enabled. Although the specs are isolated client wise, the same does not happens server wise. Server initialization is a separated topic which will have to be tackled down.
At the current state (to be verified with the new tests), the only test suite to be required on top is the setup of Rancher, which can be also disabled by env var
TEST_SKIP_SETUP
as defined in the documentation.Note: Based to current state, E2E are already run in 2 different groups but using the same job: admin and user.
The text was updated successfully, but these errors were encountered: