Change workers balancing logic for e2e tests to always cover all specs #5865
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.
📚 Context
Previous Cypress Tests implementation sometimes (depending on a number of e2e specs) not running tests at the end of the list of tests. E.g.
cypress22job on the first commit of this PR not runse2e/specs/typography.spec.js,e2e/specs/widget_state_heavy_usage.spec.jsspecs.This PR changes the logic of calculation for a number of specs per worker, and should always run all e2e tests regardless of the number of tests.
Based on the previous version if we have 135 test: the jobs will be divided equally between 22 workers by
135 / 21 = 6test spec per job. And6 * 22 = 132will be not running.In the new implementation, we calculate the remainder
remainder=total_number_of_spec/22and assign the first#reminderworkers per one extra test spec.What kind of change does this PR introduce?
🧠 Description of Changes
Add bullet points summarizing your changes here
Revised:
Insert screenshot of your updated UI/code here
Current:
Insert screenshot of existing UI/code here
🧪 Testing Done
🌐 References
Does this depend on other work, documents, or tickets?
Contribution License Agreement
By submitting this pull request you agree that all contributions to this project are made under the Apache 2.0 license.