-
Notifications
You must be signed in to change notification settings - Fork 13
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
Figure a way to not rebuild everything #1
Comments
One (hacky) way to fix this would be to move existing cargo files to somewhere else and then back after just before command ends. |
I was personally thinking about setting up a PPA which builds I've never done anything with PPA's but I guess this could be useful for a whole bunch of people. Because 15-20 minutes build time for my crate kinda sucks 😞 |
@spacekookie this is a different issue. For what you're talking about (the fact we have to build kcov and this crate), look at #11 and #17. Basically the solution is |
#52 would help but not fix this. While using the same cargo version brings us a step closer to being able to reuse artifacts, it is still not possible yet because of our use of RUSTFLAGS. Cargo will consider builds with different RUSTFLAGS as not being "compatible", and as such not reuse the artifacts. The RUSTFLAGS munging is done to link dead code and inject debuginfo in release builds. There's a pretty easy way to inject the flag: Using The same trick seems to work for injecting debuginfo, surprisingly. I expected doing this wouldn't get the intended behavior, because debuginfo needs to be generated for the crate and all of its dependencies. But I suppose cargo always builds with debuginfo, and only strips them at the end, since doing One fairly big downside is that |
This crate specifies a cargo version (0.13) in order to use its internal state instead of relying on stdout/stderr and hoping its output format stays the same.
This causes problems, however, since versions of cargo are not compatible with eachother. Meaning if, with cargo 0.12 installed, I did a
cargo build
followed by acargo coverage
, thecoverage
will trash all the work done by thebuild
and recompile the world. This is because cargo versions are incompatible.This wouldn't be a problem if I could specify the cargo version. But across releases, cargo versions are wildly incompatible.
It'd be nice if cargo had a stable core we could build tooling with.
The text was updated successfully, but these errors were encountered: