bazelbuild / bazelbuild/rules_rust
Merge-friendly Cargo.Bazel.lock
- Dominant language
- Starlark
- Stars
- 843
- Forks
- 651
- Avg merge
- 2d 18h
- Merged PRs (30d)
- 15
Description
Hey 👋
Working on a large monorepo with hundreds of Rust crates, we're seeing almost constant merge conflicts on the Cargo.Bazel.lock file. For instance, the checksum will always conflict as soon as a dependency changes.
This can lead to frustrating outcomes where you have to chain updates to Cargo.Bazel.lock during the lifetime of a PR, as other PRs get merged that also touch the lockfile. Furthermore, since Github Actions will not run workflows on PRs with [merge conflicts](https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request), one *must* always keep their lockfile conflict-free in order to benefit from CI. For the same reasons, using merge queues is also unfortunately out of the question.
The Cargo.lock format was [recently updated](https://github.com/rust-lang/cargo/pull/7070) to optimize it for git merge conflicts. It would be very helpful for Cargo.Bazel.lock to produce as few conflicts as possible.
Contributor guide
Assessment
This issue has not been assessed yet.