-
Notifications
You must be signed in to change notification settings - Fork 2.7k
Description
I have a workspace repository with several crates in it (> 10). A clean build of all of them takes about 10 minutes on Travis, which is why I want to cache the target/ folder.
The problem is, the target folder gets quite big (~ 1.7GB) so it takes also about 3 minutes to upload the cache to S3 after the build.
The question is: How can I clean the target folder from any artifacts generated by my own code?
If I can achieve that, then the target folder would only have the artifacts of all the dependencies in it. As long as they don't change, Travis would not have to re-upload the cache. At the same time, rebuilding only the workspace crates takes only 30 seconds.
I have already tried several things:
cargo clean -pfor every workspace package- Delete all files in
targetthat mention a workspace crate's name
None of the above were enough in order to get the target folder into a state where NOTHING changes between two builds.
I couldn't really understand the layout of the target folder: The artifacts of dependencies seem to be mixed up with those of the workspace crates. Is there some documentation available on how the target folder is structured?