-
Notifications
You must be signed in to change notification settings - Fork 153
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
indexmap
is rebuilt on every cargo
run
#123
Comments
Are you perhaps using |
We do use Nix for reproducible builds, so it may well be using |
Yeah we do use --remap-path-prefix |
Thanks for providing so much good information in the bug report. |
FYI, bumping the dependency to Thanks a lot for the quick fix (and point release). |
Avoids rebuilding every time (indexmap-rs/indexmap#123)
Avoids rebuilding every time (indexmap-rs/indexmap#123)
From what I can tell, the changes in #106 caused one of our CI jobs' run times to shoot up from ~23 minutes (while depending on
indexmap 1.1.0
) to 1 1/2 - 2 hours (about 4x, while depending onindexmap 1.3.2
).Due to the shortcomings of
cargo
we need to run it 4 times in succession to cover all bases:Normally this is not an issue, as the
cargo build
at the top usually builds everything, the next two are no-ops, and the last one again doesn't need to build anything, only run the tests. But after bumpingindexmap
to1.3.2
inCargo.lock
, suddenly each of thosecargo
commands first starts rebuildingindexmap
and then everything that depends on it, essentially doing the exact same thing 4 times.AFAICT that is because of the use of
autocfg
inbuild.rs
. Every timecargo
is run, it thinksindexmap
has been modified and rebuilds it. Which in turn causes everything that depends on it to be rebuilt. Although nothing at all has changed.I don't have a solution and I've already spent way too much time tracking this down and finding a workaround (rolled back
indexmap
to1.2.0
), but it would be great if you could find a way to convincecargo
that nothing has changed and it doesn't need to rebuildindexmap
every single time.(BTW, this is not only an issue for CI, any local build or test run will also start by rebuilding
indexmap
and go from there.)The text was updated successfully, but these errors were encountered: