bazelbuild / bazelbuild/rules_rust

Merge-friendly Cargo.Bazel.lock

Open
#2,247 3 comments 2 reactions 0 assignees View on GitHub
needs-triage
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.