[webkit-dev] Deployment of new EWS Non-Unified builder

Kirsling, Ross Ross.Kirsling at sony.com
Fri Jun 3 17:36:18 PDT 2022

"Supported configurations" may indeed be too tricky of a concept to pin down, but I believe Diego explained quite thoroughly how the central issue here would be every bit as relevant in a world where we only care about standard Mac builds.

If FooBar.cpp and FooBaz.cpp need the same 10 includes, then we may be able to omit all 10 of them from FooBaz.cpp and still get the unified build to pass. Now, a complete lack of includes might cause a reviewer to raise an eyebrow, but missing a few is likely to go unnoticed...until months later, when someone working on an totally unrelated patch gets bitten (e.g. by trying to add a Blah.cpp that shifts everything after it).

The fact is that "oops, I missed an include" is a one-second fix for the original patch author, while it could well be a one-hour fix for someone lacking the appropriate context (just think about the inscrutable error output that comes from missing an *Inlines.h). This would be quite a frustrating hour too, since it has nothing to do with the work they meant to be doing.

Without a bot to verify includes on each patch, an author cannot be blamed for missing a few; this has been our status quo, but it is not a state we are in by choice—on the contrary, it is a technical debt that this community has carried for five whole years. We should be excited to see this debt paid at last.


On 6/3/22, 4:19 PM, "Darin Adler via webkit-dev" <webkit-dev at lists.webkit.org> wrote:

    Here’s my view:

    Long ago we agreed that we’ll ask WebKit contributors to keep builds working that have EWS bots, and not other configurations. As far as I can tell, nothing has changed that invalidates that strategy and we should stick with it.

    I do not agree that the statement that “all projects must build under all supported configurations” applies to WebKit. We don’t even have a concept of “supported configurations” to build that policy on. This has not been a project goal in the past and I suggest we do not add this project goal.

    We should continue to use the Early Warning System to define which configurations must be kept working by all contributors, with anything beyond being treated as a stretch goal.

    And we should continue to accept patches to fix various configurations that people want to keep working that are not checked by EWS. But we absolutely should not ask contributors to keep all possible combinations working.

    — Darin
    webkit-dev mailing list
    webkit-dev at lists.webkit.org

More information about the webkit-dev mailing list