[Development] Solutions for ensuring that changes in upstream modules are tested with downstream modules before merging

Ulf Hermann ulf.hermann at qt.io
Wed Jun 16 13:20:29 CEST 2021


Hi,

I'd like to remind everyone to the fact that the current dependencies 
model was intentionally chosen for faster iteration during early Qt 6 
development. We _wanted_ to allow breaking things in other modules so 
that we could move on. The breakage was to be fixed later, possibly 
after multiple other changes were in.

Before this, we had a "private API revision" in qtdeclarative, and every 
time we changed something about the private API, the revision had to be 
incremented, then all dependent modules had to receive some #if'ery to 
support both, old and new API revisions, and only then the change could 
be fully integrated. Afterwards, all the #if'ery could be removed again. 
This is obviously not a very efficient way of managing changes.

We may consider the phase of rapid iteration to be over and revert to 
the old model, but that should be a choice, too, not just a side effect 
of some test strategy.

Ulf


More information about the Development mailing list