-
Notifications
You must be signed in to change notification settings - Fork 200
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.lock to make the project reproducible #229
Comments
It don't think we should: rust-lang/cargo#315 Librairies need to not have Cargo.lock afaik so that ultimate binaries can get better resolution. |
As |
It is both. We could freeze the |
That will be enough to serve our purpose. Will this lockfile be kept up-to-date as the project evolves? |
Yes. If it becomes annoying (Because of constant modifications to it) we could keep it only for the released branches, which I think would be enough. |
`Cargo.lock` files were added in huggingface#229 and then removed about a month later in huggingface#253 (with the justification that "cargo.lock messes up benchmarks"). Shortly after, the Rust project guidance was updated to encourage committing lockfiles: https://blog.rust-lang.org/2023/08/29/committing-lockfiles.html https://doc.rust-lang.org/cargo/faq.html#why-have-cargolock-in-version-control rust-lang/cargo#8728 Let's add the lockfiles back to make builds reproducible and deterministic, especially for consumers of Python bindings.
Building the project at two different times of day may produce very different results, because the project is not storing a lock file, and it is in the
.gitignore
. It would be helpful for projects like my own which attempt to make incredibly complex generative AI software more reproducible (https://nixified.ai) if you did this.The text was updated successfully, but these errors were encountered: