-
Notifications
You must be signed in to change notification settings - Fork 45
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
Use cargo hakari to automate workspace-hack #2472
Conversation
@@ -0,0 +1,2 @@ | |||
// A build script is required for cargo to consider build dependencies. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shouldn't this also include the license header?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's an empty file that must remain empty. I don't think license header adds any value to that.
@@ -0,0 +1 @@ | |||
// This is a stub lib.rs. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same for this file
This PR integrates workspace-hack (via [cargo hakari](https://crates.io/crates/cargo-hakari)), this fixes the huge space amplification that we had with rocksdb builds, and it building/checking individual crates becomes significantly faster after the initial build. The cost of this: - Slightly longer initial build time (but I didn't really notice much difference on my machine) - I removed io-uring optional feature (easy to add back when we decide to give it another try) from rocksdb - After adding new third-party dependencies, make sure you run `cargo hakari generate`, don't worry, CI will catch if you didn't. This is a non-destructive change, and running with `cargo hakari` disable should still work if this is needed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Very very cool. Works for me locally, and I see no reason why this would impact CI as the tool is not needed at build time. Thank you!!
This is great, @AhmedSoliman! Works great for me as well. On my machine,
Compared to
I noticed that unrelated to your change, we no longer need the special-case target dir for test targets in the just file, as switching between |
This PR integrates workspace-hack (via cargo hakari), this fixes the huge space amplification that we had with rocksdb builds, and it building/checking individual crates becomes significantly faster after the initial build.
The cost of this:
cargo hakari generate
, don't worry, CI will catch if you didn't.This is a non-destructive change, and running with
cargo hakari
disable should still work if this is needed.