Closed Bug 1849322 Opened 1 year ago Closed 1 year ago

Add checks to ensure people don't land things that make `./mach vendor rust` non-idempotent

Categories

(Developer Infrastructure :: Mach Vendor & Updatebot, defect)

defect

Tracking

(firefox-esr102 unaffected, firefox-esr115 unaffected, firefox116 unaffected, firefox117 unaffected, firefox118 fixed)

RESOLVED FIXED
Tracking Status
firefox-esr102 --- unaffected
firefox-esr115 --- unaffected
firefox116 --- unaffected
firefox117 --- unaffected
firefox118 --- fixed

People

(Reporter: glandium, Assigned: glandium)

References

(Depends on 1 open bug, Blocks 1 open bug, Regression)

Details

(Keywords: regression)

Attachments

(1 file)

+++ This bug was initially created as a clone of Bug #1628852 +++

A number of times I've seen stuff (rust crate updates) get landed in such a way that somebody who checks out the repo and runs ./mach vendor rust ends up with a dirty tree. Recent examples are here and here. I think we should enforce the fact that ./mach vendor rust should produce zero changes on a clean tree, because otherwise it can complicate things for others trying to do crate updates.

I don't know if it would be better to do this as a lint on phabricator or a job in CI or what, but it should probably make heavy use of network caching because running ./mach vendor rust on every push will trigger a lot of network activity.

Also note that different versions of cargo and/or cargo-vendor may have differences in behaviour, so there should be a "blessed" version that people can use to match what happens in CI.

Some context: bug 1628852 evolved towards having infrastructure that would generate the vendoring patch from Cargo.toml/Cargo.lock changes. I'm not sure we'll eventually do that, but the original problem still exists, and currently third_party/rust/mp4parse is not idempotent.

Type: task → defect
Keywords: regression
Regressed by: 1848033
Pushed by mh@glandium.org: https://hg.mozilla.org/integration/autoland/rev/a9e4cf5908c0 Add checks to ensure people don't land things that make `./mach vendor rust` non-idempotent. r=firefox-build-system-reviewers,ahochheiden
Status: NEW → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: