uptake / uptasticsearch

An Elasticsearch client tailored to data science workflows.
BSD 3-Clause "New" or "Revised" License
48 stars 36 forks source link

Travis builds are 1hr+ #139

Open jameslamb opened 5 years ago

jameslamb commented 5 years ago

Our Travis builds these days take around an hour to complete: https://travis-ci.org/UptakeOpenSource/uptasticsearch/builds

Each individual build (one combination of ES version + language) takes around 10 mins to complete. Right now we're spinning up different VMs for each combination of ES version + language, however I think we could actually figure out a much smarter way to do this.

In the past @ngparas had docker-compose'd up a bunch of different ES versions running as different services side-by-side. We had originally NOT done that in our CI because we didn't know how to use docker with Travis. But now I've messed around with it and it's possible:

https://docs.travis-ci.com/user/docker/#using-docker-compose

I think an approach that would cut down our times a lot without sacrificing coverage of integration points could be:

jameslamb commented 5 years ago

Another idea we could try....we could figure out how to use Travis to do releases and then say:

jameslamb commented 5 years ago

Should also clarify that our R BUILDS are around 10mins each. Python is closer to like 1 minute each. This is just because there are a TON of packages you have to install to setup CI for R :/ plus devtools recursively installs all suggests unless you're really careful.

So it's possible we could look more closely at our install.packages() calls and figure out how to reduce the number of packages being installed.