On 25.01.19 14:12, Frederik Gladhorn wrote:
Hi all,

I'd like to start another discussion around our development workflow.
We arrived at our current model of Qt modules (in the git repository sense)
and using qt5.git as a container for all of them through a series of steps and
changes. Mix in the evolution of the testing environment over time and we have
something that has grown in interesting ways.

I will try to describe the problem in this mail. I also have discussed with a
bunch of people (inside The Qt Company) about potential solutions. After
brainstorming and some back and forth, we had five suggestions on a whiteboard
and picked our favorite. In a separate mail I'll try to describe these and
what we concluded with as our favorite. All of this is up for discussion, so
I'm hoping for someone to come up with even better ideas.

In my opinion, I think it would be much easier to merge a bunch of repository together. Maybe modularisation went to far. QtQuick is a very important part of Qt, and therefore it would make sense to merge qtdeclarative into qtbase. Also small repository could go back in qtbase. Of course, I wouldn't want to merge big repository such as qtwebengine into qtbase. IMHO there are these factor that should come into play:
 - How much is that module important for Qt?
 - How big is that module?
- How much of private API is that module using (and is it possible to use less of private API?)
 - ...


I think the "monorepo" is clearly a good approach. And git is evolving with shadow clones and partial checkout. LLVM/Clang recently choose the monorepo approach as it moves to git.


Of one problem is that this will make CI integration slower because each CI run now have to test both qtbase and qtdeclarative tests. We have to say how much this is a problem compared the the simplicity of development.
I'd claim this in some respect, it is actually an advantage, for changes in 
qtcore.
Maybe CI bot could have a simple list of directory that white, or blacklist tests to run depending on the touched directories.

--
Olivier

Woboq - Qt services and support - https://woboq.com - https://code.woboq.org
_______________________________________________
Development mailing list
Development@qt-project.org
https://lists.qt-project.org/listinfo/development

Reply via email to