Skip to content
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

Nothing builds on OSX Build boot-up time is so slow #830

Closed
Lnaden opened this issue Nov 21, 2017 · 7 comments
Closed

Nothing builds on OSX Build boot-up time is so slow #830

Lnaden opened this issue Nov 21, 2017 · 7 comments

Comments

@Lnaden
Copy link
Contributor

Lnaden commented Nov 21, 2017

See the example here from OpenMMTools 0.13.3 (#829)
https://travis-ci.org/omnia-md/conda-recipes/jobs/305290738

The time it takes to boot up the Travis worker, update Brew, install the CUDA toolkit, and install BasicTex, there is not enough time in Travis left to actually build and run anything. Splitting the jobs up over multiple tasks (e.g. #822) won't work either since each of them would have to go through the whole procedure.

As our OSX builds are currently killed until we fix this, ideas would be good for how to fix this problem

@Lnaden
Copy link
Contributor Author

Lnaden commented Nov 21, 2017

One option: can we get rid of updating brew? Right now we uninstall brew-cask, untap the caskroom, then update brew, then re-install brew-cask. Based on the raw log of the linked travis log:

brew update -y --quiet

==> Downloading https://homebrew.bintray.com/bottles-portable/portable-ruby-2.3.3.leopard_64.bottle.1.tar.gz

{Downloading Stuff}

==> Pouring portable-ruby-2.3.3.leopard_64.bottle.1.tar.gz

Updated 3 taps (caskroom/cask, homebrew/core, homebrew/versions).

�[34m==>�[0m �[1mNew Formulae�[0m

That last line indicates to me that this step takes 34 min, which is most of our time. although I could be wrong

The Nvidia Toolkit can also be 10+ min as its download used to time out the builds until I put in #829 which changed it from a quiet download to a progress bar download with -# just so the terminal does not go silent. Not sure ow to fix that since we can't use Docker with Travis OSX images at the moment, and probably won't happen, I can't find any additional mirrors either.

@jchodera
Copy link
Member

We can cache the NVIDIA toolkit file in a directory. You can follow the directions here. That might buy us enough time.

@jchodera
Copy link
Member

We can also add the brew cache to travis caches, which may save time in subsequent updates:
https://stackoverflow.com/questions/39930171/cache-brew-builds-with-travis-ci

@Lnaden
Copy link
Contributor Author

Lnaden commented Nov 21, 2017

Interesting, wont that make the GitHub repo huge though?

@jchodera
Copy link
Member

The way travis caching works is that you put a few lines in .travis.yml to grab a copy of the file from a local worker cache directory or, if it doesn't exist, download and stash a copy there. Travis has syntax to specify which directory to persist. It isn't guaranteed, but it will try to do so if possible.

Nothing would be added to the github repo.

@jchodera
Copy link
Member

I did this with the old alchemy project, where the $HOME/.cache/alchemy would be persisted if possible and used as a place to store equilibrium simulation data for test systems that would only be simulated if the cache was not available---otherwise, the cached version would be read.

@Lnaden
Copy link
Contributor Author

Lnaden commented Nov 28, 2017

This was alleviated by #835

@Lnaden Lnaden closed this as completed Nov 28, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants