Skip to content
This repository has been archived by the owner on Mar 23, 2021. It is now read-only.

Investigate caching on travis to improve build times #189

Closed
thomaseizinger opened this issue Jul 30, 2018 · 3 comments
Closed

Investigate caching on travis to improve build times #189

thomaseizinger opened this issue Jul 30, 2018 · 3 comments
Assignees

Comments

@thomaseizinger
Copy link
Contributor

thomaseizinger commented Jul 30, 2018

At the moment, we cache several things on travis:

  • $HOME/.rustup (Rust installation)
  • target/ (Compiled binaries from last build)
  • $HOME/.cargo (Downloaded dependencies)

We should run some investigation if all of that actually improves the build time on travis. At the moment, our cache is about 1.5 GB in size, which takes quite a time to up and download. (2.5 minutes)

Things to try out:

  • Clean build artifacts of workspace crates only (cargo clean -p for all workspace members)

    Doesn't work because cargo clean -p doesn't clean all files generated for a particular crate.

  • Not caching Rust installation

  • Using Travis cache only for the Rust installation + downloaded dependencies AND cache the target folder on Google Cloud Storage using rsync (https://cloud.google.com/storage/docs/gsutil/commands/rsync)

@thomaseizinger
Copy link
Contributor Author

thomaseizinger commented Aug 14, 2018

@bonomat Could you please create a "service-user" or however these things are called on GCS? I would like to experiment with caching "manually" by syncing the target folder to Google Cloud Storage.

I basically need the same thing as for the log-storage.

@bonomat
Copy link
Member

bonomat commented Aug 14, 2018

I'm not sure if GCS should be used in this case. Each build would cost us a few cents then

@thomaseizinger
Copy link
Contributor Author

Could you nevertheless create an account? I would like to play around with it on Friday to see the impact!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants