pytorch / pytorch/executorch

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

Open
#21,443 0 comments 0 reactions 1 assignee View on GitHub

@rascani is already working on this.

Since Jul 28, 2026.

enhancement module: arm module: ci partner: arm
Dominant language
Python
Stars
5k
Forks
1.2k
Avg merge
2d 10h
Merged PRs (30d)
581

Description

Problem

The Vela version is declared in three places that can drift apart, and currently do: fbcode/executorch/backends/arm/PACKAGE (internal override, 5.0.0._git_0f8edf7), backends/arm/requirements-arm-ethos-u.txt (5.1.0), and oss/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, never blocking — the patched-5.0-vs-vanilla-5.1 gap is intentional today, and there are transient windows during an in-flight DiffTrain 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 the natural signal that a Meta engineer should start an import — wire that as a notification.

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.

Notes

Many other internal consumers also pin Vela (see D109589808); converging all of them onto one shared pin is a separate migration, out of scope here.

cc @digantdesai @freddan80 @per @zingo @oscarandersson8218 @mansnils @Sebastian-Larsson @robell

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.