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
🏗️ enable 3-at-a-time batching for all sauce labs tests #27051
Conversation
Hey @estherkim, these files were changed:
|
For context/discussion/analysis of the ideal batch size, see #27016 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the exploration and for putting together this PR. I'm adding a blocking review because this PR as written will break CI builds. Suggestions to fix are in the comments below.
Not to be addressed at this moment, but something I noticed when looking at the batching code. It doesn't continuously run "up to $BATCHSIZE batches". That is, when it runs 6 tests with a batch size of 3, it waits until all 3 complete before triggering another 3 at once. Instead of running in batches like this, we could probably speed up runtime by using a pool instead. This way, as soon as one browser finishes, another can start. |
It appears we also re-transform tests with |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks! Do you know why we're testing on Chrome twice? https://travis-ci.org/ampproject/amphtml/jobs/657948850#L2400-L2402
Also, can you update the comments here
amphtml/build-system/tasks/runtime-test/helpers.js
Lines 250 to 252 in 46434f4
* If --stable is provided, runs tests only on stable browsers in sauce labs without batching. | |
* If --beta is provided, runs tests only on beta browsers in sauce labs without batching. Does not fail. | |
* If neither --stable nor --beta are provided, runs test on all browsers in sauce labs with batching. |
Withdrawing my blocking review now that test status reporting is no longer broken. Will defer to @estherkim for final approval of the code changes. LGTM from my side.
beta: argv.stable ? [] : config.browsers.filter(isBeta), | ||
stable: argv.beta ? [] : config.browsers.filter(isStable), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we flip this so that stable browsers are set when argv.stable is set? And if neither flags are present, default to all or stable, up to you.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done, PTAL
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
Comparing with #27016 to see batch size impact on Travis running time