>>> A better solution would be to have in-tree metadata files providing
>>> subscription rules for code review (e.g. a mapping of usernames to a list
>>> of patterns matching files). Module owners would be responsible for
>>> reviewing changes to these rules to ensure that automatic delegation
>>> happens to the correct people.
>> I still don't believe this would work well in practice.  It would work,
>> but would have frequent problem cases and often require a lot of updating.
>at the end of the day tooling needs to ensure that reviewer has the
>authority to approve changes.

Well, that's an assertion.  I'm not sure that the tools *needs* to do
more to ensure it than today; I believe that some people believe it
*should* do more.  And perhaps they're right.

>i don't think the issues you've raised are show stoppers; it's certainly a
>system we will iterate on over time.
>keep in mind _how_ we work is also something we should be iterating on too.

Agreed.  And if something can work better, great; but I'm also leery of
adding a lot of process or gatekeepers, especially when you need to
touch a module with few official peers, who might not be available when
you need a rubber stamp of a nit fix.  (Initial review has nits; revise,
now the reviewer is on PTO or simply away for the weekend or a holiday
and you have a big landing gated on this, or a sec issue, or will miss a
release if you can't land before uplift/soft-freeze, etc, etc, etc)

An alternative is more guidelines (and training, especially for new
devs) for reviewers/peers/devs to follow, and deal with any oversteps on
a case-by-case basis, and if there are continual issues then add
enforced process.  Right now it's kinda learn-by-watching-other-devs -
which works, but makes it hard to be sure you learned the right things.

>the current system is extremely coarse - everyone with scm-level-3 can
>approve any change tree-wide.
>there is a strong desire to make this finer grained

I believe that; though I'd be interested to know with who, the reasons,
and the observed problems, and what other solutions have been
considered.  Of course, I don't need to know these; I'm just interested
as while I've seen occasional fubars, I haven't seen persistent problems
that would require that (especially over improved guidelines).  Also,
for example, one could add these gate-checks with overrides that devs
can use at their discretion (like for nits).

I'm sure added checks can avoid some fubars - but I'm also sure it will
cause added friction to development, extra load on some people, and slow
some things down.

>> [snip]
>> Some modules (i.e. DOM) already to have a hard requirement for peer
>> review.  That should be continued and should be enforced as it is now,
>> and it sounds like Lando will (does?) support that.  If another module
>> wants to enforce it we can flip a bit in the list of peers and have it
>> enforced.
>the enforcement you're referring to is controlled by a hardcoded list of
>peers inside a mercurial hook.
>
>this doesn't scale anywhere close to our needs, and all of the exact same
>concerns you raise with regards to in-tree ownership tracking applies
>(however it would be worse as it's imposed by a system separate from the
>review/landing tooling).

Agreed.  Moving those to in-tree lists is certainly a win over current.


-- 
Randell Jesup, Mozilla Corp
remove "news" for personal email
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to