-
-
Notifications
You must be signed in to change notification settings - Fork 719
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
Break up large spec files #12502
Break up large spec files #12502
Conversation
The orders file is too big and causes a bottleneck for parallelising specs. Maybe they should be merged with the above specs, but I'm not familiar enough to know for sure.
This was another large file, potentially causing a bottleneck. All the order setup is duplicated from the other file which is a bit of shame, but I think it makes sense.
Each time we run a rails command, it can take some time to load up (I think it was 20s). We run two commands (db setup, then rspec), so the second one should be faster now.
One system_admin spec was still 7m, but maybe after this is merged, Knapsack will have better data to more evenly distribute specs. Excerpt from logs shows that spring is used for both rake and rspec commands. I couldn't see timestamps to prove the time saving.
|
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.
Thank you! This is great.
Thanks, I just had a look at the latest master build, and it was done in 6m 19s. So those are the next bottlenecks to attack.. |
FYI @filipefurtad0 I made a few tweaks to CI here ^ |
What? Why?
Knapsack evenly distributes spec files to run in parallel, but can't break up spec files to run in parallel.
I noticed that a couple of large spec files were much longer than others, and therefore causing a bottleneck.
Also, I think we can change one of the runners to run more system specs, because the models are nice and quick.
What should we test?
Release notes
Changelog Category (reviewers may add a label for the release notes):
The title of the pull request will be included in the release notes.
Dependencies
Documentation updates