-
Notifications
You must be signed in to change notification settings - Fork 14
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
Speed up CI tests #58
Comments
@chandrams PTAL |
@chandrams for ease or review, I have pushed all the related changes into one branch: https://github.com/johnaohara/hpo/commits/faster-ci This isn't ready for a PR just yet, but are these are the changes that allowed me to speed up the CI execution (in addition to #57) |
Thanks @johnaohara. I took a quick look at the changes, I think moving hpo deploy outside the loop is good, however some of the tests look for error messages in the HPO service logs. These error messages might be outdated too as the tests were added long back, will check and update those. |
@chandrams yes, these changes means that there is one log for each test-case. To handle the error cases you mentioned, there could be a number of possible solutions;
|
Thanks @johnaohara We had implemented the third solution for a similar issue in autotune tests. Have made the same changes to HPO tests now, testing it. Can I push these changes into #57 ? |
@chandrams sure, if you already have a solution, push it into #57 |
By slightly re-architecturing the testsuite, I have reduced the time taken to run the testsuite in CI from
a) sanity-tests: 13min -> 1min
b) full testsuite: ~55min -> ~2min
In order for part of this work, the PR to delete experiments is required (#57). Another speed-up is obtained by splitting the Docker build into a multi-part build, build a base image with all the required libaries etc, and a second stage where the service files are copied into a second image. This reduces the docker build time in CI from 8min 42s to 33s as the base image does not need to be rebuilt for every test. The only downside to this is a separate process needs to build and push the base image to quay.io. The base image should only need to change for component upgrades
Before I open a PR, does anyone have an opinion on these changes?
The text was updated successfully, but these errors were encountered: