Skip to content

Add a lint to keep internal/external Vela versions in sync #21443

Description

@rascani

Problem

The Vela version is declared in three places that can drift apart, and currently do: executorch/backends/arm/PACKAGE (internal override), backends/arm/requirements-arm-ethos-u.txt (5.1.0), and pyproject.toml. Nothing keeps them consistent, so a silent mismatch is a latent "works here, breaks there."

What to do

Add a soft lint that checks the three pins against each other. It must be advisory, not blocking: the gap is intentional today, and there are transient windows during an in-flight import where the files legitimately disagree. Normalize the two version grammars (Buck 5.0.0._git_… / v2026.05.0 vs pip 5.1.0 / 2026.5.0) and encode the allowed internal-vs-OSS exception (with a documented reason and tracking task). Because arm/PACKAGE is visible in open source, its drift from the OSS pin is also a signal that we should trigger a pre-merge import.

Steps

  • Parse and normalize the pins in the three files.
  • Encode the allowed internal-vs-OSS exception (documented reason + tracking task).
  • Make it advisory — warn, never block the DiffTrain or the merge queue.
  • Emit an "import due" signal when arm/PACKAGE diverges from the OSS pin.

Done when

The three pins cannot silently diverge without a warning, and an intended divergence is documented rather than flagged as an error.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

Status
Ready

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions