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

cache on OS X always rebuilds the hashdeep #6368

Closed
nagisa opened this issue Jul 27, 2016 · 8 comments
Closed

cache on OS X always rebuilds the hashdeep #6368

nagisa opened this issue Jul 27, 2016 · 8 comments

Comments

@nagisa
Copy link

nagisa commented Jul 27, 2016

For a project with caching enabled hashdeep is always downloaded and built resulting in 2-3 extra minutes of build time. Maybe hashdeep should be pre-installed?

@BanzaiMan
Copy link
Contributor

Do you have a build log URL that shows the problem you are describing here?

@nagisa
Copy link
Author

nagisa commented Jul 27, 2016

I indeed do. 1 (raw), 2 (raw), 3 (raw)…

The relevant (undesired) download/compile happens in cache.cargo fold, where it clearly shows travis downloading https://github.com/jessek/hashdeep/archive/release-4.4.tar.gz, then running sh bootstrap.sh, ./configure --prefix=/usr/local/Cellar/md5deep/4.4 and finally make install.

@BanzaiMan
Copy link
Contributor

BanzaiMan commented Jul 27, 2016

It seems to me that it is working as you indicated in the configuration.

If ~/.cargo is caching more than you like—indeed, some of them appears to be .git directories (https://travis-ci.org/nagisa/rust_libloading/jobs/147849693#L149-L160), presumably because you are using a git checkouts as you dependencies and they change often—then you need to account for such frequent changes when you cache those. You can use the before_cache phase to do that.

I don't think there is anything to do on our side.

@nagisa
Copy link
Author

nagisa commented Jul 27, 2016

I think it should not download hashdeep, build or install it on every build. Linux builders do not do that.

@nagisa
Copy link
Author

nagisa commented Jul 27, 2016

I’m not unsatisfied with what is being cached either. I think this should be reopened.

Should I try clarifying what the issue is again?

@BanzaiMan
Copy link
Contributor

BanzaiMan commented Jul 27, 2016

hashdeep is downloaded probably because it is a dependency of md5deep, which we require to compute md5 checksums of the files to cache.

It is not very clear to me why your job is installing md5deep. I can't reproduce it with my repo (https://travis-ci.org/BanzaiMan/travis_production_test/builds/147892105#L54; https://travis-ci.org/BanzaiMan/travis_production_test/builds/147894200). Most OS X images should have it pre-installed, but if it's not, it will. Without it, we will rely on timestamps to check whether or not files are updated. This can lead to many false positives, and unnecessarily uploads.

I do not think we would be updating OS X images that do not have md5deep, though.

As for the cache content, as documented in https://docs.travis-ci.com/user/caching/#Rust-Cargo-cache, cache: cargo means:

This caches $HOME/.cargo and $TRAVIS_BUILD_DIR/target.

This was born out of the discussion in #4470.

If you do not like what's being cached, you can always override it with cache.directories.

@BanzaiMan
Copy link
Contributor

We should identify under which conditions hashdeep gets rebuilt.

@BanzaiMan BanzaiMan reopened this Jul 27, 2016
@BanzaiMan BanzaiMan added the mac label Jul 28, 2016
@stale
Copy link

stale bot commented Apr 14, 2018

Thanks for contributing to this issue. As it has been 90 days since the last activity, we are automatically closing the issue. This is often because the request was already solved in some way and it just wasn't updated or it's no longer applicable. If that's not the case, please do feel free to either reopen this issue or open a new one. We'll gladly take a look again! You can read more here: https://blog.travis-ci.com/2018-03-09-closing-old-issues

@stale stale bot added the stale label Apr 14, 2018
@stale stale bot closed this as completed Apr 15, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants