-
Notifications
You must be signed in to change notification settings - Fork 0
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
include Cargo.lock? #19
Comments
Ok, so in #24 we've got a check to make it more visible when we unintentionally modify the Cargo.lock, but it also sounds like that's not the expected behavior: Maybe we modify the check to pass if the PR has a certain label1? I suspect it'll come up for #18 because those will likely modify Cargo.lock without touching Cargo.toml, but we'll want the CI to pass them anyway (or, at least, not fail them for that reason). Footnotes
|
Three facts about cargo I learned via that discussion thread:
Additionally, Cargo offers two strategies for dependency resolution: Minimal Versions: pick the "leftmost" end of the range wherein each major version's requirements are satisfied. Optional, can be invoked on a command-by-command basis with Notably, neither strategy unifies major versions: only two dependencies on the same major version may conflict. If, say, one requires a package version Finally, Footnotes
|
I've observed that we're currently gitignoring
Cargo.lock
:esp32c3-vgaterm/.gitignore
Line 2 in 44b82a8
As a big fan of deterministic builds, this seems unfortunate to me. To wit:
Feels like a useful thing to have, so we can be relatively sure about consistently reproducing results. I think we're both big fans of not constantly fighting over noisy changes, but perhaps the frame shift here is "any commit that does not intentionally update a dependency ought not contain a different Cargo.lock from its parent"? Do we know what kinds of nondeterminism we're exposed to, here? Obviously there's gonna be "semver nonsense", but I think the path there would be to pin all of our dependencies that "flux" to a particular version (and implement #18 so they don't get stale).
NB: this might be related to #14 , I'm not sure if that's a source of (this kind of) nondeterminism or not.
The text was updated successfully, but these errors were encountered: