-
-
Notifications
You must be signed in to change notification settings - Fork 8.7k
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
[CI] Use separate Docker cache for each CUDA version #6305
Conversation
One small typo ended up costing a lot of test time, as it turns out. The |
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.
I confess I don't understand what's happening. Approving as long as it fixes the issue.
The ci_build.sh needs to be cleaned up for legibility and clarity. I will create a follow-up issue for this.
When you are on this, can we use a script like Python instead of sh?
It has to do with how we currently "cache" Docker containers, as re-building containers at every job would be very expensive. The way we cache them is to push previously built container images to a private repository (Elastic Container Repository from AWS), and then re-use the pre-built images for later testing jobs.
CircleCI has a good article about Docker caching and how it speeds up CI: https://circleci.com/docs/2.0/docker-layer-caching/ So what went wrong? The caching will only work if the previous build uses the same build |
That's an excellent idea. We can avoid lots of potential bugs with string manipulation. |
Note that the CI is now building new containers because we changed the name of the registry 🤦 . We are already running close to the budget limit. I might want to temporarily lift budget limit for today. |
Temporarily raised the budget limit to 100 USD for today. hcho3/xgboost-devops@2541b74 |
Closes #6301. This will greatly reduce the number of times the Docker container images are re-built.
#6202 introduced a subtle bug that pushed all GPU containers to the same registry
xgb-ci.gpu
, regardless of their CUDA version used. With this patch, GPU containers will be pushed to appropriate registries that are labeled with CUDA versions:xgb-ci.gpu10.0
,xgb-ci.gpu10.2
, andxgb-ci.gpu11.0
.