Skip to content

Improve python/Cargo.lock drifts - CI deps #1887

Description

@djanand

Is your feature request related to a problem or challenge? Please describe what you are trying to do.
python/ is a separate Cargo workspace (excluded from the main one) with its own Cargo.lock, and it path-depends on the main ballista crates. But:

  • Dependabot.yml only manages directory: "/" (the main workspace) there's no /python entry. So every dep bump updates /Cargo.lock and never python/Cargo.lock. Acts like a safety net. It catches any drift regardless of source and stops it landing on main.
  • CI does not catches the drift early, it only surfaces later as the cryptic --locked maturin error.
    So the lock goes stale every time deps move, and the next contributor inherits a red build.

Describe the solution you'd like
A clear and concise description of what you want to happen.

  1. Add a fast CI guard in dependencies.yml - when python Cargo.toml/Cargo.lock change (push + PR), catch a stale python lock on the PR that introduces it, with actionable message.
  2. Add /python to dependabot.yml so its direct deps stay fresh and dep-bump PRs touch both locks:

Describe alternatives you've considered

  • Extend the existing dev/update_ballista_versions.py. The repo already has a script that bumps python's version in lockstep with the workspace. Add a cd python && cargo generate-lockfile step to it (or a sibling dev/ script), so regenerating both locks is one documented command. Pair with fast CI guard to enforce it. This fits the repo's existing conventions perhaps.

Additional context
Add any other context or screenshots about the feature request here.
Build Failure ex: link

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions